// { dg-do run  }
// { dg-options "" }
// g++ 1.37.1 bug 900331_03

// Special Options: -ansi

// The following code causes g++ to abort.

// Curiously, the abort does not occur if the -pedantic option is used.

// Cfront 2.0 passes this test.

// Keywords: abort, conditional operator?:, lvalues, composite types

struct struct0 {
  int data_member;

  virtual void function_member () {}	// contributes to the abort
};

struct0 object0;
struct0 object1;
struct0 object2;

int i;

void function0 ()
{
  object2 = (i ? object0 : object1);		// OK
  (i ? object0 : object1) = object2;		// causes abort
}

int main () { return 0; }
