xref: /llvm-project/clang/test/InterfaceStubs/weak.cpp (revision 61fa9afe4c5b014181ce41a35c84fb0f3be975db)
1678e19d8SPuyan Lotfi // REQUIRES: x86-registered-target
2e782192dSPuyan Lotfi // RUN: %clang_cc1 -triple x86_64-linux-gnu -o - -emit-interface-stubs \
3*61fa9afeSHaowei Wu // RUN: -interface-stub-version=ifs-v1 %s | \
468f29dacSPuyan Lotfi // RUN: FileCheck %s
568f29dacSPuyan Lotfi 
668f29dacSPuyan Lotfi // RUN: %clang -target x86_64-unknown-linux-gnu -o - -c %s | llvm-nm - 2>&1 | \
768f29dacSPuyan Lotfi // RUN: FileCheck -check-prefix=CHECK-SYMBOLS %s
868f29dacSPuyan Lotfi 
968f29dacSPuyan Lotfi // CHECK: Symbols:
10e3033c0cSPuyan Lotfi // CHECK-DAG:  - { Name: "_Z8weakFuncv", Type: Func, Weak: true }
11e3033c0cSPuyan Lotfi // CHECK-DAG:  - { Name: "_Z10strongFuncv", Type: Func }
1268f29dacSPuyan Lotfi 
1368f29dacSPuyan Lotfi // CHECK-SYMBOLS-DAG: _Z10strongFuncv
1468f29dacSPuyan Lotfi // CHECK-SYMBOLS-DAG: _Z8weakFuncv
weakFunc()1568f29dacSPuyan Lotfi __attribute__((weak)) void weakFunc() {}
strongFunc()1668f29dacSPuyan Lotfi int strongFunc() { return 42; }
17