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