Commit a09e9e35 by Bernd Edlinger Committed by Bernd Edlinger

c-common.c (c_common_truthvalue_conversion): Inhibit Wint-in-bool-context…

c-common.c (c_common_truthvalue_conversion): Inhibit Wint-in-bool-context warning with from_macro_definition_at.

2016-09-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-common.c (c_common_truthvalue_conversion): Inhibit
        Wint-in-bool-context warning with from_macro_definition_at.
        Mention the expression will always evaluate to true.

From-SVN: r240331
parent 63cb3926
2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
* c-common.c (c_common_truthvalue_conversion): Inhibit
Wint-in-bool-context warning with from_macro_definition_at.
Mention the expression will always evaluate to true.
2016-09-21 Martin Sebor <msebor@redhat.com> 2016-09-21 Martin Sebor <msebor@redhat.com>
PR bootstrap/77676 PR bootstrap/77676
......
...@@ -4652,7 +4652,8 @@ c_common_truthvalue_conversion (location_t location, tree expr) ...@@ -4652,7 +4652,8 @@ c_common_truthvalue_conversion (location_t location, tree expr)
TREE_OPERAND (expr, 0)); TREE_OPERAND (expr, 0));
case COND_EXPR: case COND_EXPR:
if (warn_int_in_bool_context) if (warn_int_in_bool_context
&& !from_macro_definition_at (EXPR_LOCATION (expr)))
{ {
tree val1 = fold_for_warn (TREE_OPERAND (expr, 1)); tree val1 = fold_for_warn (TREE_OPERAND (expr, 1));
tree val2 = fold_for_warn (TREE_OPERAND (expr, 2)); tree val2 = fold_for_warn (TREE_OPERAND (expr, 2));
...@@ -4663,7 +4664,8 @@ c_common_truthvalue_conversion (location_t location, tree expr) ...@@ -4663,7 +4664,8 @@ c_common_truthvalue_conversion (location_t location, tree expr)
&& (!integer_onep (val1) && (!integer_onep (val1)
|| !integer_onep (val2))) || !integer_onep (val2)))
warning_at (EXPR_LOCATION (expr), OPT_Wint_in_bool_context, warning_at (EXPR_LOCATION (expr), OPT_Wint_in_bool_context,
"?: using integer constants in boolean context"); "?: using integer constants in boolean context, "
"the expression will always evaluate to %<true%>");
} }
/* Distribute the conversion into the arms of a COND_EXPR. */ /* Distribute the conversion into the arms of a COND_EXPR. */
if (c_dialect_cxx ()) if (c_dialect_cxx ())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment