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

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 11 08:11:15 PST 2024


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

I don't understand how the function being pure relates to whether it's needed for constant evaluation. I think this should move down to `NeedDefinition` below?

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


More information about the cfe-commits mailing list