Fix various bugs in recent commits for C++ PCH.
llvm-svn: 106995
diff --git a/clang/lib/Frontend/PCHReader.cpp b/clang/lib/Frontend/PCHReader.cpp
index c220e26..3864624 100644
--- a/clang/lib/Frontend/PCHReader.cpp
+++ b/clang/lib/Frontend/PCHReader.cpp
@@ -3012,8 +3012,11 @@
return TemplateArgument(GetType(Record[Idx++]));
case TemplateArgument::Declaration:
return TemplateArgument(GetDecl(Record[Idx++]));
- case TemplateArgument::Integral:
- return TemplateArgument(ReadAPSInt(Record, Idx), GetType(Record[Idx++]));
+ case TemplateArgument::Integral: {
+ llvm::APSInt Value = ReadAPSInt(Record, Idx);
+ QualType T = GetType(Record[Idx++]);
+ return TemplateArgument(Value, T);
+ }
case TemplateArgument::Template:
return TemplateArgument(ReadTemplateName(Record, Idx));
case TemplateArgument::Expression: