[clang] Reland [Clang] skip default argument instantiation for non-defining friend declarations to meet [dcl.fct.default] p4 (PR #115487)

Oleksandr T. via cfe-commits cfe-commits at lists.llvm.org
Sun Dec 8 16:00:15 PST 2024


================
@@ -4692,6 +4692,17 @@ bool Sema::InstantiateDefaultArgument(SourceLocation CallLoc, FunctionDecl *FD,
                                       ParmVarDecl *Param) {
   assert(Param->hasUninstantiatedDefaultArg());
 
+  // FIXME: We don't track member specialization info for non-defining
+  // friend declarations, so we will not be able to later find the function
+  // pattern. As a workaround, don't instantiate the default argument in this
+  // case. This is correct per wording and only an error recovery issue, as per
----------------
a-tarasyuk wrote:

@erichkeane okay, thanks. As far as I remember, this case isn't processed with recovery; however, I'll check it anyway.

https://github.com/llvm/llvm-project/pull/115487


More information about the cfe-commits mailing list