aboutsummaryrefslogtreecommitdiff
path: root/clang/test/InstallAPI/variables.test
blob: 159158a6b91ec76765c0e2c4d3127f60ddeb61a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: sed -e "s|SRC_DIR|%/t|g" %t/vars_inputs.json.in > %t/vars_inputs.json

/// Check multiple targets are captured.
// RUN: clang-installapi -target arm64-apple-macos13.1 -target arm64e-apple-macos13.1 \
// RUN: -fapplication-extension -install_name /usr/lib/vars.dylib -dynamiclib \
// RUN: %t/vars_inputs.json -o %t/vars.tbd 2>&1 | FileCheck %s --allow-empty
// RUN: llvm-readtapi -compare %t/vars.tbd %t/expected.tbd 2>&1 | FileCheck %s --allow-empty

// CHECK-NOT: error:  
// CHECK-NOT: warning:  

//--- vars.h
extern int foo;

//--- vars_inputs.json.in
{
  "headers": [ {
    "path" : "SRC_DIR/vars.h",
    "type" : "public"
  }],
  "version": "3"
}

//--- expected.tbd
{
  "main_library": {
    "compatibility_versions": [
      {
        "version": "0"
      }],
    "current_versions": [
      {
        "version": "0"
      }],
    "install_names": [
      {
        "name": "/usr/lib/vars.dylib"
      }
    ],
    "exported_symbols": [
      {
        "data": {
          "global": [
            "_foo"
          ]
        }
      }
    ],
    "target_info": [
      {
        "min_deployment": "13.1",
        "target": "arm64-macos"
      },
      {
        "min_deployment": "13.1",
        "target": "arm64e-macos"
      }
    ]
  },
  "tapi_tbd_version": 5
}