Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenObjC / attr-objc-runtime-visible.m
blob21415cc8ac77262b93653c6a615b114bc41a6e77
1 // RUN: %clang_cc1 -triple x86_64-apple-darwin -fobjc-runtime=macosx-10.9.0 -emit-llvm %s -o - | FileCheck %s
3 // RUN: %clang_cc1 -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{{.*}} ptr @getClass() #0 {
16 Class getClass(void) {
17   // CHECK: call ptr @objc_lookUpClass(ptr [[CLASSNAME]]) #2
18   return [A class];