URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
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; }
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.