// 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; }