// { dg-do run } // g++ 1.37.1 bug 900331_02 // g++ fails to treat conditional expressions which yield composite type // (i.e. struct type, union type, or class type) lvalues as if they did // in fact yield lvalues in all cases. // Cfront 2.0 passes this test. // keywords: conditional operator?:, lvalues, composite types struct struct0 { int data_member; }; struct0 object0; struct0 object1; struct0 object2; int i; void function0 () { (i ? object0 : object1).data_member = 99; // { dg-bogus "" } (i ? object0 : object1) = object2; // { dg-bogus "" } } int main () { return 0; }