1 # RUN: llvm-ifs --input-format=IFS --output-ifs - %s %S/object.ifs | \
2 # RUN: FileCheck %s --check-prefixes=CHECK-IFS
4 # RUN: llvm-ifs --input-format=IFS --output-elf - %s %S/object.ifs | \
5 # RUN: llvm-readelf --all - | FileCheck %s --check-prefixes=CHECK-ELF
7 # RUN: llvm-ifs --input-format=IFS --strip-ifs-target --output-ifs %t.tbd %s %S/object.ifs
8 # RUN: llvm-ifs --input-format=IFS --target=x86_64-apple-darwin --output-tbd - %t.tbd | \
9 # RUN: FileCheck %s --check-prefixes=CHECK-DARWIN-TBD3
11 # RUN: llvm-ifs --input-format=IFS --output-ifs - %s %s | \
12 # RUN: FileCheck %s --check-prefixes=CHECK-MERGE-IFS
14 # CHECK-IFS: --- !ifs-v1
15 # CHECK-IFS-NEXT: IfsVersion: 3.0
16 # CHECK-IFS-NEXT: Target: x86_64-unknown-linux-gnu
17 # CHECK-IFS-NEXT: Symbols:
18 # CHECK-IFS-DAG: - { Name: a, Type: Func }
19 # CHECK-IFS-DAG: - { Name: b, Type: Object, Size: 4 }
22 # CHECK-ELF: ELF Header:
23 # CHECK-ELF: Class: ELF64
24 # CHECK-ELF: Type: DYN (Shared object file)
25 # CHECK-ELF: FUNC GLOBAL DEFAULT 1 a
26 # CHECK-ELF: OBJECT GLOBAL DEFAULT 1 b
28 # CHECK-DARWIN-TBD3: --- !tapi-tbd-v3
29 # CHECK-DARWIN-TBD3-NEXT: archs: [ x86_64 ]
30 # CHECK-DARWIN-TBD3-NEXT: platform: macosx
31 # CHECK-DARWIN-TBD3-NEXT: flags: [ flat_namespace, not_app_extension_safe ]
32 # CHECK-DARWIN-TBD3-NEXT: install-name: ''
33 # CHECK-DARWIN-TBD3-NEXT: current-version: 0
34 # CHECK-DARWIN-TBD3-NEXT: compatibility-version: 0
35 # CHECK-DARWIN-TBD3-NEXT: objc-constraint: none
36 # CHECK-DARWIN-TBD3-NEXT: exports:
37 # CHECK-DARWIN-TBD3-NEXT: - archs: [ x86_64 ]
38 # CHECK-DARWIN-TBD3-NEXT: symbols: [ a, b ]
39 # CHECK-DARWIN-TBD3-NEXT: ...
41 # Here we are testing to see if two identical symbols will merge.
42 # CHECK-MERGE-IFS: --- !ifs-v1
43 # CHECK-MERGE-IFS-NEXT: IfsVersion: 3.0
44 # CHECK-MERGE-IFS-NEXT: Target: x86_64-unknown-linux-gnu
45 # CHECK-MERGE-IFS-NEXT: Symbols:
46 # CHECK-MERGE-IFS-NEXT: - { Name: a, Type: Func }
47 # CHECK-MERGE-IFS-NEXT: ...
51 Target: x86_64-unknown-linux-gnu
53 - { Name: a, Type: Func }