xref: /llvm-project/clang/test/CodeGenObjC/disable-direct-method.m (revision 9466b49171dc4b21f56a48594fc82b1e52f5358a)
1// RUN: %clang_cc1 -emit-llvm -triple x86_64-apple-darwin10 -fobjc-disable-direct-methods-for-testing %s -o - | FileCheck %s
2
3@interface Y
4@property (direct) int direct_property;
5@end
6@implementation Y @end
7
8// CHECK: @OBJC_PROP_NAME_ATTR_ = private unnamed_addr constant [16 x i8] c"direct_property\00"
9// CHECK: @"_OBJC_$_PROP_LIST_Y" =
10// CHECK-SAME: @OBJC_PROP_NAME_ATTR_,
11
12@interface X
13-(void)m __attribute__((objc_direct));
14@end
15
16// CHECK-LABEL: define void @f
17void f(X *x) {
18  [x m];
19
20  // CHECK: call void @objc_msgSend
21}
22