diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/c-family/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/c-family/c-common.c | 6 | 
2 files changed, 10 insertions, 2 deletions
| diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 7795f9c..3dfb39f 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,9 @@ +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 diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index d1372a4..48d8b05 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -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 ()) | 
