34 lines
384 B
C
34 lines
384 B
C
// { dg-do run }
|
|
// { dg-options "-Wconversion" }
|
|
extern "C" void abort();
|
|
|
|
struct A {
|
|
typedef double (&B);
|
|
typedef const double (&C);
|
|
|
|
A() { }
|
|
|
|
operator C () const;
|
|
operator B ();
|
|
};
|
|
|
|
static const double d = 2.0;
|
|
static double e = 3.0;
|
|
|
|
A::operator A::C () const
|
|
{
|
|
abort ();
|
|
return d;
|
|
}
|
|
|
|
A::operator A::B ()
|
|
{
|
|
return e;
|
|
}
|
|
|
|
int main ()
|
|
{
|
|
(A::C) A ();
|
|
return 0;
|
|
}
|