https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64427

            Bug ID: 64427
           Summary: gcc.target/i386/pr64291-1.c is invalid
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: testsuite
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com

gcc.target/i386/pr64291-1.c has

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];

int main ()
{
  mpz_t n, d;
  long nn, dn;
  unsigned long *np, *dup, *dnp, *qp;
  long alloc, itch;

  f (n);
  f (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;
}

and pr64291-2.c has

extern void abort (void);
void f(void*p,...){}
void g(void*p,long a,long b){if (a!=8) abort();}

Since stack variables, n and d, aren't initialized, this testcase is
invalid.

Reply via email to