annotate gcc/testsuite/gcc.c-torture/compile/pr20583.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/20583
kono
parents:
diff changeset
2 On m68k-none-elf, CSE used to generate
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 (set (reg:HI ...)
kono
parents:
diff changeset
5 (const:HI (truncate:HI (minus:SI (label_ref ...)
kono
parents:
diff changeset
6 (label_ref ...)))))
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 which output functions do not know how to handle. Make sure that
kono
parents:
diff changeset
9 such a constant will be rejected. */
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 void bar (unsigned int);
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 void
kono
parents:
diff changeset
14 foo (void)
kono
parents:
diff changeset
15 {
kono
parents:
diff changeset
16 char buf[1] = { 3 };
kono
parents:
diff changeset
17 const char *p = buf;
kono
parents:
diff changeset
18 const char **q = &p;
kono
parents:
diff changeset
19 unsigned int ch;
kono
parents:
diff changeset
20 switch (**q)
kono
parents:
diff changeset
21 {
kono
parents:
diff changeset
22 case 1: ch = 5; break;
kono
parents:
diff changeset
23 case 2: ch = 4; break;
kono
parents:
diff changeset
24 case 3: ch = 3; break;
kono
parents:
diff changeset
25 case 4: ch = 2; break;
kono
parents:
diff changeset
26 case 5: ch = 1; break;
kono
parents:
diff changeset
27 default: ch = 0; break;
kono
parents:
diff changeset
28 }
kono
parents:
diff changeset
29 bar (ch);
kono
parents:
diff changeset
30 }