diff mbox

Patch ping

Message ID 20160928194748.GL7282@tucnak.redhat.com
State New
Headers show

Commit Message

Jakub Jelinek Sept. 28, 2016, 7:47 p.m. UTC
On Wed, Sep 28, 2016 at 09:28:14PM +0200, Bernd Schmidt wrote:
> On 09/28/2016 09:24 PM, Jakub Jelinek wrote:
> >I'd like to ping the
> >
> >http://gcc.gnu.org/ml/gcc-patches/2016-09/msg01436.html
> >
> >patch, containing various fixes for gimple-ssa-sprintf.c.
> >If the 0 < var to var > 0 changes are deemed too controversial, I can
> >separate them from the other changes.
> 
> I'd like to see them separated because they are obvious and good, so please
> install them first.

And here are the 0 < var to var > 0 changes.  Thoughts on those?

2016-09-28  Jakub Jelinek  <jakub@redhat.com>

	* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Use x > 0 instead
	of 0 < x.
	(format_floating, format_string, format_directive,
	get_destination_size, pass_sprintf_length::handle_gimple_call):
	Likewise.



	Jakub

Comments

Bernd Schmidt Sept. 28, 2016, 9:17 p.m. UTC | #1
On 09/28/2016 09:47 PM, Jakub Jelinek wrote:
> And here are the 0 < var to var > 0 changes.  Thoughts on those?

I kind of meant it the other way round, so yeah, please install.


Bernd
Jakub Jelinek Sept. 28, 2016, 9:40 p.m. UTC | #2
On Wed, Sep 28, 2016 at 11:17:55PM +0200, Bernd Schmidt wrote:
> On 09/28/2016 09:47 PM, Jakub Jelinek wrote:
> >And here are the 0 < var to var > 0 changes.  Thoughts on those?
> 
> I kind of meant it the other way round, so yeah, please install.

Oops, sorry, shall I revert what I've committed then?

	Jakub
Bernd Schmidt Sept. 28, 2016, 9:46 p.m. UTC | #3
On 09/28/2016 11:40 PM, Jakub Jelinek wrote:
> On Wed, Sep 28, 2016 at 11:17:55PM +0200, Bernd Schmidt wrote:
>> On 09/28/2016 09:47 PM, Jakub Jelinek wrote:
>>> And here are the 0 < var to var > 0 changes.  Thoughts on those?
>>
>> I kind of meant it the other way round, so yeah, please install.
>
> Oops, sorry, shall I revert what I've committed then?

No, I think it looks fine too, although I can't figure out why that one 
block of code was moved.


Bernd
Jakub Jelinek Sept. 28, 2016, 9:51 p.m. UTC | #4
On Wed, Sep 28, 2016 at 11:46:59PM +0200, Bernd Schmidt wrote:
> On 09/28/2016 11:40 PM, Jakub Jelinek wrote:
> >On Wed, Sep 28, 2016 at 11:17:55PM +0200, Bernd Schmidt wrote:
> >>On 09/28/2016 09:47 PM, Jakub Jelinek wrote:
> >>>And here are the 0 < var to var > 0 changes.  Thoughts on those?
> >>
> >>I kind of meant it the other way round, so yeah, please install.
> >
> >Oops, sorry, shall I revert what I've committed then?
> 
> No, I think it looks fine too, although I can't figure out why that one
> block of code was moved.

The intent was that each of the non-__*_chk builtins is followed by its
__*_chk counterpart; without the patch that was almost the case except for
that one exception.

	Jakub
diff mbox

Patch

--- gcc/gimple-ssa-sprintf.c.jj	2016-09-21 08:54:15.000000000 +0200
+++ gcc/gimple-ssa-sprintf.c	2016-09-21 15:09:02.209261013 +0200
@@ -130,8 +130,8 @@  pass_sprintf_length::gate (function *)
      not optimizing and the pass is being invoked early, or when
      optimizing and the pass is being invoked during optimization
      (i.e., "late").  */
-  return ((0 < warn_format_length || flag_printf_return_value)
-	  && (0 < optimize) == fold_return_value);
+  return ((warn_format_length > 0 || flag_printf_return_value)
+	  && (optimize > 0) == fold_return_value);
 }
 
 /* The result of a call to a formatted function.  */
@@ -1188,7 +1188,7 @@  format_floating (const conversion_spec &
     case 'a':
       {
 	/* The minimum output is "0x.p+0".  */
-	res.range.min = 6 + (0 < prec ? prec : 0);
+	res.range.min = 6 + (prec > 0 ? prec : 0);
 
 	/* Compute the maximum just once.  */
 	static const int a_max[] = {
@@ -1249,7 +1249,7 @@  format_floating (const conversion_spec &
       gcc_unreachable ();
     }
 
-  if (0 < width)
+  if (width > 0)
     {
       if (res.range.min < (unsigned)width)
 	res.range.min = width;
@@ -1440,7 +1440,7 @@  get_string_length (tree str)
 static fmtresult
 format_string (const conversion_spec &spec, tree arg)
 {
-  unsigned width = spec.have_width && 0 < spec.width ? spec.width : 0;
+  unsigned width = spec.have_width && spec.width > 0 ? spec.width : 0;
   int prec = spec.have_precision ? spec.precision : -1;
 
   if (spec.star_width)
@@ -1756,7 +1756,7 @@  format_directive (const pass_sprintf_len
     }
   else
     {
-      if (!res->warned && 0 < fmtres.range.min && navail < fmtres.range.min)
+      if (!res->warned && fmtres.range.min > 0 && navail < fmtres.range.min)
 	{
 	  const char* fmtstr
 	    = (info.bounded
@@ -2332,7 +2332,7 @@  get_destination_size (tree dest)
      a member array as opposed to the whole enclosing object), otherwise
      use type-zero object size to determine the size of the enclosing
      object (the function fails without optimization in this type).  */
-  int ost = 0 < optimize;
+  int ost = optimize > 0;
   unsigned HOST_WIDE_INT size;
   if (compute_builtin_object_size (dest, ost, &size))
     return size;
@@ -2648,7 +2640,8 @@  pass_sprintf_length::handle_gimple_call
      attempt to substitute the computed result for the return value of
      the call.  Avoid this optimization when -frounding-math is in effect
      and the format string contains a floating point directive.  */
-  if (0 < optimize && flag_printf_return_value
+  if (optimize > 0
+      && flag_printf_return_value
       && (!flag_rounding_math || !res.floating))
     try_substitute_return_value (gsi, info, res);
 }