================ @@ -9203,15 +9203,15 @@ static NamedDecl *DiagnoseInvalidRedeclaration( << Idx << FDParam->getType() << NewFD->getParamDecl(Idx - 1)->getType(); } else if (FDisConst != NewFDisConst) { - SemaRef.Diag(FD->getLocation(), diag::note_member_def_close_const_match) - << NewFDisConst << FD->getSourceRange().getEnd() - << (NewFDisConst - ? FixItHint::CreateRemoval(ExtraArgs.D.getFunctionTypeInfo() - .getConstQualifierLoc()) - : FixItHint::CreateInsertion(ExtraArgs.D.getFunctionTypeInfo() - .getRParenLoc() - .getLocWithOffset(1), - " const")); + auto DB = SemaRef.Diag(FD->getLocation(), + diag::note_member_def_close_const_match) + << NewFDisConst << FD->getSourceRange().getEnd(); + if (const auto &FTI = ExtraArgs.D.getFunctionTypeInfo(); !NewFDisConst) + DB << FixItHint::CreateInsertion(FTI.getRParenLoc().getLocWithOffset(1), + " const"); + else if (SourceLocation ConstLoc = FTI.getConstQualifierLoc(); ---------------- sdkrystian wrote:
I opted for the "return `SourceLocation()` if no `const` qualifier is present" approach because it doesn't require the caller to check `hasMethodTypeQualifiers()` prior to calling `getConstQualifierLoc()`. Makes it less prone to being the cause of future crashes :) https://github.com/llvm/llvm-project/pull/92452 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits