From: Jeffrey A Law Date: Mon, 19 Oct 1998 13:04:43 +0000 (+0000) Subject: * 981019-1.c: New test. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dbcce8f8e83df43acbe213ddb422438080d8e666;p=gcc.git * 981019-1.c: New test. From-SVN: r23182 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 97a4b89d498..539ef3f7ef9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +Mon Oct 19 14:03:07 1998 Jeffrey A Law (law@cygnus.com) + + * 981019-1.c: New test. + Wed Oct 14 21:11:19 1998 Robert Lipe * lib/objc-torture.exp (objc-torture-execute): Add -I so we can diff --git a/gcc/testsuite/gcc.c-torture/execute/981019-1.c b/gcc/testsuite/gcc.c-torture/execute/981019-1.c new file mode 100644 index 00000000000..5d1f009009b --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/981019-1.c @@ -0,0 +1,44 @@ +extern int f2(void); +extern int f3(void); +extern void f1(void); + +void +ff(int fname, int part, int nparts) +{ + if (fname) /* bb 0 */ + { + if (nparts) /* bb 1 */ + f1(); /* bb 2 */ + } + else + fname = 2; /* bb 3 */ + + /* bb 4 is the branch to bb 10 + (bb 10 is physically at the end of the loop) */ + while (f3() /* bb 10 */) + { + if (nparts /* bb 5 */ && f2() /* bb 6 */) + { + f1(); /* bb 7 ... */ + nparts = part; + if (f3()) /* ... bb 7 */ + f1(); /* bb 8 */ + f1(); /* bb 9 */ + break; + } + } + + if (nparts) /* bb 11 */ + f1(); /* bb 12 */ + return; /* bb 13 */ +} + +int main(void) +{ + ff(0, 1, 0); + return 0; +} + +int f3(void) { static int x = 0; x = !x; return x; } +void f1(void) { abort(); } +int f2(void) { abort(); }