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>
PR bootstrap/77676
......
......@@ -4652,7 +4652,8 @@ c_common_truthvalue_conversion (location_t location, tree expr)
TREE_OPERAND (expr, 0));
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 val2 = fold_for_warn (TREE_OPERAND (expr, 2));
......@@ -4663,7 +4664,8 @@ c_common_truthvalue_conversion (location_t location, tree expr)
&& (!integer_onep (val1)
|| !integer_onep (val2)))
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. */
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