diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-01-09 18:26:46 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-01-09 18:26:46 +0000 |
commit | 1bd14dcb5b5ba446bac57acbc5f29fba2010cbab (patch) | |
tree | cbb0c166eed1e60d497e3bfa0eeea3b0ccb8e903 /gcc/testsuite/gcc.c-torture/compile/20020109-1.c | |
parent | efb2ae3fb6df4768fc5d0d4882eab1983296df49 (diff) | |
download | gcc-1bd14dcb5b5ba446bac57acbc5f29fba2010cbab.tar.gz |
* gcc.c-torture/compile/20020109-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48685 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/20020109-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20020109-1.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/20020109-1.c b/gcc/testsuite/gcc.c-torture/compile/20020109-1.c new file mode 100644 index 00000000000..532fe6de2d5 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20020109-1.c @@ -0,0 +1,23 @@ +/* This testcase ICEd when 2 different successors of a basic block + were successfully threaded and try_forward_edges was not expecting + that. */ + +typedef struct A +{ + struct A *s, *t; + unsigned int u; +} A; + +void bar (A *); + +void +foo (A *x, A *y, A *z) +{ + while (y + && (((y && y->t && y->t->u) ? y : z)->t + == ((x && x->t && x->t->u) ? x : z)->t)) + y = y->s; + + if (y) + bar (y); +} |