summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-02-08 21:07:56 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2016-02-08 21:07:56 +0100
commita162f3af802f4f3dab5a53e6864600e6c38582d7 (patch)
treeef6b66eb6433bac1e4c69b34ec97beabd712d21c /gcc/testsuite/gcc.c-torture
parent4b4a9fbde878d5db993466606c277c827117cbdf (diff)
downloadgcc-a162f3af802f4f3dab5a53e6864600e6c38582d7.tar.gz
re PR tree-optimization/69209 (ICE at -Os and above on x86_64-linux-gnu (verify_gimple failed))
PR tree-optimization/69209 * ipa-split.c (split_function): If split part is not returning retval, retval has gimple type but is not gimple value, force it into a SSA_NAME first. * gcc.c-torture/compile/pr69209.c: New test. From-SVN: r233228
Diffstat (limited to 'gcc/testsuite/gcc.c-torture')
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr69209.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr69209.c b/gcc/testsuite/gcc.c-torture/compile/pr69209.c
new file mode 100644
index 00000000000..fd8046f217d
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr69209.c
@@ -0,0 +1,28 @@
+/* PR tree-optimization/69209 */
+
+int a, c, *d, e;
+
+void foo (void) __attribute__ ((__noreturn__));
+
+int
+bar (void)
+{
+ int f;
+ if (a)
+ {
+ if (e)
+ foo ();
+ foo ();
+ }
+ if (d != &f)
+ foo ();
+ if (!c)
+ foo ();
+ return f;
+}
+
+void
+baz ()
+{
+ bar ();
+}