]> granicus.if.org Git - clang/commitdiff
Avoid setters in ASTDeclReader::VisitCXXRecordDecl.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 13 Sep 2010 11:45:25 +0000 (11:45 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 13 Sep 2010 11:45:25 +0000 (11:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113741 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Serialization/ASTReaderDecl.cpp

index c63e840d7564337448d4815a622a0f2a0a5adea3..6edf8bce9a072afe44e8a2dffdbd75869c1d02cd 100644 (file)
@@ -799,15 +799,16 @@ void ASTDeclReader::VisitCXXRecordDecl(CXXRecordDecl *D) {
   case CXXRecNotTemplate:
     break;
   case CXXRecTemplate:
-    D->setDescribedClassTemplate(
-                        cast<ClassTemplateDecl>(Reader.GetDecl(Record[Idx++])));
+    D->TemplateOrInstantiation
+        = cast<ClassTemplateDecl>(Reader.GetDecl(Record[Idx++]));
     break;
   case CXXRecMemberSpecialization: {
     CXXRecordDecl *RD = cast<CXXRecordDecl>(Reader.GetDecl(Record[Idx++]));
     TemplateSpecializationKind TSK = (TemplateSpecializationKind)Record[Idx++];
     SourceLocation POI = Reader.ReadSourceLocation(Record, Idx);
-    D->setInstantiationOfMemberClass(RD, TSK);
-    D->getMemberSpecializationInfo()->setPointOfInstantiation(POI);
+    MemberSpecializationInfo *MSI = new (C) MemberSpecializationInfo(RD, TSK);
+    MSI->setPointOfInstantiation(POI);
+    D->TemplateOrInstantiation = MSI;
     break;
   }
   }