1 /* { dg-additional-options "-std=gnu99" { target c } } */
2 
3 extern
4 #ifdef __cplusplus
5 "C"
6 #endif
7 void abort (void);
8 
9 #define M(x, y, z) O(x, y, z)
10 #define O(x, y, z) x ## _ ## y ## _ ## z
11 
12 #define F simd
13 #define G simd
14 #define S
15 #define N(x) M(x, G, normal)
16 #include "for-2.h"
17 #undef S
18 #undef N
19 #undef F
20 #undef G
21 
22 #define F parallel for simd
23 #define G pf_simd
24 #include "for-1.h"
25 #undef F
26 #undef G
27 
28 #undef SC
29 #define SC static
30 #define F for simd
31 #define G f_simd
32 #include "for-1.h"
33 #undef F
34 #undef G
35 #undef SC
36 
37 int
main()38 main ()
39 {
40   if (test_simd_normal ()
41       || test_pf_simd_static ()
42       || test_pf_simd_static32 ()
43       || test_pf_simd_auto ()
44       || test_pf_simd_guided32 ()
45       || test_pf_simd_runtime ()
46       || test_f_simd_static ()
47       || test_f_simd_static32 ()
48       || test_f_simd_auto ()
49       || test_f_simd_guided32 ()
50       || test_f_simd_runtime ())
51     abort ();
52   return 0;
53 }
54