URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 154 |
Rev 816 |
// { dg-do run }
|
// { dg-do run }
|
extern "C" void abort ();
|
extern "C" void abort ();
|
|
|
struct A {
|
struct A {
|
unsigned long long u;
|
unsigned long long u;
|
} *a;
|
} *a;
|
|
|
struct B {
|
struct B {
|
unsigned long long v;
|
unsigned long long v;
|
unsigned long long w ()
|
unsigned long long w ()
|
{
|
{
|
return a->u - v;
|
return a->u - v;
|
}
|
}
|
} b;
|
} b;
|
|
|
struct C {
|
struct C {
|
static unsigned long long x;
|
static unsigned long long x;
|
static void y (unsigned long long z);
|
static void y (unsigned long long z);
|
};
|
};
|
|
|
unsigned long long C::x = 0;
|
unsigned long long C::x = 0;
|
|
|
int main ()
|
int main ()
|
{
|
{
|
a = new A;
|
a = new A;
|
b.v = 333418;
|
b.v = 333418;
|
a->u = 1132270;
|
a->u = 1132270;
|
C::x = 0;
|
C::x = 0;
|
C::y (799016);
|
C::y (799016);
|
}
|
}
|
|
|
void foo (unsigned long long a, unsigned long long b, unsigned long long c)
|
void foo (unsigned long long a, unsigned long long b, unsigned long long c)
|
{
|
{
|
}
|
}
|
|
|
void C::y (unsigned long long z)
|
void C::y (unsigned long long z)
|
{
|
{
|
unsigned long long c = b.w () - x;
|
unsigned long long c = b.w () - x;
|
if (z < b.w ())
|
if (z < b.w ())
|
{
|
{
|
if ((long long) c < 0)
|
if ((long long) c < 0)
|
{
|
{
|
foo (b.w (), a->u, b.v);
|
foo (b.w (), a->u, b.v);
|
abort ();
|
abort ();
|
}
|
}
|
}
|
}
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.