annotate gcc/testsuite/gcc.c-torture/compile/20040121-1.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR target/12898
kono
parents:
diff changeset
2 0x8000 needs multiple instructions to be emitted on Alpha; the
kono
parents:
diff changeset
3 fluff around it causes it to be emitted in a no_new_pseudos
kono
parents:
diff changeset
4 context, which triggered a problem in alpha.c. */
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 void f (const char *, ...);
kono
parents:
diff changeset
7 int g (void);
kono
parents:
diff changeset
8 void *p (void);
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 int isymBase, ilineBase, sym_hdr, want_line, proc_desc;
kono
parents:
diff changeset
11 char *lines;
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 void print_file_desc (int *fdp)
kono
parents:
diff changeset
14 {
kono
parents:
diff changeset
15 char *str_base = p ();
kono
parents:
diff changeset
16 int symi, pdi = g ();
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 for (symi = 0; isymBase;)
kono
parents:
diff changeset
19 {
kono
parents:
diff changeset
20 int proc_ptr = proc_desc + pdi;
kono
parents:
diff changeset
21 f("1", isymBase, proc_ptr + *fdp, str_base);
kono
parents:
diff changeset
22 if (want_line && *fdp)
kono
parents:
diff changeset
23 {
kono
parents:
diff changeset
24 int delta;
kono
parents:
diff changeset
25 long cur_line = proc_ptr;
kono
parents:
diff changeset
26 char *line_ptr = lines + proc_ptr;
kono
parents:
diff changeset
27 char *line_end = p ();
kono
parents:
diff changeset
28
kono
parents:
diff changeset
29 f("2", sym_hdr);
kono
parents:
diff changeset
30 while (line_ptr < line_end)
kono
parents:
diff changeset
31 {
kono
parents:
diff changeset
32 delta = *line_ptr;
kono
parents:
diff changeset
33 if (delta)
kono
parents:
diff changeset
34 line_ptr++;
kono
parents:
diff changeset
35 else
kono
parents:
diff changeset
36 delta = line_ptr[1] ^ 0x8000;
kono
parents:
diff changeset
37 f("3", cur_line, delta);
kono
parents:
diff changeset
38 }
kono
parents:
diff changeset
39 }
kono
parents:
diff changeset
40 }
kono
parents:
diff changeset
41 }