On 02/02/2017 03:15 PM, Jakub Jelinek wrote:
Plus there are certain notes removed:
-builtin-sprintf-warn-1.c:1311:3: note: using the range [1, -2147483648] for
directive argument
T (0, "%d", a); /* { dg-warning "into a region" } */
without replacement, here a has [-2147483648, 2147483647] range, but as that
is equal to the type's range, I bet it omits it.
Could be. As I said, there are opportunities for improvements in
what the notes print. Someone pointed out, for example, that very
large numbers are hard to read. It might be clearer to print some
of them using constants like LONG_MAX - 2, or in hex, etc.
The *_MAX or hex is a separate issue, that can be done or doesn't have to be
done, the values are simply the same. But picking some random numbers in
the ranges is just wrong.
Agreed. Further refinements in this area should be distinct patches
from the ones currently under consideration.
One of the high level things that worries me is the level of patch
dependencies I see as we work through the issues in this code. That is
part of what led to the mega patch that I asked Martin to break down
into pieces, and Martin has indicated levels of pain around keeping
patches up-to-date WRT the trunk sources.
This is often an indication we went forward with the original work too
quickly. I'll take the heat on gating this stuff in too quickly. It
happens once in a while (I did the same with the IPA ICF code a couple
years back).
It's a manageable problem as long as we're aware of and work to avoid
dependencies.
Jeff