================
@@ -11065,8 +11127,19 @@ DeclResult Sema::ActOnExplicitInstantiation(Scope *S,
               : Specialization->getInstantiatedFromMemberFunction(),
       D.getIdentifierLoc(), D.getCXXScopeSpec().isSet(), TSK);
 
-  // FIXME: Create some kind of ExplicitInstantiationDecl here.
-  return (Decl*) nullptr;
+  {
+    const ASTTemplateArgumentListInfo *ArgsAsWritten = nullptr;
+    if (HasExplicitTemplateArgs)
+      ArgsAsWritten =
+          ASTTemplateArgumentListInfo::Create(Context, TemplateArgs);
+    addExplicitInstantiationDecl(Context, CurContext, D.getCXXScopeSpec(),
+                                 D.getSourceRange().getEnd(), Specialization,
+                                 ExternLoc, TemplateLoc, SourceLocation(),
+                                 ArgsAsWritten, D.getIdentifierLoc(), T, TSK);
+    // Don't return the EID to the Parser — doing so would trigger
+    // unrelated semantic actions (e.g. access checks via FinalizeDeclaration).
+    return (Decl *)nullptr;
+  }
----------------
16bit-ykiko wrote:

Fixed.

https://github.com/llvm/llvm-project/pull/191658
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to