On 12/16/13 11:40, Jakub Jelinek wrote:
On Mon, Dec 16, 2013 at 11:25:33AM -0700, Jeff Law wrote:
As you note, there's some question as to whether or not this should
be acceptable for 4.9. Yes it's well contained, but we really need
to draw the line. Is this the last thing for the sanitizers that is
still under consideration?
It can be the last thing, sure. I think the still unimplemented and
potentially useful are the floating point overflow sanitization (haven't
looked yet what exactly it is, I suppose casts from floating point to
integers where the values are out of range, but dunno exactly) and
they have also some __builtin_object_size based bounds checking.
As we both know, there's always more that we can do :-) Given the
self-contained nature of this code, my concern is more about moving
focus from feature work to fixing bugs. The regression list is, umm,
large and not shrinking at a rate that gives me much confidence that
we're on track for a spring release.
I'll take a closer look at the actual patch momentarily.
Also, doesn't C allow objects with an enum type to contain values
not in the enumerated value list? Do TYPE_MIN/TYPE_MAX give the
C allows this, but in C the TYPE_MIN/TYPE_MAX on the ENUMERAL_TYPE is
the full mode range and TREE_TYPE on the ENUMERAL_TYPE is NULL, only
C++ sets it to some limited precision type. The testcase the patch
adds even verifies we don't complain in C for it.
Excellent. Thanks for the clarification.
Jeff