diff options
author | Anders Carlsson <andersca@mac.com> | 2009-08-08 23:24:23 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-08-08 23:24:23 +0000 |
commit | b8be93fc92c684a331a1ad40b30c77de3c18a67a (patch) | |
tree | f27bb74a30944cd5ce4ab45f693f6cf96e84e7e3 /clang/lib/CodeGen/CodeGenModule.h | |
parent | cfed3005e5c9d8ff26ee53ef4f9e459a2106c11d (diff) | |
download | bcm5719-llvm-b8be93fc92c684a331a1ad40b30c77de3c18a67a.tar.gz bcm5719-llvm-b8be93fc92c684a331a1ad40b30c77de3c18a67a.zip |
Add support for global initializers.
llvm-svn: 78515
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h index 3aa015a99f7..923b6d204c6 100644 --- a/clang/lib/CodeGen/CodeGenModule.h +++ b/clang/lib/CodeGen/CodeGenModule.h @@ -173,6 +173,10 @@ class CodeGenModule : public BlockModule { llvm::StringMap<llvm::Constant*> CFConstantStringMap; llvm::StringMap<llvm::Constant*> ConstantStringMap; + /// CXXGlobalInits - Variables with global initializers that need to run + /// before main. + std::vector<const VarDecl*> CXXGlobalInits; + /// CFConstantStringClassRef - Cached reference to the class for constant /// strings. This value has type int * but is actually an Obj-C class pointer. llvm::Constant *CFConstantStringClassRef; @@ -444,6 +448,9 @@ private: /// a C++ destructor Decl. void EmitCXXDestructor(const CXXDestructorDecl *D, CXXDtorType Type); + /// EmitCXXGlobalInitFunc - Emit a function that initializes C++ globals. + void EmitCXXGlobalInitFunc(); + // FIXME: Hardcoding priority here is gross. void AddGlobalCtor(llvm::Function *Ctor, int Priority=65535); void AddGlobalDtor(llvm::Function *Dtor, int Priority=65535); |