xref: /llvm-project/clang/test/CodeGenObjC/predefined-expr.m (revision 5fb5df9c8385c3c86fe3d31fbac5766217168a9b)
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