@@ -29883,8 +29883,8 @@ cp_parser_omp_clause_ordered (cp_parser
if (num == error_mark_node)
return list;
num = fold_non_dependent_expr (num);
- if (!INTEGRAL_TYPE_P (TREE_TYPE (num))
- || !tree_fits_shwi_p (num)
+ if (!tree_fits_shwi_p (num)
+ || !INTEGRAL_TYPE_P (TREE_TYPE (num))
|| (n = tree_to_shwi (num)) <= 0
|| (int) n != n)
{
@@ -12,4 +12,8 @@ foo (T x)
#pragma omp for collapse (x + 1) // { dg-error "collapse argument needs positive constant integer expression" }
for (int i = 0; i < 10; i++)
;
+ #pragma omp for ordered (x + 1) // { dg-error "ordered argument needs positive constant integer expression" }
+ for (int i = 0; i < 10; i++)
+ for (int j = 0; j < 10; j++)
+ ;
}
@@ -17,6 +17,10 @@ foo (void)
#pragma omp task depend (inout: S[0:10]) // { dg-error "is not a variable in" }
;
+
+ #pragma omp for reduction (+:S[0:10]) // { dg-error "is not a variable in" }
+ for (int i = 0; i < 16; i++)
+ ;
}
void