[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

Younan Zhang via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 18 20:18:11 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:

> I think we still assert that we can't have a dependent type when we know we can evaluate a constraint,

We have some guards in constant evaluator, which prevents it evaluating RecoveryExprs:

https://github.com/llvm/llvm-project/commit/bd4662cd3f3743e08699e6bab976d9e7b163ece0#diff-255a21a02a8966766225831836d482547787baf9a770fbf67178ebb7d7347e27R4832-R4839


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


More information about the cfe-commits mailing list