// RUN: %clang_cc1 -emit-llvm -triple x86_64-apple-darwin10 -fobjc-disable-direct-methods-for-testing %s -o - | FileCheck %s | |
@interface Y | |
@property (direct) int direct_property; | |
@end | |
@implementation Y @end | |
// CHECK: @OBJC_PROP_NAME_ATTR_ = private unnamed_addr constant [16 x i8] c"direct_property\00" | |
// CHECK: @"_OBJC_$_PROP_LIST_Y" = | |
// CHECK-SAME: @OBJC_PROP_NAME_ATTR_, | |
@interface X | |
-(void)m __attribute__((objc_direct)); | |
@end | |
// CHECK-LABEL: define void @f | |
void f(X *x) { | |
[x m]; | |
// CHECK: call void bitcast ({{.*}} @objc_msgSend to {{.*}}) | |
} |