1 /* { dg-do run } */ 2 3 #define N 9 4 5 void __attribute__((noipa)) f(double x,double y,double * res)6f (double x, double y, double *res) 7 { 8 y = -y; 9 for (int i = 0; i < N; ++i) 10 { 11 double tmp = y; 12 y = x; 13 x = tmp; 14 res[i] = i; 15 } 16 res[N] = y * y; 17 res[N + 1] = x; 18 } 19 20 int main(void)21main (void) 22 { 23 double res[N + 2]; 24 f (10, 20, res); 25 for (int i = 0; i < N; ++i) 26 if (res[i] != i) 27 __builtin_abort (); 28 if (res[N] != 100 || res[N + 1] != -20) 29 __builtin_abort (); 30 return 0; 31 } 32