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 cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits