diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-08-09 15:13:55 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-08-09 15:13:55 +0000 |
commit | eda8e12e86706b694e6f7a0b744d7683a167798a (patch) | |
tree | 6fc9e4c087d9a1e75640e2c8deea848a4d4e3d4c /clang/lib/Serialization/ASTReader.cpp | |
parent | 8769449b610472ceed72f7573a26a652fa76f3db (diff) | |
download | bcm5719-llvm-eda8e12e86706b694e6f7a0b744d7683a167798a.tar.gz bcm5719-llvm-eda8e12e86706b694e6f7a0b744d7683a167798a.zip |
Migrate the serialization of ASTContext's AutoDeduceTy and
AutoRRefDeductTy from the "special types" block to predefined
types. The latter behaves better when loading multiple AST files.
llvm-svn: 137120
Diffstat (limited to 'clang/lib/Serialization/ASTReader.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 0482636fc00..9659f46f17a 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -3046,11 +3046,6 @@ void ASTReader::InitializeContext(ASTContext &Ctx) { if (SpecialTypes[SPECIAL_TYPE_INT128_INSTALLED]) Context->setInt128Installed(); - - if (unsigned AutoDeduct = SpecialTypes[SPECIAL_TYPE_AUTO_DEDUCT]) - Context->AutoDeductTy = GetType(AutoDeduct); - if (unsigned AutoRRefDeduct = SpecialTypes[SPECIAL_TYPE_AUTO_RREF_DEDUCT]) - Context->AutoRRefDeductTy = GetType(AutoRRefDeduct); } ReadPragmaDiagnosticMappings(Context->getDiagnostics()); @@ -4033,6 +4028,11 @@ QualType ASTReader::GetType(TypeID ID) { case PREDEF_TYPE_OBJC_ID: T = Context->ObjCBuiltinIdTy; break; case PREDEF_TYPE_OBJC_CLASS: T = Context->ObjCBuiltinClassTy; break; case PREDEF_TYPE_OBJC_SEL: T = Context->ObjCBuiltinSelTy; break; + case PREDEF_TYPE_AUTO_DEDUCT: T = Context->getAutoDeductType(); break; + + case PREDEF_TYPE_AUTO_RREF_DEDUCT: + T = Context->getAutoRRefDeductType(); + break; } assert(!T.isNull() && "Unknown predefined type"); |