aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/c-parser.c
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2021-06-24 15:35:20 -0600
committerMartin Sebor <msebor@redhat.com>2021-06-24 19:23:43 -0600
commit1ebd2b2c9407796cd526137038b9b885f68ffb4d (patch)
tree3cad29c233769e764d045ba8383bcd16df07bb04 /gcc/c/c-parser.c
parent7036e9ef462fde8181bece4ac4e03f3aa27204dc (diff)
downloadgcc-1ebd2b2c9407796cd526137038b9b885f68ffb4d.zip
gcc-1ebd2b2c9407796cd526137038b9b885f68ffb4d.tar.gz
gcc-1ebd2b2c9407796cd526137038b9b885f68ffb4d.tar.bz2
c: add support for per-location warning groups.
gcc/ChangeLog: * tree.h (warning_suppressed_at, copy_warning, warning_suppressed_p, suppress_warning): New functions. gcc/c/ChangeLog: * c-decl.c (pop_scope): Replace direct uses of TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and copy_no_warning. (diagnose_mismatched_decls): Same. (duplicate_decls): Same. (grokdeclarator): Same. (finish_function): Same. (c_write_global_declarations_1): Same. * c-fold.c (c_fully_fold_internal): Same. * c-parser.c (c_parser_expr_no_commas): Same. (c_parser_postfix_expression): Same. * c-typeck.c (array_to_pointer_conversion): Same. (function_to_pointer_conversion): Same. (default_function_array_conversion): Same. (convert_lvalue_to_rvalue): Same. (default_conversion): Same. (build_indirect_ref): Same. (build_function_call_vec): Same. (build_atomic_assign): Same. (build_unary_op): Same. (c_finish_return): Same. (emit_side_effect_warnings): Same. (c_finish_stmt_expr): Same. (c_omp_clause_copy_ctor): Same.
Diffstat (limited to 'gcc/c/c-parser.c')
-rw-r--r--gcc/c/c-parser.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index 27034f8..3922b56 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -7558,7 +7558,7 @@ c_parser_expr_no_commas (c_parser *parser, struct c_expr *after,
ret.original_code = MODIFY_EXPR;
else
{
- TREE_NO_WARNING (ret.value) = 1;
+ suppress_warning (ret.value, OPT_Wparentheses);
ret.original_code = ERROR_MARK;
}
ret.original_type = NULL;
@@ -9088,7 +9088,7 @@ c_parser_postfix_expression (c_parser *parser)
c_parser_consume_token (parser);
expr = c_parser_expression (parser);
if (TREE_CODE (expr.value) == MODIFY_EXPR)
- TREE_NO_WARNING (expr.value) = 1;
+ suppress_warning (expr.value, OPT_Wparentheses);
if (expr.original_code != C_MAYBE_CONST_EXPR
&& expr.original_code != SIZEOF_EXPR)
expr.original_code = ERROR_MARK;