@@ -32843,7 +32843,8 @@ cp_parser_omp_for_cond (cp_parser *parser, tree decl, enum tree_code code)
|| CLASS_TYPE_P (TREE_TYPE (decl))))
return cond;
- return build_x_binary_op (input_location, TREE_CODE (cond),
+ return build_x_binary_op (EXPR_LOC_OR_LOC (cond, input_location),
+ TREE_CODE (cond),
TREE_OPERAND (cond, 0), ERROR_MARK,
TREE_OPERAND (cond, 1), ERROR_MARK,
/*overload=*/NULL, tf_warning_or_error);
@@ -86,16 +86,16 @@ f1 (int x)
for (j = baz (&i); j < 16; j += 2)
;
#pragma omp for collapse(2)
- for (i = 0; i < 16; i++) /* { dg-error "condition expression refers to iteration variable" } */
- for (j = 16; j > (i & x); j--)
+ for (i = 0; i < 16; i++)
+ for (j = 16; j > (i & x); j--) /* { dg-error "condition expression refers to iteration variable" } */
;
#pragma omp for collapse(2)
- for (i = 0; i < 16; i++) /* { dg-error "condition expression refers to iteration variable" } */
- for (j = 0; j < i; j++)
+ for (i = 0; i < 16; i++)
+ for (j = 0; j < i; j++) /* { dg-error "condition expression refers to iteration variable" } */
;
#pragma omp for collapse(2)
- for (i = 0; i < 16; i++) /* { dg-error "condition expression refers to iteration variable" } */
- for (j = 0; j < i + 4; j++)
+ for (i = 0; i < 16; i++)
+ for (j = 0; j < i + 4; j++) /* { dg-error "condition expression refers to iteration variable" } */
;
#pragma omp for collapse(2)
for (i = 0; i < j + 4; i++) /* { dg-error "condition expression refers to iteration variable" } */
@@ -110,8 +110,8 @@ f1 (int x)
for (j = 0; j < 16; j++)
;
#pragma omp for collapse(2)
- for (i = 0; i < 16; i++) /* { dg-error "condition expression refers to iteration variable" } */
- for (j = 0; j < baz (&i); j++)
+ for (i = 0; i < 16; i++)
+ for (j = 0; j < baz (&i); j++) /* { dg-error "condition expression refers to iteration variable" } */
;
#pragma omp for collapse(2)
for (i = 0; i < 16; i += j) /* { dg-error "increment expression refers to iteration variable" } */
@@ -219,20 +219,20 @@ f2 (int x)
for (int j = baz (&i); j < 16; j += 2)
;
#pragma omp for collapse(2)
- for (int i = 0; i < 16; i++) /* { dg-error "condition expression refers to iteration variable" } */
- for (int j = 16; j > (i & x); j--)
+ for (int i = 0; i < 16; i++)
+ for (int j = 16; j > (i & x); j--) /* { dg-error "condition expression refers to iteration variable" } */
;
#pragma omp for collapse(2)
- for (int i = 0; i < 16; i++) /* { dg-error "condition expression refers to iteration variable" } */
- for (int j = 0; j < i; j++)
+ for (int i = 0; i < 16; i++)
+ for (int j = 0; j < i; j++) /* { dg-error "condition expression refers to iteration variable" } */
;
#pragma omp for collapse(2)
- for (int i = 0; i < 16; i++) /* { dg-error "condition expression refers to iteration variable" } */
- for (int j = 0; j < i + 4; j++)
+ for (int i = 0; i < 16; i++)
+ for (int j = 0; j < i + 4; j++) /* { dg-error "condition expression refers to iteration variable" } */
;
#pragma omp for collapse(2)
- for (int i = 0; i < 16; i++) /* { dg-error "condition expression refers to iteration variable" } */
- for (int j = 0; j < baz (&i); j++)
+ for (int i = 0; i < 16; i++)
+ for (int j = 0; j < baz (&i); j++) /* { dg-error "condition expression refers to iteration variable" } */
;
#pragma omp for collapse(2)
for (int i = 0; i < 16; i++) /* { dg-error "increment expression refers to iteration variable" } */