diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-08-09 15:54:21 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-08-09 15:54:21 +0000 |
commit | abf4e0dfcdd8447bc377a93eea61dd3142f10516 (patch) | |
tree | 7903eda3a90388974f37f6614c808bb38399bcd0 /clang/lib/CodeGen/CodeGenModule.h | |
parent | eda8e12e86706b694e6f7a0b744d7683a167798a (diff) | |
download | llvm-abf4e0dfcdd8447bc377a93eea61dd3142f10516.zip llvm-abf4e0dfcdd8447bc377a93eea61dd3142f10516.tar.gz llvm-abf4e0dfcdd8447bc377a93eea61dd3142f10516.tar.bz2 |
Move the construction of the RecordDecl representing the runtime
layout of a constant NSString from the ASTContext over to CodeGen,
since this is solely CodeGen's responsibility. Eliminates one of the
unnecessary "special" types that we serialize.
llvm-svn: 137121
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h index ca72230..56ff68c 100644 --- a/clang/lib/CodeGen/CodeGenModule.h +++ b/clang/lib/CodeGen/CodeGenModule.h @@ -286,6 +286,9 @@ class CodeGenModule : public CodeGenTypeCache { /// run on termination. std::vector<std::pair<llvm::WeakVH,llvm::Constant*> > CXXGlobalDtors; + /// @name Cache for Objective-C runtime types + /// @{ + /// 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; @@ -294,6 +297,11 @@ class CodeGenModule : public CodeGenTypeCache { /// strings. This value has type int * but is actually an Obj-C class pointer. llvm::Constant *ConstantStringClassRef; + /// \brief The LLVM type corresponding to NSConstantString. + llvm::StructType *NSConstantStringType; + + /// @} + /// Lazily create the Objective-C runtime void createObjCRuntime(); |