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