blob: 6358955866858e5d8aaf516883562ac0a0ddd94c [file] [log] [blame]
// { dg-do run }
extern "C" void abort ();
struct A {
unsigned long long u;
} *a;
struct B {
unsigned long long v;
unsigned long long w ()
{
return a->u - v;
}
} b;
struct C {
static unsigned long long x;
static void y (unsigned long long z);
};
unsigned long long C::x = 0;
int main ()
{
a = new A;
b.v = 333418;
a->u = 1132270;
C::x = 0;
C::y (799016);
}
void foo (unsigned long long a, unsigned long long b, unsigned long long c)
{
}
void C::y (unsigned long long z)
{
unsigned long long c = b.w () - x;
if (z < b.w ())
{
if ((long long) c < 0)
{
foo (b.w (), a->u, b.v);
abort ();
}
}
}