diff options
author | Alan Modra <amodra@bigpond.net.au> | 2002-04-10 03:52:22 +0000 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2002-04-10 13:22:22 +0930 |
commit | aec3e1894ee750f59a387d006a68377e26f45d16 (patch) | |
tree | b2828de31c98899614e2005c30ec98703ca1d643 | |
parent | a6a063b81ce323e49eb23bd87d7147c5cb09814e (diff) | |
download | gcc-aec3e1894ee750f59a387d006a68377e26f45d16.zip gcc-aec3e1894ee750f59a387d006a68377e26f45d16.tar.gz gcc-aec3e1894ee750f59a387d006a68377e26f45d16.tar.bz2 |
* gcc.c-torture/execute/loop-12.c: New.
From-SVN: r52111
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/loop-12.c | 25 |
2 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ca52605..fae1c9b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2002-04-10 Alan Modra <amodra@bigpond.net.au> + + * gcc.c-torture/execute/loop-12.c: New. + 2002-04-08 Hans-Peter Nilsson <hp@bitrange.com> * g77.f-torture/execute/980628-4.x, diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-12.c b/gcc/testsuite/gcc.c-torture/execute/loop-12.c new file mode 100644 index 0000000..1e34099 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/loop-12.c @@ -0,0 +1,25 @@ +/* Checks that pure functions are not treated as const. */ + +char *p; + +static int __attribute__ ((pure)) +is_end_of_statement (void) +{ + return *p == '\n' || *p == ';' || *p == '!'; +} + +void foo (void) +{ + /* The is_end_of_statement call was moved out of the loop at one stage, + resulting in an endless loop. */ + while (!is_end_of_statement ()) + p++; +} + +int +main (void) +{ + p = "abc\n"; + foo (); + return 0; +} |