(root)/
gcc-13.2.0/
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