view gcc/testsuite/gcc.c-torture/compile/pr33855.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* Testcase by Martin Michlmayr <tbm@cyrius.com> */
/* Used to segfault due to cselim not marking the complex temp var
   as GIMPLE reg.  */

typedef struct {
  int nsant, nvqd;
  _Complex long double *vqd;
} vsorc_t;
vsorc_t vsorc;

void foo(int next_job, int ain_num, int iped, long t) {
  long double zpnorm;

  while (!next_job)
    if (ain_num)
    {
      if (iped == 1)
        zpnorm = 0.0;
      int indx = vsorc.nvqd-1;
      vsorc.vqd[indx] = t*1.0fj;
      if (cabsl(vsorc.vqd[indx]) < 1.e-20)
        vsorc.vqd[indx] = 0.0fj;
      zpnorm = t;
      if (zpnorm > 0.0)
        iped = vsorc.nsant;
    }
}