modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/960117-1.c (about)

     1  static char id_space[2] [32 +1];
     2  typedef short COUNT;
     3  
     4  typedef char TEXT;
     5  
     6  union T_VALS
     7  {
     8    TEXT   *id __attribute__ ((aligned (2), packed)) ;
     9  };
    10  typedef union T_VALS VALS;
    11  
    12  struct T_VAL
    13  {
    14    COUNT    pos __attribute__ ((aligned (2), packed)) ;
    15    VALS    vals __attribute__ ((aligned (2), packed)) ;
    16  };
    17  typedef struct T_VAL VAL;
    18  
    19  VAL curval = {0};
    20  
    21  static short idc = 0;
    22  static int cur_line;
    23  static int char_pos;
    24  
    25  typedef unsigned short WORD;
    26  
    27  WORD
    28  get_id (char c)
    29  {
    30    curval.vals.id[0] = c;
    31  }
    32  
    33  WORD
    34  get_tok ()
    35  {
    36    char c = 'c';
    37    curval.vals.id = id_space[idc];
    38    curval.pos = (cur_line << 10) | char_pos;
    39    return get_id (c);
    40  }
    41  
    42  main ()
    43  {
    44    get_tok ();
    45    exit (0);
    46  }