aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/ref-qual1.C
blob: 7fa826c3db43dc8fe942aaf2a494ae527b4c3a7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// { dg-require-effective-target c++11 }

template <class,class> struct ST;
template <class T> struct ST<T,T> {};

struct A
{
  int f() &;
  char f() &&;
};

template <class T> struct B
{
  int f() &;
  char f() &&;
};

int main()
{
  A a;
  a.f();
  A().f();
  ST<decltype(a.f()), int>();
  ST<decltype(A().f()), char>();
  B<int> b;
  b.f();
  B<int>().f();
  ST<decltype(b.f()), int>();
  ST<decltype(B<int>().f()), char>();
}