1 /* { dg-do compile } */
2 /* { dg-require-effective-target fpic } */
3 /* { dg-require-effective-target aarch64_small_fpic } */
4 /* { dg-options "-O2 -fpic -fno-inline --save-temps" } */
5 /* { dg-skip-if "-fpic for AArch64 small code model" { aarch64*-*-* } { "-mcmodel=tiny" "-mcmodel=large" } { "" } } */
6
7 void abort ();
8 int global_a;
9
10 int
11 initialize (void)
12 {
13 global_a = 0x10;
14 return global_a - 1;
15 }
16
17 int
18 main (int argc, char **argv)
19 {
20 int a = initialize ();
21
22 if (a != global_a - 1)
23 abort ();
24
25 return 0;
26 }
27
28 /* { dg-final { scan-assembler-times "adrp\tx\[0-9\]+, _GLOBAL_OFFSET_TABLE" 2 } } */
29 /* { dg-final { cleanup-saved-temps } } */