1 /* { dg-do run } */
2
3 unsigned p[3];
4 void __attribute__((noipa))
5 bar (float *q, int n, int m)
6 {
7 for (int i = 0; i < m; ++i)
8 {
9 if (i == n)
10 {
11 unsigned a = p[1];
12 p[1] = a + 1;
13 *q = 1.;
14 }
15 q++;
16 }
17 }
18
19 int main()
20 {
21 #if __SIZEOF_FLOAT__ == __SIZEOF_INT__
22 bar ((float *)p, 1, 3);
23 if (((float *)p)[1] != 1.)
24 __builtin_abort ();
25 #endif
26 return 0;
27 }