1 // { dg-do run } 2 // { dg-options "-Wconversion" } 3 extern "C" void abort(); 4 5 struct A { 6 typedef double (&B); 7 typedef const double (&C); 8 AA9 A() { } 10 11 operator C () const; 12 operator B (); 13 }; 14 15 static const double d = 2.0; 16 static double e = 3.0; 17 C()18A::operator A::C () const 19 { 20 abort (); 21 return d; 22 } 23 B()24A::operator A::B () 25 { 26 return e; 27 } 28 main()29int main () 30 { 31 (A::C) A (); 32 return 0; 33 } 34