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. > 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. > range of the enums or the range of the underlying mode for the > object? Jakub