[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / clang / test / CodeGenObjC / attr-objc-runtime-visible.m
blob4899ad9c5074aff45d7d3edc6208dd8061fcfa02
1 // RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-apple-darwin -fobjc-runtime=macosx-10.9.0 -emit-llvm %s -o - | FileCheck %s
3 // RUN: %clang_cc1 -no-opaque-pointers -triple i386-apple-darwin -fobjc-runtime=macosx-fragile-10.9.0 -emit-llvm %s -o - | FileCheck %s
5 @interface Root
6 +(Class)class;
7 @end
9 __attribute__((objc_runtime_visible))
10 __attribute__((objc_runtime_name("MyRuntimeVisibleClass")))
11 @interface A : Root
12 @end
14 // CHECK: [[CLASSNAME:@.*]] = private unnamed_addr constant [22 x i8] c"MyRuntimeVisibleClass
15 // CHECK: define{{.*}} i8* @getClass() #0 {
16 Class getClass(void) {
17   // CHECK: call i8* @objc_lookUpClass(i8* getelementptr inbounds ([22 x i8], [22 x i8]* [[CLASSNAME]], i32 0, i32 0)) #2
18   return [A class];