c-parser.c (c_parser_statement_after_labels): Use protected_set_expr_location.
* c-parser.c (c_parser_statement_after_labels): Use protected_set_expr_location. (c_parser_omp_clause_num_gangs): Likewise. (c_parser_omp_clause_num_threads): Likewise. (c_parser_omp_clause_num_workers): Likewise. (c_parser_omp_clause_vector_length): Likewise. (c_parser_omp_clause_num_teams): Likewise. (c_parser_omp_clause_thread_limit): Likewise. * c-typeck.c (build_c_cast): Likewise. (c_cast_expr): Likewise. From-SVN: r228541
This commit is contained in:
parent
46836b0e03
commit
21ba0ceaa5
@ -1,3 +1,16 @@
|
||||
2015-10-06 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
* c-parser.c (c_parser_statement_after_labels): Use
|
||||
protected_set_expr_location.
|
||||
(c_parser_omp_clause_num_gangs): Likewise.
|
||||
(c_parser_omp_clause_num_threads): Likewise.
|
||||
(c_parser_omp_clause_num_workers): Likewise.
|
||||
(c_parser_omp_clause_vector_length): Likewise.
|
||||
(c_parser_omp_clause_num_teams): Likewise.
|
||||
(c_parser_omp_clause_thread_limit): Likewise.
|
||||
* c-typeck.c (build_c_cast): Likewise.
|
||||
(c_cast_expr): Likewise.
|
||||
|
||||
2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* c-typeck.c (c_tree_equal): Use real_equal instead of
|
||||
|
@ -5141,9 +5141,8 @@ c_parser_statement_after_labels (c_parser *parser, vec<tree> *chain)
|
||||
(recursively) all of the component statements should already have
|
||||
line numbers assigned. ??? Can we discard no-op statements
|
||||
earlier? */
|
||||
if (CAN_HAVE_LOCATION_P (stmt)
|
||||
&& EXPR_LOCATION (stmt) == UNKNOWN_LOCATION)
|
||||
SET_EXPR_LOCATION (stmt, loc);
|
||||
if (EXPR_LOCATION (stmt) == UNKNOWN_LOCATION)
|
||||
protected_set_expr_location (stmt, loc);
|
||||
|
||||
parser->in_if_block = in_if_block;
|
||||
}
|
||||
@ -10681,8 +10680,7 @@ c_parser_omp_clause_num_gangs (c_parser *parser, tree list)
|
||||
/* Attempt to statically determine when the number isn't positive. */
|
||||
c = fold_build2_loc (expr_loc, LE_EXPR, boolean_type_node, t,
|
||||
build_int_cst (TREE_TYPE (t), 0));
|
||||
if (CAN_HAVE_LOCATION_P (c))
|
||||
SET_EXPR_LOCATION (c, expr_loc);
|
||||
protected_set_expr_location (c, expr_loc);
|
||||
if (c == boolean_true_node)
|
||||
{
|
||||
warning_at (expr_loc, 0,
|
||||
@ -10726,8 +10724,7 @@ c_parser_omp_clause_num_threads (c_parser *parser, tree list)
|
||||
/* Attempt to statically determine when the number isn't positive. */
|
||||
c = fold_build2_loc (expr_loc, LE_EXPR, boolean_type_node, t,
|
||||
build_int_cst (TREE_TYPE (t), 0));
|
||||
if (CAN_HAVE_LOCATION_P (c))
|
||||
SET_EXPR_LOCATION (c, expr_loc);
|
||||
protected_set_expr_location (c, expr_loc);
|
||||
if (c == boolean_true_node)
|
||||
{
|
||||
warning_at (expr_loc, 0,
|
||||
@ -10771,8 +10768,7 @@ c_parser_omp_clause_num_workers (c_parser *parser, tree list)
|
||||
/* Attempt to statically determine when the number isn't positive. */
|
||||
c = fold_build2_loc (expr_loc, LE_EXPR, boolean_type_node, t,
|
||||
build_int_cst (TREE_TYPE (t), 0));
|
||||
if (CAN_HAVE_LOCATION_P (c))
|
||||
SET_EXPR_LOCATION (c, expr_loc);
|
||||
protected_set_expr_location (c, expr_loc);
|
||||
if (c == boolean_true_node)
|
||||
{
|
||||
warning_at (expr_loc, 0,
|
||||
@ -11116,8 +11112,7 @@ c_parser_omp_clause_vector_length (c_parser *parser, tree list)
|
||||
/* Attempt to statically determine when the number isn't positive. */
|
||||
c = fold_build2_loc (expr_loc, LE_EXPR, boolean_type_node, t,
|
||||
build_int_cst (TREE_TYPE (t), 0));
|
||||
if (CAN_HAVE_LOCATION_P (c))
|
||||
SET_EXPR_LOCATION (c, expr_loc);
|
||||
protected_set_expr_location (c, expr_loc);
|
||||
if (c == boolean_true_node)
|
||||
{
|
||||
warning_at (expr_loc, 0,
|
||||
@ -11193,8 +11188,7 @@ c_parser_omp_clause_num_teams (c_parser *parser, tree list)
|
||||
/* Attempt to statically determine when the number isn't positive. */
|
||||
c = fold_build2_loc (expr_loc, LE_EXPR, boolean_type_node, t,
|
||||
build_int_cst (TREE_TYPE (t), 0));
|
||||
if (CAN_HAVE_LOCATION_P (c))
|
||||
SET_EXPR_LOCATION (c, expr_loc);
|
||||
protected_set_expr_location (c, expr_loc);
|
||||
if (c == boolean_true_node)
|
||||
{
|
||||
warning_at (expr_loc, 0, "%<num_teams%> value must be positive");
|
||||
@ -11237,8 +11231,7 @@ c_parser_omp_clause_thread_limit (c_parser *parser, tree list)
|
||||
/* Attempt to statically determine when the number isn't positive. */
|
||||
c = fold_build2_loc (expr_loc, LE_EXPR, boolean_type_node, t,
|
||||
build_int_cst (TREE_TYPE (t), 0));
|
||||
if (CAN_HAVE_LOCATION_P (c))
|
||||
SET_EXPR_LOCATION (c, expr_loc);
|
||||
protected_set_expr_location (c, expr_loc);
|
||||
if (c == boolean_true_node)
|
||||
{
|
||||
warning_at (expr_loc, 0, "%<thread_limit%> value must be positive");
|
||||
|
@ -5216,8 +5216,7 @@ build_c_cast (location_t loc, tree type, tree expr)
|
||||
|| TREE_CODE (expr) == COMPLEX_CST)))
|
||||
value = build1 (NOP_EXPR, type, value);
|
||||
|
||||
if (CAN_HAVE_LOCATION_P (value))
|
||||
SET_EXPR_LOCATION (value, loc);
|
||||
protected_set_expr_location (value, loc);
|
||||
return value;
|
||||
}
|
||||
|
||||
@ -5255,8 +5254,8 @@ c_cast_expr (location_t loc, struct c_type_name *type_name, tree expr)
|
||||
SET_EXPR_LOCATION (ret, loc);
|
||||
}
|
||||
|
||||
if (CAN_HAVE_LOCATION_P (ret) && !EXPR_HAS_LOCATION (ret))
|
||||
SET_EXPR_LOCATION (ret, loc);
|
||||
if (!EXPR_HAS_LOCATION (ret))
|
||||
protected_set_expr_location (ret, loc);
|
||||
|
||||
/* C++ does not permits types to be defined in a cast, but it
|
||||
allows references to incomplete types. */
|
||||
|
Loading…
Reference in New Issue
Block a user