1 /* { dg-do compile } */
2
3 extern void bar (int);
4
5 int j;
6
7 void test (void)
8 {
9 #pragma GCC unroll 4+4
10 for (unsigned long i = 1; i <= 8; ++i)
11 bar(i);
12
13 #pragma GCC unroll -1 /* { dg-error "requires an assignment-expression that evaluates to a non-negative integral constant less than" } */
14 for (unsigned long i = 1; i <= 8; ++i)
15 bar(i);
16
17 #pragma GCC unroll 20000000000 /* { dg-error "requires an assignment-expression that evaluates to a non-negative integral constant less than" } */
18 for (unsigned long i = 1; i <= 8; ++i)
19 bar(i);
20
21 #pragma GCC unroll j /* { dg-error "requires an assignment-expression that evaluates to a non-negative integral constant less than" } */
22 /* { dg-error "cannot appear in a constant-expression|is not usable in a constant expression" "" { target c++ } .-1 } */
23 for (unsigned long i = 1; i <= 8; ++i)
24 bar(i);
25
26 #pragma GCC unroll 4.2 /* { dg-error "requires an assignment-expression that evaluates to a non-negative integral constant less than" } */
27 for (unsigned long i = 1; i <= 8; ++i)
28 bar(i);
29 }