[clang] [clang] Disable missing definition warning on pure virtual functions (PR #74510)

Shafik Yaghmour via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 4 13:55:22 PDT 2024


================
@@ -18931,7 +18931,7 @@ void Sema::MarkFunctionReferenced(SourceLocation Loc, FunctionDecl *Func,
   //   constant evaluated
   bool NeededForConstantEvaluation =
       isPotentiallyConstantEvaluatedContext(*this) &&
-      isImplicitlyDefinableConstexprFunction(Func);
+      isImplicitlyDefinableConstexprFunction(Func) && !Func->isPure();
----------------
shafik wrote:

Thank to @erichkeane I realized I am wrong, we can actually define a pure virtual function. So we do want to retain the diagnostic here.

https://github.com/llvm/llvm-project/pull/74510


More information about the cfe-commits mailing list