File tree Expand file tree Collapse file tree 2 files changed +8
-0
lines changed Expand file tree Collapse file tree 2 files changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -9276,6 +9276,8 @@ DeclResult Sema::ActOnClassTemplateSpecialization(
9276
9276
9277
9277
// NOTE: KWLoc is the location of the tag keyword. This will instead
9278
9278
// store the location of the outermost template keyword in the declaration.
9279
+ SourceLocation TemplateKWLoc = TemplateParameterLists.size () > 0
9280
+ ? TemplateParameterLists[0 ]->getTemplateLoc () : KWLoc;
9279
9281
SourceLocation TemplateNameLoc = TemplateId.TemplateNameLoc ;
9280
9282
SourceLocation LAngleLoc = TemplateId.LAngleLoc ;
9281
9283
SourceLocation RAngleLoc = TemplateId.RAngleLoc ;
Original file line number Diff line number Diff line change @@ -3932,6 +3932,12 @@ TemplateDeclInstantiator::VisitClassTemplateSpecializationDecl(
3932
3932
if (SubstQualifier (D, InstD))
3933
3933
return nullptr ;
3934
3934
3935
+ // Build the canonical type that describes the converted template
3936
+ // arguments of the class template explicit specialization.
3937
+ QualType CanonType = SemaRef.Context .getTemplateSpecializationType (
3938
+ TemplateName (InstClassTemplate), CanonicalConverted,
3939
+ SemaRef.Context .getRecordType (InstD));
3940
+
3935
3941
InstD->setAccess (D->getAccess ());
3936
3942
InstD->setInstantiationOfMemberClass (D, TSK_ImplicitInstantiation);
3937
3943
InstD->setSpecializationKind (D->getSpecializationKind ());
You can’t perform that action at this time.
0 commit comments