blob: 4d8c425769d53f3e64d3680203c9a40fc7704c60 [file] [log] [blame]
John McCall0b5a4832013-02-19 01:57:29 +00001// 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 {{%.*}} { i8** getelementptr (i8** @objc_ehtype_vtable, i32 2)
17// CHECK-HIDDEN: @"OBJC_EHTYPE_$_A" = hidden global {{%.*}} { i8** getelementptr (i8** @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 {{%.*}} { i8** getelementptr (i8** @objc_ehtype_vtable, i32 2)
27// CHECK-HIDDEN: @"OBJC_EHTYPE_$_B" = global {{%.*}} { i8** getelementptr (i8** @objc_ehtype_vtable, i32 2)