| // { 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; } |