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

     1  /* PR target/12898
     2     0x8000 needs multiple instructions to be emitted on Alpha; the
     3     fluff around it causes it to be emitted in a no_new_pseudos
     4     context, which triggered a problem in alpha.c.  */
     5  
     6  void f (const char *, ...);
     7  int g (void);
     8  void *p (void);
     9  
    10  int isymBase, ilineBase, sym_hdr, want_line, proc_desc;
    11  char *lines;
    12  
    13  void print_file_desc (int *fdp)
    14  {
    15    char *str_base = p ();
    16    int symi, pdi = g ();
    17  
    18    for (symi = 0; isymBase;)
    19      {
    20        int proc_ptr = proc_desc + pdi;
    21        f("1", isymBase, proc_ptr + *fdp, str_base);
    22        if (want_line && *fdp)
    23  	{
    24  	  int delta;
    25  	  long cur_line = proc_ptr;
    26  	  char *line_ptr = lines + proc_ptr;
    27  	  char *line_end = p ();
    28  
    29  	  f("2", sym_hdr);
    30  	  while (line_ptr < line_end)
    31  	    {
    32  	      delta = *line_ptr;
    33  	      if (delta)
    34  		line_ptr++;
    35  	      else
    36  		delta = line_ptr[1] ^ 0x8000;
    37  	      f("3", cur_line, delta);
    38  	    }
    39  	}
    40      }
    41  }