32 lines · cpp
1// REQUIRES: x86-registered-target2// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | \3// RUN: FileCheck %s4 5// RUN: %clang -target x86_64-unknown-linux-gnu -o - -c %s | llvm-nm - 2>&1 | \6// RUN: FileCheck -check-prefix=CHECK-SYMBOLS %s7 8// CHECK: Symbols:9// CHECK-DAG: - { Name: "_ZN3qux3barEii", Type: Func }10// CHECK-DAG: - { Name: "_ZN3baz3addIiEET_S1_S1_", Type: Func }11// CHECK-DAG: - { Name: "_Z4fbarff", Type: Func }12// CHECK-DAG: - { Name: "_ZN3baz3addIfEET_S1_S1_", Type: Func }13 14// Same symbols just different order.15// CHECK-SYMBOLS-DAG: _Z4fbarff16// CHECK-SYMBOLS-DAG: _ZN3baz3addIfEET_S1_S1_17// CHECK-SYMBOLS-DAG: _ZN3baz3addIiEET_S1_S1_18// CHECK-SYMBOLS-DAG: _ZN3qux3barEii19 20namespace baz {21template <typename T>22T add(T a, T b) {23 return a + b;24}25} // namespace baz26 27namespace qux {28int bar(int a, int b) { return baz::add<int>(a, b); }29} // namespace qux30 31float fbar(float a, float b) { return baz::add<float>(a, b); }32