https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79929

--- Comment #9 from Martin Sebor <msebor at gcc dot gnu.org> ---
I actually think that for the test case in comment #4, the warning does
highlight a problem in the code: since the test (p < c) can never be true the
memset can never be called in a valid program.  At -O2 the problem is detected
by -Wstrict-overflow.  Unfortunately, because -Wstrict-overflow is only issued
when an optimization takes place that depends on the absence of an overflow, it
can't be issued at -O1 when the condition isn't removed.  I still think that
eliminating the memset call (or replacing it with a trap) when the size is
known to be excessive is a viable strategy.  (For memset perhaps under an
option to allow for the rare programs that make use of Physical Address
Extension and clear memory regions larger than 2GB.)

Reply via email to