On 8/4/20 8:11 AM, Aldy Hernandez wrote:
On Tue, Aug 4, 2020 at 3:59 PM Martin Sebor <mse...@gmail.com> wrote:
On 8/4/20 5:21 AM, Aldy Hernandez via Gcc-patches wrote:
This is a rather obvious patch, but I'd like a nod before committing.
Martin, I've removed your anti-range check, as it is subsumed by the
lower_bound/upper_bound code. However, you will have to adapt the code
for multi-ranges if desired. For example, you may want to loop through the
sub-ranges and do the right thing. Look at value-range.h and see the comments
for class irange. Those are the methods you should stick to.
i.e.
for (i=0; i < vr->num_pairs(); ++i)
stuff_with(vr->lower_bound(i), vr->upper_bound(i))
There should be no functional changes with this patch.
I have no concern with this change but I appreciate the heads
up and the tip on how to add the multi-range support. Just
one suggestion: I'd prefer to keep the comment about the POSIX
requirement somewhere just as a reminder.
The comment is still there, as you had a duplicate one further up:
else if (dstsize > target_int_max ())
{
warning_at (gimple_location (info.callstmt), info.warnopt (),
"specified bound %wu exceeds %<INT_MAX%>",
dstsize);
/* POSIX requires snprintf to fail if DSTSIZE is greater
than INT_MAX. Avoid folding in that case. */
posunder4k = false;
}
Are you ok with this, or would you rather me copy that comment somewhere else?
I'm fine with it as is, I didn't see the other copy.
Thanks!
Martin