diff options
author | Richard Biener <rguenther@suse.de> | 2016-06-09 11:36:22 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-06-09 11:36:22 +0000 |
commit | 36d579866680fd2b45800b072527a9cce93235d0 (patch) | |
tree | c028de2d47057c578a04ccd9b7a702936daa9cd4 /gcc/testsuite/gcc.dg/torture/pr71462.c | |
parent | 28cd6814b5bf87cb65505df85c326f7a1975a60d (diff) | |
download | gcc-36d579866680fd2b45800b072527a9cce93235d0.zip gcc-36d579866680fd2b45800b072527a9cce93235d0.tar.gz gcc-36d579866680fd2b45800b072527a9cce93235d0.tar.bz2 |
re PR tree-optimization/71462 (gcc ICE at -O3 on valid code on x86_64-linux-gnu with “seg fault”)
2016-06-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/71462
* tree-ssa-loop-manip.c (find_uses_to_rename): Guard against
removed blocks.
* gcc.dg/torture/pr71462.c: New testcase.
From-SVN: r237254
Diffstat (limited to 'gcc/testsuite/gcc.dg/torture/pr71462.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr71462.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/pr71462.c b/gcc/testsuite/gcc.dg/torture/pr71462.c new file mode 100644 index 0000000..390b886 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr71462.c @@ -0,0 +1,28 @@ +/* { dg-do compile } */ + +short a; +long b; +void fn1() +{ + int c = a = 1; + for (; a; a++) + { + for (; 9 <= 8;) + for (;;) { + a = 20; + for (; a <= 35; a++) + ; +line:; + } + if ((c += 264487869) == 9) + { + unsigned *d = 0; + for (; b;) + d = (unsigned *)&c; + if (d) + for (;;) + ; + } + } + goto line; +} |