aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/lookup/two-stage4.C
blob: bbb44afa0d0faf9c89460d1fa075f7d325bf7ed3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

// Contributed by Douglas Gregor <doug.gregor@gmail.com>

template<class T> struct wrap {};

template<typename T> bool& operator==(wrap<T>, wrap<T>);

template<typename T>
void g(T, wrap<wrap<int> > x)
{
  bool& b = x == x; // { dg-bogus "invalid initialization of reference" "" { xfail *-*-*} }
}

template<typename T> int& operator==(wrap<wrap<T> >, wrap<wrap<T> >);

void h()
{
  wrap<wrap<int> > x;
  g(17, x);
}