brintos

brintos / llvm-project-archived public Read only

0
0
Text · 603 B · 46fae7f Raw
20 lines · plain
1// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -fobjc-arc -o - %s | FileCheck %s2 3@interface Test584- (char* &) interior __attribute__((objc_returns_inner_pointer));5- (int&)reference_to_interior_int __attribute__((objc_returns_inner_pointer));6@end7 8void foo() {9   Test58 *ptr;10   char *c = [(ptr) interior];11 12   int i = [(ptr) reference_to_interior_int];13}14 15// CHECK: [[T0:%.*]] = load {{.*}} {{%.*}}, align 816// call ptr @llvm.objc.retainAutorelease(ptr [[T0]]) nounwind17// CHECK: [[T2:%.*]] = load {{.*}} {{%.*}}, align 818// call ptr @llvm.objc.retainAutorelease(ptr [[T2]]) nounwind19 20