aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-08-09 17:23:49 +0000
committerDouglas Gregor <dgregor@apple.com>2011-08-09 17:23:49 +0000
commit636e200675277d09c4a09b31552cca9341b515e2 (patch)
treee639d488918199b7c2439a66ac60b2c6abc228b7 /clang/lib/CodeGen/CodeGenModule.h
parentda96006975eaf438ecec4c245a0b521c08ea594d (diff)
downloadllvm-636e200675277d09c4a09b31552cca9341b515e2.zip
llvm-636e200675277d09c4a09b31552cca9341b515e2.tar.gz
llvm-636e200675277d09c4a09b31552cca9341b515e2.tar.bz2
Move the creation of the record type for the state of Objective-C fast
enumerations from the ASTContext into CodeGen, so that we don't need to serialize it to AST files. This appears to be the last of the low-hanging fruit for SpecialTypes. llvm-svn: 137124
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h
index 56ff68c..076c29c 100644
--- a/clang/lib/CodeGen/CodeGenModule.h
+++ b/clang/lib/CodeGen/CodeGenModule.h
@@ -300,6 +300,10 @@ class CodeGenModule : public CodeGenTypeCache {
/// \brief The LLVM type corresponding to NSConstantString.
llvm::StructType *NSConstantStringType;
+ /// \brief The type used to describe the state of a fast enumeration in
+ /// Objective-C's for..in loop.
+ QualType ObjCFastEnumerationStateType;
+
/// @}
/// Lazily create the Objective-C runtime
@@ -566,6 +570,10 @@ public:
const char *GlobalName=0,
unsigned Alignment=1);
+ /// \brief Retrieve the record type that describes the state of an
+ /// Objective-C fast enumeration loop (for..in).
+ QualType getObjCFastEnumerationStateType();
+
/// GetAddrOfCXXConstructor - Return the address of the constructor of the
/// given type.
llvm::GlobalValue *GetAddrOfCXXConstructor(const CXXConstructorDecl *ctor,