summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2009-03-04 15:32:52 +0000
committerMike Stump <mrs@apple.com>2009-03-04 15:32:52 +0000
commitedb252aebae308d3fa413d3be33427d5540fc3af (patch)
treeb11fc75b7312af8b29b415fa9c0e621ee16eec53 /clang/lib/CodeGen/CodeGenModule.h
parent3f49feeed533e334dad7acbd7ac5c55fca359742 (diff)
downloadbcm5719-llvm-edb252aebae308d3fa413d3be33427d5540fc3af.tar.gz
bcm5719-llvm-edb252aebae308d3fa413d3be33427d5540fc3af.zip
Start the migration of more of the blocks code out of sight for most
people. De-duplicates BLOCK_NEEDS_FREE and friends. llvm-svn: 66034
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.h12
1 files changed, 2 insertions, 10 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h
index 21faaa6a09a..05591a5112c 100644
--- a/clang/lib/CodeGen/CodeGenModule.h
+++ b/clang/lib/CodeGen/CodeGenModule.h
@@ -20,6 +20,7 @@
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringSet.h"
+#include "CGBlocks.h"
#include "CGCall.h"
#include <list>
@@ -62,7 +63,7 @@ namespace CodeGen {
/// CodeGenModule - This class organizes the cross-function state that is used
/// while generating LLVM code.
-class CodeGenModule {
+ class CodeGenModule : public BlockModule {
CodeGenModule(const CodeGenModule&); // DO NOT IMPLEMENT
void operator=(const CodeGenModule&); // DO NOT IMPLEMENT
@@ -139,15 +140,6 @@ class CodeGenModule {
/// strings. This value has type int * but is actually an Obj-C class pointer.
llvm::Constant *CFConstantStringClassRef;
- enum {
- BLOCK_NEEDS_FREE = (1 << 24),
- BLOCK_HAS_COPY_DISPOSE = (1 << 25),
- BLOCK_HAS_CXX_OBJ = (1 << 26),
- BLOCK_IS_GC = (1 << 27),
- BLOCK_IS_GLOBAL = (1 << 28),
- BLOCK_HAS_DESCRIPTOR = (1 << 29)
- };
-
/// NSConcreteGlobalBlock - Cached reference to the class pointer for global
/// blocks.
llvm::Constant *NSConcreteGlobalBlock;
OpenPOWER on IntegriCloud