[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / InterfaceStubs / func.ifs
blobb5ca26532c5fe15c7c8dc23a61c2ec9e0d0a2707
1 # RUN: %clang -emit-interface-stubs -o - %s %S/object.ifs -emit-merged-ifs | \
2 # RUN: FileCheck %s --check-prefixes=CHECK-IFS
4 # RUN: %clang -emit-interface-stubs -o - %s %S/object.ifs | llvm-readelf --all - | \
5 # RUN: FileCheck %s --check-prefixes=CHECK-ELF
7 # RUN: %clang -emit-interface-stubs -o - %s %s -emit-merged-ifs | \
8 # RUN: FileCheck %s --check-prefixes=CHECK-MERGE-IFS
10 # CHECK-IFS: --- !ifs-v1
11 # CHECK-IFS-NEXT: IfsVersion: 3.0
12 # CHECK-IFS-NEXT: Target:          x86_64-linux-gnu
13 # CHECK-IFS-NEXT: Symbols:
14 # CHECK-IFS-DAG:   - { Name: a, Type: Func }
15 # CHECK-IFS-DAG:   - { Name: b, Type: Object, Size: 4 }
16 # CHECK-IFS: ...
18 # CHECK-ELF: ELF Header:
19 # CHECK-ELF:   Class:                             ELF64
20 # CHECK-ELF:   Type:                              DYN (Shared object file)
21 # CHECK-ELF:   FUNC    GLOBAL DEFAULT  1 a
22 # CHECK-ELF:   OBJECT  GLOBAL DEFAULT  1 b
24 # Here we are testing to see if two identical symbols will merge.
25 # CHECK-MERGE-IFS: --- !ifs-v1
26 # CHECK-MERGE-IFS-NEXT: IfsVersion: 3.0
27 # CHECK-MERGE-IFS-NEXT: Target:          x86_64-linux-gnu
28 # CHECK-MERGE-IFS-NEXT: Symbols:
29 # CHECK-MERGE-IFS-NEXT:   - { Name: a, Type: Func }
30 # CHECK-MERGE-IFS-NEXT: ...
32 --- !ifs-v1
33 IfsVersion: 3.0
34 Target: x86_64-linux-gnu
35 Symbols:
36   - { Name: a, Type: Func }
37 ...