1234567891011121314151617181920212223242526272829303132 |
- // REQUIRES: x86-registered-target
- // RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs -emit-merged-ifs \
- // RUN: -interface-stub-version=experimental-ifs-v1 %s | \
- // RUN: FileCheck %s
- // RUN: %clang -target x86_64-unknown-linux-gnu -o - -c %s | llvm-nm - 2>&1 | \
- // RUN: FileCheck -check-prefix=CHECK-SYMBOLS %s
- // CHECK: Symbols:
- // CHECK-DAG: _ZN3qux3barEii: { Type: Func }
- // CHECK-DAG: _ZN3baz3addIiEET_S1_S1_: { Type: Func }
- // CHECK-DAG: _Z4fbarff: { Type: Func }
- // CHECK-DAG: _ZN3baz3addIfEET_S1_S1_: { Type: Func }
- // Same symbols just different order.
- // CHECK-SYMBOLS-DAG: _Z4fbarff
- // CHECK-SYMBOLS-DAG: _ZN3baz3addIfEET_S1_S1_
- // CHECK-SYMBOLS-DAG: _ZN3baz3addIiEET_S1_S1_
- // CHECK-SYMBOLS-DAG: _ZN3qux3barEii
- namespace baz {
- template <typename T>
- T add(T a, T b) {
- return a + b;
- }
- } // namespace baz
- namespace qux {
- int bar(int a, int b) { return baz::add<int>(a, b); }
- } // namespace qux
- float fbar(float a, float b) { return baz::add<float>(a, b); }
|