1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/* PR c++/26698 */ /* { dg-do compile } */ struct X { int x; X (int i = 0) : x (i) {} operator X& (void) const { return *(new X); } }; void add_one (X & ref) { /* { dg-error "in passing argument" } */ ++ ref.x; } void foo() { X const a (2); add_one(a); /* { dg-error "invalid initialization of reference of type" } */ }