https://github.com/zyn0217 commented:
We may want
```diff
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 37bb69da90b6..b6fbd1f06115 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -663,8 +663,10 @@ bool Sema::MergeCXXFunctionDecl(FunctionDecl *New,
FunctionDecl *Old,
CXXSpecialMemberKind NewSM = getSpecialMember(cast<CXXMethodDecl>(New)),
OldSM = getSpecialMember(cast<CXXMethodDecl>(Old));
if (NewSM != OldSM) {
- ParmVarDecl *NewParam =
New->getParamDecl(New->getMinRequiredArguments());
- assert(NewParam->hasDefaultArg());
+ auto Iter = llvm::find_if(
+ New->parameters(), [](ParmVarDecl *P) { return P->hasDefaultArg();
});
+ assert(Iter);
+ ParmVarDecl *NewParam = *Iter;
Diag(NewParam->getLocation(), diag::err_default_arg_makes_ctor_special)
<< NewParam->getDefaultArgRange() << NewSM;
Diag(Old->getLocation(), diag::note_previous_declaration);
```
https://github.com/llvm/llvm-project/pull/217386
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits