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