OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.bugs/] [900331_03.C] - Diff between revs 305 and 338

Only display areas with differences | Details | Blame | View Log

Rev 305 Rev 338
// { dg-do run  }
// { dg-do run  }
// { dg-options "" }
// { dg-options "" }
// g++ 1.37.1 bug 900331_03
// g++ 1.37.1 bug 900331_03
// Special Options: -ansi
// Special Options: -ansi
// The following code causes g++ to abort.
// The following code causes g++ to abort.
// Curiously, the abort does not occur if the -pedantic option is used.
// Curiously, the abort does not occur if the -pedantic option is used.
// Cfront 2.0 passes this test.
// Cfront 2.0 passes this test.
// Keywords: abort, conditional operator?:, lvalues, composite types
// Keywords: abort, conditional operator?:, lvalues, composite types
struct struct0 {
struct struct0 {
  int data_member;
  int data_member;
  virtual void function_member () {}    // contributes to the abort
  virtual void function_member () {}    // contributes to the abort
};
};
struct0 object0;
struct0 object0;
struct0 object1;
struct0 object1;
struct0 object2;
struct0 object2;
int i;
int i;
void function0 ()
void function0 ()
{
{
  object2 = (i ? object0 : object1);            // OK
  object2 = (i ? object0 : object1);            // OK
  (i ? object0 : object1) = object2;            // causes abort
  (i ? object0 : object1) = object2;            // causes abort
}
}
int main () { return 0; }
int main () { return 0; }
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.