blob: 4cbbb9a6b995d80341372b550076f115be604f68 [file] [log] [blame]
John McCall5fb5df92012-06-20 06:18:46 +00001// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -fno-constant-cfstrings -emit-llvm -o %t %s
Fariborz Jahanian6147a7b2010-04-26 17:59:24 +00002// RUN: FileCheck --check-prefix CHECK-FRAGILE < %t %s
3
John McCall9b0a7ce2011-10-02 01:16:38 +00004// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fno-constant-cfstrings -emit-llvm -o %t %s
Fariborz Jahanian6147a7b2010-04-26 17:59:24 +00005// RUN: FileCheck --check-prefix CHECK-NONFRAGILE < %t %s
6
7@interface NSString @end
8
9@interface NSSimpleCString : NSString {
10@protected
11 char *bytes;
12 unsigned int numBytes;
13}
14@end
15
16@interface NSConstantString : NSSimpleCString
17@end
18
19#if OBJC_API_VERSION >= 2
20extern Class _NSConstantStringClassReference;
21#else
22extern struct objc_class _NSConstantStringClassReference;
23#endif
24
25const NSConstantString *appKey = @"MyApp";
26
27int main() {
28 const NSConstantString *appKey = @"MyApp";
29 const NSConstantString *appKey1 = @"MyApp1";
30}
31
32// CHECK-FRAGILE: @_NSConstantStringClassReference = external global
33// CHECK-NONFRAGILE: @"OBJC_CLASS_$_NSConstantString" = external global
Rafael Espindolade089d42011-01-17 22:11:21 +000034
35// CHECK-FRAGILE: @.str = private unnamed_addr constant [6 x i8] c"MyApp\00"
Sunil Srivastava3acf6272015-05-12 16:48:43 +000036// CHECK-FRAGILE: @.str.1 = private unnamed_addr constant [7 x i8] c"MyApp1\00"
Rafael Espindolade089d42011-01-17 22:11:21 +000037
38// CHECK-NONFRAGILE: @.str = private unnamed_addr constant [6 x i8] c"MyApp\00"
Sunil Srivastava3acf6272015-05-12 16:48:43 +000039// CHECK-NONFRAGILE: @.str.1 = private unnamed_addr constant [7 x i8] c"MyApp1\00"