llvm-project

Форк
0
/
attr-exception.m 
27 строк · 1.0 Кб
1
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -fexceptions -fobjc-exceptions -o - %s | FileCheck %s
2
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -fexceptions -fobjc-exceptions -fvisibility=hidden -o - %s | FileCheck -check-prefix=CHECK-HIDDEN %s
3

4
__attribute__((objc_root_class)) 
5
@interface Root {
6
  Class isa;
7
}
8
@end
9

10
__attribute__((objc_exception))
11
@interface A : Root
12
@end
13

14
@implementation A
15
@end
16
// CHECK: @"OBJC_EHTYPE_$_A" ={{.*}} global {{%.*}} { ptr getelementptr inbounds (ptr, ptr @objc_ehtype_vtable, i32 2)
17
// CHECK-HIDDEN: @"OBJC_EHTYPE_$_A" = hidden global {{%.*}} { ptr getelementptr inbounds (ptr, ptr @objc_ehtype_vtable, i32 2)
18

19
__attribute__((objc_exception))
20
__attribute__((visibility("default")))
21
@interface B : Root
22
@end
23

24
@implementation B
25
@end
26
// CHECK: @"OBJC_EHTYPE_$_B" ={{.*}} global {{%.*}} { ptr getelementptr inbounds (ptr, ptr @objc_ehtype_vtable, i32 2)
27
// CHECK-HIDDEN: @"OBJC_EHTYPE_$_B" ={{.*}} global {{%.*}} { ptr getelementptr inbounds (ptr, ptr @objc_ehtype_vtable, i32 2)
28

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

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

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

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