diff options
| author | John McCall <rjmccall@apple.com> | 2011-03-31 08:03:29 +0000 |
|---|---|---|
| committer | John McCall <rjmccall@apple.com> | 2011-03-31 08:03:29 +0000 |
| commit | f9b056b00282cda5f0e5bd41a0f768e324f5f26f (patch) | |
| tree | 9c3b7e6a6187298cc6bf7308d68b16c0661875dd /clang/lib/CodeGen/CodeGenFunction.h | |
| parent | 8e4ed855208ff833acee3091d36f89fa59102c9a (diff) | |
| download | llvm-f9b056b00282cda5f0e5bd41a0f768e324f5f26f.zip llvm-f9b056b00282cda5f0e5bd41a0f768e324f5f26f.tar.gz llvm-f9b056b00282cda5f0e5bd41a0f768e324f5f26f.tar.bz2 | |
After much contemplation, I've decided that we probably shouldn't "unique"
__block object copy/dispose helpers for C++ objects with those for
different variables with completely different semantics simply because
they happen to both be no more aligned than a pointer.
Found by inspection.
Also, internalize most of the helper generation logic within CGBlocks.cpp,
and refactor it to fit my peculiar aesthetic sense.
llvm-svn: 128618
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
| -rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index 10f279e..f3b00e3 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -1107,13 +1107,6 @@ public: llvm::Constant *GenerateCopyHelperFunction(const CGBlockInfo &blockInfo); llvm::Constant *GenerateDestroyHelperFunction(const CGBlockInfo &blockInfo); - llvm::Constant *GeneratebyrefCopyHelperFunction(const llvm::Type *, - BlockFieldFlags flags, - const VarDecl *BD); - llvm::Constant *GeneratebyrefDestroyHelperFunction(const llvm::Type *T, - BlockFieldFlags flags, - const VarDecl *BD); - void BuildBlockRelease(llvm::Value *DeclPtr, BlockFieldFlags flags); class AutoVarEmission; @@ -2182,6 +2175,10 @@ private: } void EmitDeclMetadata(); + + CodeGenModule::ByrefHelpers * + buildByrefHelpers(const llvm::StructType &byrefType, + const AutoVarEmission &emission); }; /// Helper class with most of the code for saving a value for a |
