hokein created this revision.
hokein added a reviewer: sammccall.
Herald added a project: clang.
hokein requested review of this revision.
to demonstrate it works for some cases.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D90140
Files:
clang/test/AST/ast-dump-recovery.m
Index: clang/test/AST/ast-dump-recovery.m
===================================================================
--- /dev/null
+++ clang/test/AST/ast-dump-recovery.m
@@ -0,0 +1,18 @@
+// RUN: not %clang_cc1 -triple x86_64-unknown-unknown -frecovery-ast
-frecovery-ast-type -ast-dump %s | FileCheck -strict-whitespace %s
+
+@interface Foo
+- (void)method:(int)n;
+@end
+
+void k(Foo *foo) {
+ // CHECK: ObjCMessageExpr {{.*}} 'void' contains-errors
+ // CHECK-CHECK: |-ImplicitCastExpr {{.*}} 'Foo *' <LValueToRValue>
+ // CHECK-CHECK: | `-DeclRefExpr {{.*}} 'foo'
+ // CHECK-CHECK: `-RecoveryExpr {{.*}}
+ [foo method:undef];
+
+ // CHECK: ImplicitCastExpr {{.*}} '<dependent type>' contains-errors
+ // CHECK-NEXT: `-RecoveryExpr {{.*}} '<dependent type>' contains-errors
+ // CHECK-NEXT: `-DeclRefExpr {{.*}} 'foo'
+ foo.undef;
+}
Index: clang/test/AST/ast-dump-recovery.m
===================================================================
--- /dev/null
+++ clang/test/AST/ast-dump-recovery.m
@@ -0,0 +1,18 @@
+// RUN: not %clang_cc1 -triple x86_64-unknown-unknown -frecovery-ast -frecovery-ast-type -ast-dump %s | FileCheck -strict-whitespace %s
+
+@interface Foo
+- (void)method:(int)n;
+@end
+
+void k(Foo *foo) {
+ // CHECK: ObjCMessageExpr {{.*}} 'void' contains-errors
+ // CHECK-CHECK: |-ImplicitCastExpr {{.*}} 'Foo *' <LValueToRValue>
+ // CHECK-CHECK: | `-DeclRefExpr {{.*}} 'foo'
+ // CHECK-CHECK: `-RecoveryExpr {{.*}}
+ [foo method:undef];
+
+ // CHECK: ImplicitCastExpr {{.*}} '<dependent type>' contains-errors
+ // CHECK-NEXT: `-RecoveryExpr {{.*}} '<dependent type>' contains-errors
+ // CHECK-NEXT: `-DeclRefExpr {{.*}} 'foo'
+ foo.undef;
+}
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits