OSDN Git Service

2012-01-03 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / pr46867.c
1 /* PR debug/46867 */
2 /* { dg-do compile } */
3 /* { dg-options "-O -g" } */
4
5 typedef __PTRDIFF_TYPE__ ptrdiff_t;
6
7 extern void *bar (void);
8
9 void
10 foo (int x, char *r1, char *r2, __INTPTR_TYPE__ *rp, char *t)
11 {
12   char *tx = tx;
13   char **cc = bar ();
14   ptrdiff_t rx = r1 - r2;
15   for (;;)
16     {
17       char *cp1 = (char *) *rp;
18       char *cp2 = t;
19       char *s;
20       ptrdiff_t len = cp1 - tx + rx * (cp2 - cp1);
21       while (len)
22         ;
23       for (s = tx; s; s++)
24         ;
25       while (s)
26         if (s == cc[s - r1])
27           if (x)
28             bar ();
29       if (cp1)
30         tx = cp2;
31     }
32 }