Merge from mainline (165734:167278).
[official-gcc/graphite-test-results.git] / gcc / testsuite / g++.dg / abi / mangle13.C
blob716c4c36f410901dc2620ea5a317f84feca18fe2
1 // { dg-options "-fabi-version=0" }
3 struct A {
4   template <typename T> int f ();
5   int operator+();
6   operator int ();
7   template <typename T> 
8   int operator-();
9 };
11 typedef int (A::*P)();
13 template <P> struct S {};
15 template <typename T> void g (S<&T::template f<int> >) {}
16 template <typename T> void g (S<&T::operator+ >) {}
17 template <typename T> void g (S<&T::operator int>) {}
18 template <typename T> void g (S<&T::template operator- <double> >) {}
20 template void g<A> (S<&A::f<int> >);
21 template void g<A> (S<&A::operator+>);
22 template void g<A> (S<&A::operator int>);
23 template void g<A> (S<&A::operator-<double> >);
25 // { dg-final { scan-assembler _Z1gI1AEv1SIXadsrT_1fIiEEE } }
26 // { dg-final { scan-assembler _Z1gI1AEv1SIXadsrT_plEE } }
27 // { dg-final { scan-assembler _Z1gI1AEv1SIXadsrT_cviEE } }
28 // { dg-final { scan-assembler _Z1gI1AEv1SIXadsrT_miIdEEE } }