1/* Testcase by Martin Michlmayr <tbm@cyrius.com> */
2/* Used to segfault due to cselim not marking the complex temp var
3   as GIMPLE reg.  */
4
5typedef struct {
6  int nsant, nvqd;
7  _Complex long double *vqd;
8} vsorc_t;
9vsorc_t vsorc;
10
11void foo(int next_job, int ain_num, int iped, long t) {
12  long double zpnorm;
13
14  while (!next_job)
15    if (ain_num)
16    {
17      if (iped == 1)
18        zpnorm = 0.0;
19      int indx = vsorc.nvqd-1;
20      vsorc.vqd[indx] = t*1.0fj;
21      if (cabsl(vsorc.vqd[indx]) < 1.e-20)
22        vsorc.vqd[indx] = 0.0fj;
23      zpnorm = t;
24      if (zpnorm > 0.0)
25        iped = vsorc.nsant;
26    }
27}
28