OSDN Git Service

PR c++/48051
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / abi / mangle58.C
1 // { dg-options "-std=c++0x -fabi-version=0" }
2
3 template<typename T, int (*cmp)(T, T)> struct A { };
4 struct B {
5   template<typename T> static int cmp1(T a, T b);
6   static int cmp2(char a, char b);
7   // { dg-final { scan-assembler "_ZN1B1fIcEEvR1AIT_X4cmp1EE" } }
8   template <typename T> static void f (A<T,cmp1> &);
9   // { dg-final { scan-assembler "_ZN1B1gIcEEvR1AIT_XsrS_4cmp1EE" } }
10   template <typename T> static void g (A<T,B::cmp1> &);
11   // { dg-final { scan-assembler "_ZN1B1fIcEEvR1AIT_L_ZNS_4cmp2EccEE" } }
12   template <typename T> static void f (A<T,cmp2> &);
13   // { dg-final { scan-assembler "_ZN1B1gIcEEvR1AIT_L_ZNS_4cmp2EccEE" } }
14   template <typename T> static void g (A<T,B::cmp2> &);
15 };
16
17 void g()
18 {
19   A<char,B::cmp1> a;
20   B::f(a);
21   B::g(a);
22   A<char,B::cmp2> a2;
23   B::f(a2);
24   B::g(a2);
25 }