(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
compile/
20040121-1.c
       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  }