1*5fb5df9cSJohn McCall// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 %s -emit-llvm -o - | FileCheck %s 22fb08241SAnders Carlsson 3b7f60e34SRafael Espindola// CHECK: @"__func__.-[Foo instanceTest1]" = private unnamed_addr constant [21 x i8] c"-[Foo instanceTest1]\00" 4b7f60e34SRafael Espindola// CHECK: @"__func__.-[Foo instanceTest2:]" = private unnamed_addr constant [22 x i8] c"-[Foo instanceTest2:]\00" 5b7f60e34SRafael Espindola// CHECK: @"__func__.-[Foo instanceTest3:withB:]" = private unnamed_addr constant [28 x i8] c"-[Foo instanceTest3:withB:]\00" 6b7f60e34SRafael Espindola// CHECK: @"__func__.-[Foo instanceTest4]" = private unnamed_addr constant [21 x i8] c"-[Foo instanceTest4]\00" 7b7f60e34SRafael Espindola// CHECK: @"__func__.+[Foo classTest1]" = private unnamed_addr constant [18 x i8] c"+[Foo classTest1]\00" 8b7f60e34SRafael Espindola// CHECK: @"__func__.+[Foo classTest2:]" = private unnamed_addr constant [19 x i8] c"+[Foo classTest2:]\00" 9b7f60e34SRafael Espindola// CHECK: @"__func__.+[Foo classTest3:withB:]" = private unnamed_addr constant [25 x i8] c"+[Foo classTest3:withB:]\00" 10b7f60e34SRafael Espindola// CHECK: @"__func__.+[Foo classTest4]" = private unnamed_addr constant [18 x i8] c"+[Foo classTest4]\00" 11b7f60e34SRafael Espindola// CHECK: @"__func__.-[Foo(Category) instanceTestWithCategory]" = private unnamed_addr constant [42 x i8] c"-[Foo(Category) instanceTestWithCategory]\00" 12b7f60e34SRafael Espindola// CHECK: @"__func__.+[Foo(Category) classTestWithCategory]" = private unnamed_addr constant [39 x i8] c"+[Foo(Category) classTestWithCategory]\00" 132fb08241SAnders Carlsson 14f8c1f0d1SMike Stumpint printf(const char * _Format, ...); 152fb08241SAnders Carlsson 162fb08241SAnders Carlsson@interface Foo 172fb08241SAnders Carlsson@end 182fb08241SAnders Carlsson 192fb08241SAnders Carlsson@implementation Foo 202fb08241SAnders Carlsson 212fb08241SAnders Carlsson- (void)instanceTest1 { 222fb08241SAnders Carlsson printf("__func__: %s\n", __func__); 232fb08241SAnders Carlsson printf("__FUNCTION__: %s\n", __FUNCTION__); 242fb08241SAnders Carlsson printf("__PRETTY_FUNCTION__: %s\n\n", __PRETTY_FUNCTION__); 252fb08241SAnders Carlsson} 262fb08241SAnders Carlsson 272fb08241SAnders Carlsson- (void)instanceTest2:(int)i { 282fb08241SAnders Carlsson printf("__func__: %s\n", __func__); 292fb08241SAnders Carlsson printf("__FUNCTION__: %s\n", __FUNCTION__); 302fb08241SAnders Carlsson printf("__PRETTY_FUNCTION__: %s\n\n", __PRETTY_FUNCTION__); 312fb08241SAnders Carlsson} 322fb08241SAnders Carlsson 332fb08241SAnders Carlsson- (void)instanceTest3:(int)a withB:(double)b { 342fb08241SAnders Carlsson printf("__func__: %s\n", __func__); 352fb08241SAnders Carlsson printf("__FUNCTION__: %s\n", __FUNCTION__); 362fb08241SAnders Carlsson printf("__PRETTY_FUNCTION__: %s\n\n", __PRETTY_FUNCTION__); 372fb08241SAnders Carlsson} 382fb08241SAnders Carlsson 392fb08241SAnders Carlsson- (int)instanceTest4 { 402fb08241SAnders Carlsson printf("__func__: %s\n", __func__); 412fb08241SAnders Carlsson printf("__FUNCTION__: %s\n", __FUNCTION__); 422fb08241SAnders Carlsson printf("__PRETTY_FUNCTION__: %s\n\n", __PRETTY_FUNCTION__); 432fb08241SAnders Carlsson return 0; 442fb08241SAnders Carlsson} 452fb08241SAnders Carlsson 462fb08241SAnders Carlsson+ (void)classTest1 { 472fb08241SAnders Carlsson printf("__func__: %s\n", __func__); 482fb08241SAnders Carlsson printf("__FUNCTION__: %s\n", __FUNCTION__); 492fb08241SAnders Carlsson printf("__PRETTY_FUNCTION__: %s\n\n", __PRETTY_FUNCTION__); 502fb08241SAnders Carlsson} 512fb08241SAnders Carlsson 522fb08241SAnders Carlsson+ (void)classTest2:(int)i { 532fb08241SAnders Carlsson printf("__func__: %s\n", __func__); 542fb08241SAnders Carlsson printf("__FUNCTION__: %s\n", __FUNCTION__); 552fb08241SAnders Carlsson printf("__PRETTY_FUNCTION__: %s\n\n", __PRETTY_FUNCTION__); 562fb08241SAnders Carlsson} 572fb08241SAnders Carlsson 582fb08241SAnders Carlsson+ (void)classTest3:(int)a withB:(double)b { 592fb08241SAnders Carlsson printf("__func__: %s\n", __func__); 602fb08241SAnders Carlsson printf("__FUNCTION__: %s\n", __FUNCTION__); 612fb08241SAnders Carlsson printf("__PRETTY_FUNCTION__: %s\n\n", __PRETTY_FUNCTION__); 622fb08241SAnders Carlsson} 632fb08241SAnders Carlsson 642fb08241SAnders Carlsson+ (int)classTest4 { 652fb08241SAnders Carlsson printf("__func__: %s\n", __func__); 662fb08241SAnders Carlsson printf("__FUNCTION__: %s\n", __FUNCTION__); 672fb08241SAnders Carlsson printf("__PRETTY_FUNCTION__: %s\n\n", __PRETTY_FUNCTION__); 682fb08241SAnders Carlsson return 0; 692fb08241SAnders Carlsson} 702fb08241SAnders Carlsson 712fb08241SAnders Carlsson@end 722fb08241SAnders Carlsson 732fb08241SAnders Carlsson@interface Foo (Category) 742fb08241SAnders Carlsson@end 752fb08241SAnders Carlsson 762fb08241SAnders Carlsson@implementation Foo (Category) 772fb08241SAnders Carlsson 782fb08241SAnders Carlsson- (void)instanceTestWithCategory { 792fb08241SAnders Carlsson printf("__func__: %s\n", __func__); 802fb08241SAnders Carlsson printf("__FUNCTION__: %s\n", __FUNCTION__); 812fb08241SAnders Carlsson printf("__PRETTY_FUNCTION__: %s\n\n", __PRETTY_FUNCTION__); 822fb08241SAnders Carlsson} 832fb08241SAnders Carlsson 842fb08241SAnders Carlsson+ (void)classTestWithCategory { 852fb08241SAnders Carlsson printf("__func__: %s\n", __func__); 862fb08241SAnders Carlsson printf("__FUNCTION__: %s\n", __FUNCTION__); 872fb08241SAnders Carlsson printf("__PRETTY_FUNCTION__: %s\n\n", __PRETTY_FUNCTION__); 882fb08241SAnders Carlsson} 892fb08241SAnders Carlsson 902fb08241SAnders Carlsson@end 91