summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-07-02 11:55:20 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-07-02 11:55:20 +0000
commitdab33c5d33b3d9febfe8a68bfdfbd56df8f95e42 (patch)
treea8974a4850241c60099acf78dbb7f7726a463219 /clang/lib/Frontend
parentee776bcb7a3d6eaafc6d84c7c6c307329e2e77c8 (diff)
downloadbcm5719-llvm-dab33c5d33b3d9febfe8a68bfdfbd56df8f95e42.tar.gz
bcm5719-llvm-dab33c5d33b3d9febfe8a68bfdfbd56df8f95e42.zip
Allow reading of InjectedClassNameType from PCH even when its decl is currently initializing.
llvm-svn: 107473
Diffstat (limited to 'clang/lib/Frontend')
-rw-r--r--clang/lib/Frontend/PCHReader.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Frontend/PCHReader.cpp b/clang/lib/Frontend/PCHReader.cpp
index ecd95057cb1..5941ec0a25a 100644
--- a/clang/lib/Frontend/PCHReader.cpp
+++ b/clang/lib/Frontend/PCHReader.cpp
@@ -2197,7 +2197,10 @@ QualType PCHReader::ReadTypeRecord(uint64_t Offset) {
case pch::TYPE_INJECTED_CLASS_NAME: {
CXXRecordDecl *D = cast<CXXRecordDecl>(GetDecl(Record[0]));
QualType TST = GetType(Record[1]); // probably derivable
- return Context->getInjectedClassNameType(D, TST);
+ // FIXME: ASTContext::getInjectedClassNameType is not currently suitable
+ // for PCH reading, too much interdependencies.
+ return
+ QualType(new (*Context, TypeAlignment) InjectedClassNameType(D, TST), 0);
}
case pch::TYPE_TEMPLATE_TYPE_PARM: {
OpenPOWER on IntegriCloud