================
@@ -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
----------------
erichkeane wrote:
We attempt to try to recover whenever possible, as that results in a more
'correct' AST for tooling and for us evaluating it later. That said, we do
have `RecoveryExpr` for cases where we can't really do anything with it, but it
needs a bit of testing for every new 'thing', because it is always dependent
and that causes consternation with some sections of code.
https://github.com/llvm/llvm-project/pull/115487
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits