URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 154 |
Rev 816 |
// PR c++/13371
|
// PR c++/13371
|
// Bug: We were failing to properly protect the lhs on the line marked
|
// Bug: We were failing to properly protect the lhs on the line marked
|
// "here" from multiple evaluation.
|
// "here" from multiple evaluation.
|
|
|
// { dg-do run }
|
// { dg-do run }
|
|
|
extern "C" int printf (const char *, ...);
|
extern "C" int printf (const char *, ...);
|
|
|
enum E { E1, E2 };
|
enum E { E1, E2 };
|
|
|
struct A
|
struct A
|
{
|
{
|
E e : 8;
|
E e : 8;
|
unsigned char c;
|
unsigned char c;
|
};
|
};
|
|
|
A ar[2];
|
A ar[2];
|
|
|
int c;
|
int c;
|
|
|
int f()
|
int f()
|
{
|
{
|
++c;
|
++c;
|
printf ("f()\n");
|
printf ("f()\n");
|
return 0;
|
return 0;
|
}
|
}
|
|
|
int main()
|
int main()
|
{
|
{
|
ar[0].c = 0xff;
|
ar[0].c = 0xff;
|
ar[f()].e = E1; // here
|
ar[f()].e = E1; // here
|
return (c != 1 || ar[0].c != 0xff);
|
return (c != 1 || ar[0].c != 0xff);
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.