blob: 137c593ff628835fd04509d72715608920c9b4f1 [file] [log] [blame]
Puyan Lotfi678e19d2019-06-20 18:28:21 +00001// REQUIRES: x86-registered-target
Puyan Lotfi68f29da2019-06-20 16:59:48 +00002// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
3// RUN: -interface-stub-version=experimental-tapi-elf-v1 -fvisibility=hidden \
4// RUN: %s | FileCheck --check-prefix=CHECK-CMD-HIDDEN %s
5
6// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
7// RUN: -interface-stub-version=experimental-yaml-elf-v1 -fvisibility=hidden \
8// RUN: %s | FileCheck --check-prefix=CHECK-CMD-HIDDEN %s
9
10// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
11// RUN: -interface-stub-version=experimental-tapi-elf-v1 %s | \
12// RUN: FileCheck --check-prefix=CHECK-CMD %s
13
14// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
15// RUN: -interface-stub-version=experimental-yaml-elf-v1 %s | \
16// RUN: FileCheck --check-prefix=CHECK-CMD %s
17
18// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
19// RUN: -interface-stub-version=experimental-tapi-elf-v1 %s | \
20// RUN: FileCheck --check-prefix=CHECK-CMD2 %s
21
22// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
23// RUN: -interface-stub-version=experimental-yaml-elf-v1 %s | \
24// RUN: FileCheck --check-prefix=CHECK-CMD2 %s
25
26// RUN: %clang -target x86_64-unknown-linux-gnu -o - -c %s | llvm-readelf -s - 2>&1 | \
27// RUN: FileCheck -check-prefix=CHECK-SYMBOLS %s
28
29// Always Be Hidden:
30// CHECK-CMD-HIDDEN-NOT: _Z6hiddenv
31// CHECK-CMD2-NOT: _Z6hiddenv
32__attribute__((visibility("hidden"))) void hidden() {}
33
34// Always Be Visible:
35// CHECK-CMD-HIDDEN: _Z9nothiddenv
36// CHECK-CMD-DAG: _Z9nothiddenv
37__attribute__((visibility("default"))) void nothidden() {}
38
39// Do Whatever -fvisibility says:
40// CHECK-CMD-HIDDEN-NOT: _Z10cmdVisiblev
41// CHECK-CMD-DAG: _Z10cmdVisiblev
42void cmdVisible() {}
43
44// CHECK-SYMBOLS-DAG: DEFAULT {{.*}} _Z10cmdVisiblev
45// CHECK-SYMBOLS-DAG: HIDDEN {{.*}} _Z6hiddenv
46// CHECK-SYMBOLS-DAG: DEFAULT {{.*}} _Z9nothiddenv