URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc3/] [gcc/] [testsuite/] [g++.old-deja/] [g++.bugs/] [900511_01.C] - Rev 305
Go to most recent revision | Compare with Previous | Blame | View Log
// { dg-do run }
// g++ 1.37.1 bug 900511_01
// g++ fails to properly apply user-defined type conversion operators
// in cases where is it not obvious that the given conversion is
// appropriate for the context (i.e. operator and other operands)
// where the conversion should take place.
// cfront 2.0 passes this test.
struct struct_1 {
int member;
operator int ();
};
struct_1::operator int ()
{
return 0;
}
struct struct_2 {
int member;
operator float ();
};
struct_2::operator float ()
{
return 0.0;
}
struct_1 struct_1_object;
struct_2 struct_2_object;
double d;
void test ()
{
d = struct_2_object + struct_1_object; // OK
d = struct_1_object + struct_2_object; // { dg-bogus "" }
}
int main () { return 0; }
Go to most recent revision | Compare with Previous | Blame | View Log