xref: /aosp_15_r20/external/clang/test/CodeGenObjC/objfw.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fobjc-runtime=objfw -emit-llvm -o - %s | FileCheck %s
2*67e74705SXin Li
3*67e74705SXin Li// Test the ObjFW runtime.
4*67e74705SXin Li
5*67e74705SXin Li@interface Test0
6*67e74705SXin Li+ (void) test;
7*67e74705SXin Li@end
8*67e74705SXin Livoid test0(void) {
9*67e74705SXin Li  [Test0 test];
10*67e74705SXin Li}
11*67e74705SXin Li// CHECK-LABEL:    define void @test0()
12*67e74705SXin Li// CHECK:      [[T0:%.*]] = call i8* (i8*, i8*, ...)* @objc_msg_lookup(i8* bitcast (i64* @_OBJC_CLASS_Test0 to i8*),
13*67e74705SXin Li// CHECK-NEXT: [[T1:%.*]] = bitcast i8* (i8*, i8*, ...)* [[T0]] to void (i8*, i8*)*
14*67e74705SXin Li// CHECK-NEXT: call void [[T1]](i8* bitcast (i64* @_OBJC_CLASS_Test0 to i8*),
15*67e74705SXin Li// CHECK-NEXT: ret void
16