llvm-project

Форк
0
/
ns-constant-strings.m 
39 строк · 1.3 Кб
1
// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -fno-constant-cfstrings -emit-llvm -o %t %s
2
// RUN: FileCheck --check-prefix CHECK-FRAGILE < %t %s
3

4
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fno-constant-cfstrings -emit-llvm -o %t %s
5
// 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
20
extern Class _NSConstantStringClassReference;
21
#else
22
extern struct objc_class _NSConstantStringClassReference;
23
#endif
24

25
const NSConstantString *appKey =  @"MyApp";
26

27
int main(void) {
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
34

35
// CHECK-FRAGILE: @.str = private unnamed_addr constant [6 x i8] c"MyApp\00"
36
// CHECK-FRAGILE: @.str.1 = private unnamed_addr constant [7 x i8] c"MyApp1\00"
37

38
// CHECK-NONFRAGILE: @.str = private unnamed_addr constant [6 x i8] c"MyApp\00"
39
// CHECK-NONFRAGILE: @.str.1 = private unnamed_addr constant [7 x i8] c"MyApp1\00"
40

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.