blob: 1d3a3809242832ddc21f9bdececa988ded5ccd5f [file] [log] [blame]
/* { dg-options "-O2" } */
/* { dg-additional-sources pr64291-2.c } */
/* { dg-do run { target lp64 } } */
void f(void*,...);
void g(void*,long,long);
int nnn=0;
long test=0;
typedef struct
{
int _mp_size;
unsigned long *_mp_d;
} __mpz_struct;
typedef __mpz_struct mpz_t[1];
void h(mpz_t);
int main ()
{
mpz_t n, d;
long nn, dn;
unsigned long *np, *dup, *dnp, *qp;
long alloc, itch;
f (n);
h (d);
qp = (unsigned long*)__builtin_alloca(4099*8) + 1;
dnp = (unsigned long*)__builtin_alloca (2049*8);
alloc = 1;
for (test = 0; test < 1; test++)
{
dn = d->_mp_size;
dup = d->_mp_d;
f (dnp, dup, dn);
dnp[dn - 1] |= 1UL<<63;
f (0);
nn = nnn;
np = n->_mp_d;
qp[-1] = -757136820;
qp[nn - dn + 1] = 14883681;
f (0);
if (dn >= 6)
f (0);
itch = nn + 1;
if (itch + 1> alloc)
{
g(0,alloc*8,(itch+1)*8);
alloc = itch + 1;
}
f (np, nn);
}
return 0;
}