[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors
Yurong via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 22 11:55:27 PDT 2023
yronglin marked an inline comment as done.
yronglin added inline comments.
================
Comment at: clang/lib/AST/ExprConstant.cpp:4988
+ if (SS->getCond()->containsErrors() ||
+ !EvaluateDependentExpr(SS->getCond(), Info))
return ESR_Failed;
----------------
erichkeane wrote:
> It seems to me that the 'better' solution is to make EvaluateDependentExpr (or one of its children) be RecoveryExpr aware, and result in a failed value instead. That way we get this 'fix' for more than just switch statements.
Thanks for your review!
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D153296/new/
https://reviews.llvm.org/D153296
More information about the cfe-commits
mailing list