[clang] [Clang] Improve error recovery for invalid calls (PR #136295)
Younan Zhang via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 18 18:12:01 PDT 2025
================
@@ -34,21 +34,22 @@ void test_invalid_call_1(int s) {
int some_func2(int a, int b);
void test_invalid_call_2() {
- // CHECK: -RecoveryExpr {{.*}} 'int' contains-errors
+ // CHECK: -RecoveryExpr {{.*}} '<dependent type>' contains-errors
----------------
zyn0217 wrote:
We used to call ActOnExpr for this case, which ended up creating a non-dependent RecoveryExpr with its type heuristically computed over the overload candidate set, in `FinishOverloadedCallExpr`.
We could do the same again by calling `ActOnCallExpr` anyway, but that would lead to a lot more diagnostic regressions when recovering from an already-diagnosed function-call-like expression.
Or do you prefer assigning Context.IntTy for these RecoveryExpr expressions, regardless?
https://github.com/llvm/llvm-project/pull/136295
More information about the cfe-commits
mailing list