[clang] Reland [Clang] skip default argument instantiation for non-defining friend declarations to meet [dcl.fct.default] p4 (PR #115487)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 26 02:07:51 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
----------------
cor3ntin wrote:
I'm not even sure the fixme is worth it here. We already produce an error, another one would not be particularly useful or worth the refactoring cost
@erichkeane
https://github.com/llvm/llvm-project/pull/115487
More information about the cfe-commits
mailing list