1// RUN: %clang_cc1 -no-opaque-pointers -S -triple x86_64-apple-darwin10 -debug-info-kind=standalone -emit-llvm -o - %s -finstrument-functions | FileCheck %s 2// RUN: %clang_cc1 -no-opaque-pointers -S -triple x86_64-apple-darwin10 -debug-info-kind=standalone -emit-llvm -o - %s -finstrument-function-entry-bare | FileCheck -check-prefix=BARE %s 3 4@interface ObjCClass 5@end 6 7@implementation ObjCClass 8 9// CHECK: @"\01+[ObjCClass initialize]" 10// CHECK: call void @__cyg_profile_func_enter 11// CHECK: call void @__cyg_profile_func_exit 12// BARE: @"\01+[ObjCClass initialize]" 13// BARE: call void @__cyg_profile_func_enter 14+ (void)initialize { 15} 16 17// CHECK: @"\01+[ObjCClass load]" 18// CHECK-NOT: call void @__cyg_profile_func_enter 19// BARE: @"\01+[ObjCClass load]" 20// BARE-NOT: call void @__cyg_profile_func_enter 21+ (void)load __attribute__((no_instrument_function)) { 22} 23 24// CHECK: @"\01-[ObjCClass dealloc]" 25// CHECK-NOT: call void @__cyg_profile_func_enter 26// BARE: @"\01-[ObjCClass dealloc]" 27// BARE-NOT: call void @__cyg_profile_func_enter 28- (void)dealloc __attribute__((no_instrument_function)) { 29} 30 31// CHECK: declare void @__cyg_profile_func_enter(i8*, i8*) 32// CHECK: declare void @__cyg_profile_func_exit(i8*, i8*) 33// BARE: declare void @__cyg_profile_func_enter_bare 34@end 35