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 
print_file_desc(int * fdp)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 }
42