70 lines · plain
1// Test without serialization:2// RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -ast-dump "%s" \3// RUN: | FileCheck %s4//5// Test with serialization:6// RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -emit-pch -o %t %s7// RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -x objective-c -include-pch %t -ast-dump-all /dev/null \8// RUN: | sed -e "s/ <undeserialized declarations>//" -e "s/ imported//" \9// RUN: | FileCheck %s10 11// CHECK: TypedefDecl {{.*}} referenced AtomicBool '_Atomic(_Bool)'12// CHECK: AtomicType {{.*}} '_Atomic(_Bool)'13// CHECK: BuiltinType {{.*}} '_Bool'14// CHECK: ObjCInterfaceDecl {{.*}} A015// CHECK: ObjCPropertyDecl {{.*}} p '_Atomic(_Bool)' {{.*}} nonatomic16// CHECK: ObjCMethodDecl {{.*}} implicit - p '_Bool'17// CHECK: ObjCMethodDecl {{.*}} implicit - setP: 'void'18// CHECK: ParmVarDecl {{.*}} p '_Bool'19// CHECK: ObjCInterfaceDecl {{.*}} A120// CHECK: ObjCPropertyDecl {{.*}} p 'AtomicBool':'_Atomic(_Bool)' {{.*}} nonatomic21// CHECK: ObjCMethodDecl {{.*}} implicit - p '_Bool'22// CHECK: ObjCMethodDecl {{.*}} implicit - setP: 'void'23// CHECK: ParmVarDecl {{.*}} p '_Bool'24// CHECK: ObjCInterfaceDecl {{.*}} A225// CHECK: ObjCIvarDecl {{.*}} p '_Atomic(_Bool)' protected26// CHECK: ObjCPropertyDecl {{.*}} p '_Atomic(_Bool)'27// CHECK: ObjCMethodDecl {{.*}} implicit - p '_Bool'28// CHECK: ObjCMethodDecl {{.*}} implicit - setP: 'void'29// CHECK: ParmVarDecl {{.*}} p '_Bool'30// CHECK: ObjCInterfaceDecl {{.*}} A331// CHECK: ObjCIvarDecl {{.*}} p 'AtomicBool':'_Atomic(_Bool)' protected32// CHECK: ObjCPropertyDecl {{.*}} p 'AtomicBool':'_Atomic(_Bool)'33// CHECK: ObjCMethodDecl {{.*}} implicit - p '_Bool'34// CHECK: ObjCMethodDecl {{.*}} implicit - setP: 'void'35// CHECK: ParmVarDecl {{.*}} p '_Bool'36 37typedef _Atomic(_Bool) AtomicBool;38 39@interface A040@property(nonatomic) _Atomic(_Bool) p;41@end42@implementation A043@end44 45@interface A146@property(nonatomic) AtomicBool p;47@end48@implementation A149@end50 51@interface A2 {52 _Atomic(_Bool) p;53}54@property _Atomic(_Bool) p;55@end56 57@implementation A258@synthesize p;59@end60 61@interface A3 {62 AtomicBool p;63}64@property AtomicBool p;65@end66 67@implementation A368@synthesize p;69@end70