1 // PR c++/16276
2 // { dg-do link }
3 // { dg-additional-sources " comdat4-aux.cc" }
4 // { dg-options "-O2" }
5 
6 extern void
7 bar (int x);
8 
9 inline void
foo(int i)10 foo (int i)
11 {
12   switch (i)
13     {
14     case 3:
15     case 5:
16     case 6:
17     case 9:
18     case 15:
19       bar (1);
20       break;
21     case 2:
22     case 4:
23     case 7:
24     case 10:
25     case 11:
26     case 12:
27       bar (2);
28       break;
29     case 0:
30     case 1:
31     case 8:
32     case 13:
33     case 16:
34       bar (3);
35       break;
36     case 14:
37       bar (4);
38       break;
39     default:
40       bar (5);
41       break;
42     }
43 }
44 
45 void *fooaddr = (void *) foo;
46 
47 void
bar(int x)48 bar (int x)
49 {
50   __asm __volatile ("" : : "r" (x));
51 }
52 
53 int
main(void)54 main (void)
55 {
56   return 0;
57 }
58