diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/torture/pr57993.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr57993.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/pr57993.c b/gcc/testsuite/gcc.dg/torture/pr57993.c new file mode 100644 index 0000000000..e73b73f4fa --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr57993.c @@ -0,0 +1,30 @@ +/* This ICEd prior to fixing PR57993. */ +/* { dg-do compile } */ + +int a, b, c, d; +char e; +unsigned g; + +void f(void) +{ + int h; + + for(; d; d++) + if(d) +lbl: + g + a || (d = 0); + + b && (a = e); + + for(h = 0; h < 1; ++h) + { + h = c ? : (d = 0); + g = a = (e | 0); + } + + if(a) + goto lbl; + + a = e = 0; + goto lbl; +} |