1// { dg-do run } 2// { dg-options "" } 3// g++ 1.37.1 bug 900331_03 4 5// Special Options: -ansi 6 7// The following code causes g++ to abort. 8 9// Curiously, the abort does not occur if the -pedantic option is used. 10 11// Cfront 2.0 passes this test. 12 13// Keywords: abort, conditional operator?:, lvalues, composite types 14 15struct struct0 { 16 int data_member; 17 18 virtual void function_member () {} // contributes to the abort 19}; 20 21struct0 object0; 22struct0 object1; 23struct0 object2; 24 25int i; 26 27void function0 () 28{ 29 object2 = (i ? object0 : object1); // OK 30 (i ? object0 : object1) = object2; // causes abort 31} 32 33int main () { return 0; } 34