URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
// PR c++/19317
|
// PR c++/19317
|
// { dg-options "-O2" }
|
// { dg-options "-O2" }
|
// { dg-do run }
|
// { dg-do run }
|
|
|
extern "C" void abort (void);
|
extern "C" void abort (void);
|
|
|
struct A { int c; int d; int e; int f; };
|
struct A { int c; int d; int e; int f; };
|
|
|
A
|
A
|
foo (const A *x, const A *r)
|
foo (const A *x, const A *r)
|
{
|
{
|
A t;
|
A t;
|
t.c = -1;
|
t.c = -1;
|
t.c += x->c < r->c ? x->c : r->c;
|
t.c += x->c < r->c ? x->c : r->c;
|
t.d = 0;
|
t.d = 0;
|
t.e = 0;
|
t.e = 0;
|
t.f = 0;
|
t.f = 0;
|
return t;
|
return t;
|
}
|
}
|
|
|
int
|
int
|
main ()
|
main ()
|
{
|
{
|
A a;
|
A a;
|
a.c = 10;
|
a.c = 10;
|
a.d = 0;
|
a.d = 0;
|
a.e = 0;
|
a.e = 0;
|
a.f = 0;
|
a.f = 0;
|
A b;
|
A b;
|
b.c = 100;
|
b.c = 100;
|
b.d = 0;
|
b.d = 0;
|
b.e = 0;
|
b.e = 0;
|
b.f = 0;
|
b.f = 0;
|
a = foo (&b, &a);
|
a = foo (&b, &a);
|
if (a.c != 9)
|
if (a.c != 9)
|
abort ();
|
abort ();
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.