[cfe-commits] r134989 - /cfe/trunk/lib/CodeGen/CGBlocks.cpp

Bill Wendling wendling at apple.com
Tue Jul 12 11:23:37 PDT 2011


It looks like we need this for CGExpr.cpp too?

llvm[4]: Compiling CGExpr.cpp for Release+Asserts build
/Users/void/llvm/llvm-tot.src/tools/clang/lib/CodeGen/CGExpr.cpp: In member function ‘clang::CodeGen::RValue clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(const clang::Expr*, const clang::NamedDecl*)’:
/Users/void/llvm/llvm-tot.src/tools/clang/lib/CodeGen/CGExpr.cpp:481: error: no matching function for call to ‘clang::CodeGen::CodeGenFunction::pushDestroy(clang::CodeGen::CleanupKind&, llvm::Value*&, clang::QualType&, void (*)(clang::CodeGen::CodeGenFunction&, llvm::Value*, clang::QualType), int)’
/Users/void/llvm/llvm-tot.src/tools/clang/lib/CodeGen/CodeGenFunction.h:1176: note: candidates are: void clang::CodeGen::CodeGenFunction::pushDestroy(clang::QualType::DestructionKind, llvm::Value*, clang::QualType)
/Users/void/llvm/llvm-tot.src/tools/clang/lib/CodeGen/CodeGenFunction.h:1178: note:                 void clang::CodeGen::CodeGenFunction::pushDestroy(clang::CodeGen::CleanupKind, llvm::Value*, clang::QualType, void (&)(clang::CodeGen::CodeGenFunction&, llvm::Value*, clang::QualType), bool)
/Users/void/llvm/llvm-tot.src/tools/clang/lib/CodeGen/CGExpr.cpp:489: error: no matching function for call to ‘clang::CodeGen::CodeGenFunction::pushDestroy(clang::CodeGen::CleanupKind, llvm::Value*&, clang::QualType&, void ()(clang::CodeGen::CodeGenFunction&, llvm::Value*, clang::QualType), bool)’
/Users/void/llvm/llvm-tot.src/tools/clang/lib/CodeGen/CodeGenFunction.h:1176: note: candidates are: void clang::CodeGen::CodeGenFunction::pushDestroy(clang::QualType::DestructionKind, llvm::Value*, clang::QualType)
/Users/void/llvm/llvm-tot.src/tools/clang/lib/CodeGen/CodeGenFunction.h:1178: note:                 void clang::CodeGen::CodeGenFunction::pushDestroy(clang::CodeGen::CleanupKind, llvm::Value*, clang::QualType, void (&)(clang::CodeGen::CodeGenFunction&, llvm::Value*, clang::QualType), bool)

-bw


On Jul 12, 2011, at 9:53 AM, John McCall wrote:

> Author: rjmccall
> Date: Tue Jul 12 11:53:04 2011
> New Revision: 134989
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=134989&view=rev
> Log:
> Ugh, use this compiler workaround again.
> 
> 
> Modified:
>    cfe/trunk/lib/CodeGen/CGBlocks.cpp
> 
> Modified: cfe/trunk/lib/CodeGen/CGBlocks.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBlocks.cpp?rev=134989&r1=134988&r2=134989&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGBlocks.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGBlocks.cpp Tue Jul 12 11:53:04 2011
> @@ -633,11 +633,13 @@
> 
>       // Block captures count as local values and have imprecise semantics.
>       // They also can't be arrays, so need to worry about that.
> -      case QualType::DK_objc_strong_lifetime:
> +      case QualType::DK_objc_strong_lifetime: {
> +        // This local is a GCC and MSVC compiler workaround.
> +        Destroyer *destroyer = &destroyARCStrongImprecise;
>         pushDestroy(getCleanupKind(dtorKind), blockField, type,
> -                    destroyARCStrongImprecise,
> -                    /*useEHCleanupForArray*/ false);
> +                    *destroyer, /*useEHCleanupForArray*/ false);
>         break;
> +      }
> 
>       case QualType::DK_objc_weak_lifetime:
>       case QualType::DK_cxx_destructor:
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits





More information about the cfe-commits mailing list