1/* { dg-do compile { target { *-*-linux* && ia32 } } } */
2/* { dg-options "-O2 -fpie" } */
3/* { dg-final { scan-assembler "addl\[ \\t\]+\[$\]_GLOBAL_OFFSET_TABLE_, %ebx" } } */
4/* { dg-final { scan-assembler "movl\[ \\t\]+c@GOTOFF\[(\]%ebx\[)\]" } } */
5/* { dg-final { scan-assembler-not "movl\[ \\t\]+\[0-9]+\[(\]%esp\[)\], %ebx" } } */
6long c = 1;
7
8int bar();
9
10int foo (unsigned int iters)
11{
12  unsigned int i;
13
14  int res = 0;
15  static long t1;
16
17  for (i = 0; i < iters; i++)
18    {
19      res = bar();
20      t1 = c + res;
21    }
22
23  return t1 + res;
24}
25