1 // REQUIRES: x86-registered-target 2 // RUN: %clang -target x86_64-linux-gnu -o - -emit-interface-stubs \ 3 // RUN: -interface-stub-version=experimental-tapi-elf-v1 %s | \ 4 // RUN: FileCheck %s 5 6 // RUN: %clang -target x86_64-linux-gnu -o - -emit-interface-stubs \ 7 // RUN: -interface-stub-version=experimental-yaml-elf-v1 %s | \ 8 // RUN: FileCheck --check-prefix=CHECK-YAML %s 9 10 // RUN: %clang -target x86_64-unknown-linux-gnu -o - -c %s | llvm-nm - 2>&1 | \ 11 // RUN: FileCheck -check-prefix=CHECK-SYMBOLS %s 12 13 // CHECK: Symbols: 14 // CHECK-DAG: _Z8weakFuncv: { Type: Func, Weak: true } 15 // CHECK-DAG: _Z10strongFuncv: { Type: Func } 16 17 // CHECK-YAML: Symbols: 18 // CHECK-YAML-DAG: - Name: _Z8weakFuncv 19 // CHECK-YAML-DAG: Type: STT_FUNC 20 // CHECK-YAML-DAG: Binding: STB_WEAK 21 // CHECK-YAML-DAG: - Name: _Z10strongFuncv 22 // CHECK-YAML-DAG: Type: STT_FUNC 23 // CHECK-YAML-DAG: Binding: STB_GLOBAL 24 25 // CHECK-SYMBOLS-DAG: _Z10strongFuncv 26 // CHECK-SYMBOLS-DAG: _Z8weakFuncv 27 __attribute__((weak)) void weakFunc() {} 28 int strongFunc() { return 42; } 29