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