OSDN Git Service

Merge lto branch into trunk.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / execute / loop-12.c
1 /* Checks that pure functions are not treated as const.  */
2
3 char *p;
4
5 static int __attribute__ ((pure))
6 is_end_of_statement (void)
7 {
8   return *p == '\n' || *p == ';' || *p == '!';
9 }
10
11 void foo (void)
12 {
13   /* The is_end_of_statement call was moved out of the loop at one stage,
14      resulting in an endless loop.  */
15   while (!is_end_of_statement ())
16     p++;
17 }
18
19 int
20 main (void)
21 {
22   p = "abc\n";
23   foo ();
24   return 0;
25 }