aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family/c-common.c
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2021-06-24 16:09:20 -0600
committerMartin Sebor <msebor@redhat.com>2021-06-24 19:23:43 -0600
commit43c3f96f296b272614e0981fe3b25b0b1997db96 (patch)
treec64e5c221cd08e07a91a6b2429ae86ffb3f20d66 /gcc/c-family/c-common.c
parent1ebd2b2c9407796cd526137038b9b885f68ffb4d (diff)
downloadgcc-43c3f96f296b272614e0981fe3b25b0b1997db96.zip
gcc-43c3f96f296b272614e0981fe3b25b0b1997db96.tar.gz
gcc-43c3f96f296b272614e0981fe3b25b0b1997db96.tar.bz2
c-family: add support for per-location warning groups.
gcc/c-family/ChangeLog: * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING. (c_common_truthvalue_conversion): Replace direct uses of TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and copy_no_warning. (check_function_arguments_recurse): Same. * c-gimplify.c (c_gimplify_expr): Same. * c-warn.c (overflow_warning): Same. (warn_logical_operator): Same. (warn_if_unused_value): Same. (do_warn_unused_parameter): Same.
Diffstat (limited to 'gcc/c-family/c-common.c')
-rw-r--r--gcc/c-family/c-common.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index c4eb2b1..681fcc9 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -3375,7 +3375,6 @@ pointer_int_sum (location_t loc, enum tree_code resultcode,
tree
c_wrap_maybe_const (tree expr, bool non_const)
{
- bool nowarning = TREE_NO_WARNING (expr);
location_t loc = EXPR_LOCATION (expr);
/* This should never be called for C++. */
@@ -3386,8 +3385,6 @@ c_wrap_maybe_const (tree expr, bool non_const)
STRIP_TYPE_NOPS (expr);
expr = build2 (C_MAYBE_CONST_EXPR, TREE_TYPE (expr), NULL, expr);
C_MAYBE_CONST_EXPR_NON_CONST (expr) = non_const;
- if (nowarning)
- TREE_NO_WARNING (expr) = 1;
protected_set_expr_location (expr, loc);
return expr;
@@ -3633,12 +3630,12 @@ c_common_truthvalue_conversion (location_t location, tree expr)
break;
case MODIFY_EXPR:
- if (!TREE_NO_WARNING (expr)
+ if (!warning_suppressed_p (expr, OPT_Wparentheses)
&& warn_parentheses
&& warning_at (location, OPT_Wparentheses,
"suggest parentheses around assignment used as "
"truth value"))
- TREE_NO_WARNING (expr) = 1;
+ suppress_warning (expr, OPT_Wparentheses);
break;
case CONST_DECL:
@@ -6019,7 +6016,7 @@ check_function_arguments_recurse (void (*callback)
void *ctx, tree param,
unsigned HOST_WIDE_INT param_num)
{
- if (TREE_NO_WARNING (param))
+ if (warning_suppressed_p (param))
return;
if (CONVERT_EXPR_P (param)