[OpenACC] Enable 'attach' clause for combined constructs
[llvm-project.git] / clang / test / InterfaceStubs / template-namespace-function.cpp
blob68f017c4d5ece49789a0a99b53af71d34d122864
1 // REQUIRES: x86-registered-target
2 // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | \
3 // RUN: FileCheck %s
5 // RUN: %clang -target x86_64-unknown-linux-gnu -o - -c %s | llvm-nm - 2>&1 | \
6 // RUN: FileCheck -check-prefix=CHECK-SYMBOLS %s
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 }
14 // Same symbols just different order.
15 // CHECK-SYMBOLS-DAG: _Z4fbarff
16 // CHECK-SYMBOLS-DAG: _ZN3baz3addIfEET_S1_S1_
17 // CHECK-SYMBOLS-DAG: _ZN3baz3addIiEET_S1_S1_
18 // CHECK-SYMBOLS-DAG: _ZN3qux3barEii
20 namespace baz {
21 template <typename T>
22 T add(T a, T b) {
23 return a + b;
25 } // namespace baz
27 namespace qux {
28 int bar(int a, int b) { return baz::add<int>(a, b); }
29 } // namespace qux
31 float fbar(float a, float b) { return baz::add<float>(a, b); }