1// PR c++/54359 2// { dg-require-effective-target c++11 } 3 4int& ref(int& x) { return x; } 5const int& ref(const int& x) { return x; } 6 7class A { 8 int x; 9 int f() const; 10 auto test1() const -> decltype(this); 11 auto test2() const -> decltype(ref(x)); 12 auto test3() const -> decltype(f()); 13}; 14 15auto A::test1() const -> decltype(this) { 16 return this; 17} 18 19auto A::test2() const -> decltype(ref(x)) { 20 return ref(x); 21} 22 23auto A::test3() const -> decltype(f()) { 24 return f(); 25} 26