OSDN Git Service

2005-02-15 Eric Christopher <echristo@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / 20040916-1.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3
4 /* PR17513 - we hit a bug where EDGE_EXECUTABLE was not cleared on
5    successors of the entry block.  This lead to a flow verification
6    error much later in the compilation (after gcse).  */
7 typedef unsigned char uint8; 
8 typedef unsigned int uint32; 
9  
10 uint32 marker = 0; 
11 uint8 *buff = 0; 
12 uint32 bsize = 0; 
13  
14 extern int foo (void); 
15  
16 uint32 
17 bar (void) 
18
19   int len, d; 
20  
21   for (;;) 
22     { 
23       if (foo () == 0) 
24         return (0); 
25  
26       switch (marker) 
27         { 
28         case 0xfe: 
29           { 
30             len |= (*buff++); 
31             bsize -= 2; 
32  
33             while (len > 0) 
34               { 
35                 d = *buff++; 
36                 len--; 
37               } 
38           } 
39           break; 
40         default: 
41           break; 
42         } 
43     } 
44
45