aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorErich Keane <ekeane@nvidia.com>2024-04-18 12:40:51 -0700
committerGitHub <noreply@github.com>2024-04-18 12:40:51 -0700
commit8ba0041e158f8678e829c10efa73397afdba6b4f (patch)
tree1ef9dac6b1abe16bc5b095c3ef3c5a632b2b57bd /clang/lib/Frontend/CompilerInvocation.cpp
parentbd0f818d6303b87314755f026742197fd3b2bae2 (diff)
downloadllvm-8ba0041e158f8678e829c10efa73397afdba6b4f.zip
llvm-8ba0041e158f8678e829c10efa73397afdba6b4f.tar.gz
llvm-8ba0041e158f8678e829c10efa73397afdba6b4f.tar.bz2
Stop double-diagnosing explicit convert operator in switch condition (#89142)
Note this also likely fixes a bunch of other cases. We were double-diagnosting in a template because we were generating the expression anyway, so any attempts to instantiate the function would instantiate the expression, thus re-diagnosing it. This patch replaces it with a RecoveryExpr. Additionally, VerifyIntegerConstantExpression couldn't handle the RecoveryExpr, as it requires a non-dependent expression result (which a RecoveryExpr is dependent). Additionally, callers of it use the return value to decide that VerifyIntegerConstantExpression succeeded, so it fails if it sees a RecoveryExpr.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions