From 1425b4556a9b97e5b1cbca441ee08bee151fdb9f Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Thu, 26 Jan 2012 03:33:36 +0000 Subject: Use function pointers, rather than references, to pass Destroyers around, in the process cleaning up the various gcc/msvc compiler workarounds. llvm-svn: 149036 --- clang/lib/CodeGen/CGBlocks.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'clang/lib/CodeGen/CGBlocks.cpp') diff --git a/clang/lib/CodeGen/CGBlocks.cpp b/clang/lib/CodeGen/CGBlocks.cpp index e6ecb6a88bc..c6d5be059c9 100644 --- a/clang/lib/CodeGen/CGBlocks.cpp +++ b/clang/lib/CodeGen/CGBlocks.cpp @@ -535,9 +535,9 @@ static void enterBlockScope(CodeGenFunction &CGF, BlockDecl *block) { // Block captures count as local values and have imprecise semantics. // They also can't be arrays, so need to worry about that. if (dtorKind == QualType::DK_objc_strong_lifetime) { - destroyer = &CodeGenFunction::destroyARCStrongImprecise; + destroyer = CodeGenFunction::destroyARCStrongImprecise; } else { - destroyer = &CGF.getDestroyer(dtorKind); + destroyer = CGF.getDestroyer(dtorKind); } // GEP down to the address. @@ -554,7 +554,7 @@ static void enterBlockScope(CodeGenFunction &CGF, BlockDecl *block) { cleanupKind = InactiveNormalAndEHCleanup; CGF.pushDestroy(cleanupKind, addr, variable->getType(), - *destroyer, useArrayEHCleanup); + destroyer, useArrayEHCleanup); // Remember where that cleanup was. capture.setCleanup(CGF.EHStack.stable_begin()); -- cgit v1.2.3