// REQUIRES: x86-registered-target // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %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: - { Name: "_ZN3qux3barEii", Type: Func } // CHECK-DAG: - { Name: "_ZN3baz3addIiEET_S1_S1_", Type: Func } // CHECK-DAG: - { Name: "_Z4fbarff", Type: Func } // CHECK-DAG: - { Name: "_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 T add(T a, T b) { return a + b; } } // namespace baz namespace qux { int bar(int a, int b) { return baz::add(a, b); } } // namespace qux float fbar(float a, float b) { return baz::add(a, b); }