2 // RUN: split-file %s %t
3 // RUN: sed -e "s|DSTROOT|%/t|g" %t/inputs.json.in > %t/inputs.json
5 // RUN: clang-installapi -target arm64-apple-macos13.1 \
6 // RUN: -F%t -install_name /System/Library/Frameworks/Foo.framework/Foo \
7 // RUN: %t/inputs.json -o %t/outputs.tbd -v 2>&1 | FileCheck %s --check-prefix=VERBOSE
8 // RUN: llvm-readtapi -compare %t/outputs.tbd %t/expected.tbd 2>&1 | FileCheck %s --allow-empty
10 // VERBOSE: Public Headers:
11 // VERBOSE-NEXT: #import <Foo/Foo.h>
13 // CHECK-NOT: warning:
15 //--- Foo.framework/Headers/Foo.h
16 // Ignore forward declaration.
22 __attribute__((visibility("hidden")))
26 __attribute__((visibility("hidden")))
27 @interface HiddenWithIvars {
33 __attribute__((objc_exception))
37 @interface PublicClass : Visible {
50 //--- Foo.framework/PrivateHeaders/Foo_Private.h
53 @interface ClassWithIvars : Visible {
65 @interface Exception () {
67 char _ivarFromExtension;
69 int _privateIvarFromExtension;
77 "path" : "DSTROOT/Foo.framework/Headers/Foo.h",
81 "path" : "DSTROOT/Foo.framework/PrivateHeaders/Foo_Private.h",
91 "compatibility_versions": [
101 "exported_symbols": [
114 "Exception._ivarFromExtension",
115 "ClassWithIvars._ivar2",
116 "PublicClass._external",
117 "ClassWithIvars._ivar1",
118 "ClassWithIvars._externalIVar",
119 "PublicClass._public"
127 "not_app_extension_safe"
133 "name": "/System/Library/Frameworks/Foo.framework/Foo"
138 "min_deployment": "13.1",
139 "target": "arm64-macos"
143 "tapi_tbd_version": 5