modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/941014-3.c (about)

     1  typedef unsigned char byte;
     2  typedef unsigned int uint;
     3  typedef unsigned long ulong;
     4  typedef ulong gs_char;
     5  typedef struct gs_show_enum_s gs_show_enum;
     6  typedef struct gs_font_s gs_font;
     7  typedef struct gx_font_stack_item_s {
     8    gs_font *font;
     9  } gx_font_stack_item;
    10  typedef struct gx_font_stack_s {
    11    gx_font_stack_item items[1 + 5 ];
    12  } gx_font_stack;
    13  struct gs_show_enum_s {
    14    gx_font_stack fstack;
    15  };
    16  typedef enum {
    17    ft_composite = 0,
    18  } font_type;
    19  struct gs_font_s {
    20    font_type FontType;
    21  };
    22  typedef enum {
    23    fmap_escape = 3,
    24    fmap_shift = 8
    25    } fmap_type;
    26  typedef struct gs_type0_data_s {
    27    fmap_type FMapType;
    28  } gs_type0_data;
    29  gs_type0_next_char(register gs_show_enum *penum)
    30  {
    31    const byte *p;
    32    int fdepth;
    33    gs_font *pfont;
    34    gs_type0_data *pdata;
    35    uint fidx;
    36    gs_char chr;
    37    for (; pfont->FontType == ft_composite; )
    38      {
    39        fmap_type fmt;
    40        switch ( fmt )
    41  	{
    42  	  do {} while (0);
    43  	rdown:
    44  	  continue;
    45  	case fmap_shift:
    46  	  p++;
    47  	  do {} while (0);
    48  	  goto rdown;
    49  	}
    50        break;
    51      }
    52   up:
    53    while ( fdepth > 0 )
    54      {
    55        switch ( pdata->FMapType )
    56  	{
    57  	default:
    58  	  continue;
    59  	case fmap_escape:
    60  	  fidx = *++p;
    61  	  do {} while (0);
    62  	  if ( fidx == chr && fdepth > 1 )
    63  	    goto up;
    64  	down:
    65  	  fdepth--;
    66  	  do {} while (0);
    67  	}
    68        break;
    69      }
    70    while ( (pfont = penum->fstack.items[fdepth].font)->FontType == ft_composite )
    71      ;
    72  }