aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-02-02 01:16:39 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2002-02-02 01:16:39 +0100
commitb24d861d0e29de3e7f136d62bf22d60fe00e9fce (patch)
treeafbb572e4a7e17310ed6e096bbdeb851b5bef86b
parentdfd48d76f76f8e2e0a973e93f0d96f18bd827476 (diff)
downloadgcc-b24d861d0e29de3e7f136d62bf22d60fe00e9fce.zip
gcc-b24d861d0e29de3e7f136d62bf22d60fe00e9fce.tar.gz
gcc-b24d861d0e29de3e7f136d62bf22d60fe00e9fce.tar.bz2
* gcc.dg/20020201-2.c: New test.
From-SVN: r49421
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/20020201-2.c30
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 56d0268..c58eb79 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2002-02-02 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/20020201-2.c: New test.
+
2002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
* gcc.dg/bitfld-1.c: Update.
diff --git a/gcc/testsuite/gcc.dg/20020201-2.c b/gcc/testsuite/gcc.dg/20020201-2.c
new file mode 100644
index 0000000..2a13c8d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20020201-2.c
@@ -0,0 +1,30 @@
+/* This testcase caused ICE because gcc was not able to add instructions
+ on edge from ENTRY block successor to itself. */
+/* { dg-do compile } */
+/* { dg-options "-O3 -fssa" } */
+
+struct A { int a1; int a2; };
+struct B { long int b[32]; };
+
+extern int bar (struct B *, struct A *);
+
+int
+foo (struct B x)
+{
+ struct A a, b;
+ struct B c;
+ int d;
+
+ while (1)
+ {
+ a.a1 = 0;
+ a.a2 = 0;
+ b = a;
+ c = x;
+ d = bar (&c, &b);
+ if (d >= 0)
+ return d;
+ }
+
+ return 0;
+}