URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 298 |
Rev 384 |
/* PR target/39226 */
|
/* PR target/39226 */
|
/* { dg-do compile } */
|
/* { dg-do compile } */
|
/* { dg-options "-O2" } */
|
/* { dg-options "-O2" } */
|
/* { dg-options "-O2 -mtune=cell -mminimal-toc" { target { powerpc*-*-* && lp64 } } } */
|
/* { dg-options "-O2 -mtune=cell -mminimal-toc" { target { powerpc*-*-* && lp64 } } } */
|
|
|
#if (__SIZEOF_INT__ == 2)
|
#if (__SIZEOF_INT__ == 2)
|
struct A
|
struct A
|
{
|
{
|
char *a;
|
char *a;
|
unsigned int b : 1;
|
unsigned int b : 1;
|
unsigned int c : 15;
|
unsigned int c : 15;
|
};
|
};
|
#else
|
#else
|
struct A
|
struct A
|
{
|
{
|
char *a;
|
char *a;
|
unsigned int b : 1;
|
unsigned int b : 1;
|
unsigned int c : 31;
|
unsigned int c : 31;
|
};
|
};
|
#endif
|
#endif
|
|
|
struct B
|
struct B
|
{
|
{
|
struct A *d;
|
struct A *d;
|
};
|
};
|
|
|
void
|
void
|
foo (struct B *x, unsigned long y)
|
foo (struct B *x, unsigned long y)
|
{
|
{
|
if (x->d[y].c)
|
if (x->d[y].c)
|
return;
|
return;
|
if (x->d[y].b)
|
if (x->d[y].b)
|
x->d[y].a = 0;
|
x->d[y].a = 0;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.