1 // REQUIRES: x86-registered-target
2 // 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
42 void cmdVisible() {}
43 
44 // CHECK-SYMBOLS-DAG: DEFAULT    {{.*}} _Z10cmdVisiblev
45 // CHECK-SYMBOLS-DAG: HIDDEN     {{.*}} _Z6hiddenv
46 // CHECK-SYMBOLS-DAG: DEFAULT    {{.*}} _Z9nothiddenv
47