1 /* { dg-do compile { target fpic } } */
2 /* { dg-require-effective-target lp64 } */
3 /* { dg-options "-O1 -fPIC" } */
4 
5 /* PR target/29319 */
6 
7 extern void abort(void);
8 static char l_info[100];
9 
10 void
bug1(unsigned long tag)11 bug1 (unsigned long tag)
12 {
13   char *info = l_info;
14   info[tag - 0x100000000 + 1] = 1;
15 }
16 
17 void
bug2(unsigned long tag)18 bug2 (unsigned long tag)
19 {
20   char *info = l_info;
21   info[tag - 0x700000000 + 2] = 2;
22 }
23 
24 void
bug3(unsigned long tag)25 bug3 (unsigned long tag)
26 {
27   char *info = l_info;
28   info[tag - 0x100000000 + 1] = 3;
29 }
30