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