[clang] [Clang] prevent constexpr crash on invalid overrides (PR #184048)
Shafik Yaghmour via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 6 15:49:41 PST 2026
================
@@ -9247,9 +9247,12 @@ bool Sema::AddOverriddenMethods(CXXRecordDecl *DC, CXXMethodDecl *MD) {
continue;
if (Overridden.insert(BaseMD).second) {
MD->addOverriddenMethod(BaseMD);
- CheckOverridingFunctionReturnType(MD, BaseMD);
- CheckOverridingFunctionAttributes(MD, BaseMD);
- CheckOverridingFunctionExceptionSpec(MD, BaseMD);
+ bool Invalid = false;
+ Invalid |= CheckOverridingFunctionReturnType(MD, BaseMD);
+ Invalid |= CheckOverridingFunctionAttributes(MD, BaseMD);
+ Invalid |= CheckOverridingFunctionExceptionSpec(MD, BaseMD);
+ if (Invalid)
----------------
shafik wrote:
I am curious why these three matter but `CheckIfOverriddenFunctionIsMarkedFinal` does not, it also diagnoses with an error as well.
https://github.com/llvm/llvm-project/pull/184048
More information about the cfe-commits
mailing list