xref: /llvm-project/clang/test/APINotes/swift-return-ownership.m (revision 43e663d0fd82e226203b051d31fd3ce5388ca984)
1// RUN: rm -rf %t && mkdir -p %t
2// RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache -fdisable-module-hash -fapinotes-modules -fsyntax-only -I %S/Inputs/Headers %s
3// RUN: %clang_cc1 -ast-print %t/ModulesCache/SwiftReturnOwnershipForObjC.pcm | FileCheck %s
4#import <SwiftReturnOwnershipForObjC.h>
5
6// CHECK: @interface MethodTest
7// CHECK: - (struct RefCountedType *)getUnowned __attribute__((swift_attr("returns_unretained")));
8// CHECK: - (struct RefCountedType *)getOwned __attribute__((swift_attr("returns_retained")));
9// CHECK: @end
10// CHECK: __attribute__((swift_attr("returns_unretained"))) struct RefCountedType *getObjCUnowned(void);
11// CHECK: __attribute__((swift_attr("returns_retained"))) struct RefCountedType *getObjCOwned(void);
12