On 11/16/2016 11:49 AM, Prathamesh Kulkarni wrote:
Hi Richard, Following your suggestion in PR78154, the patch checks if stmt contains call to memmove (and friends) in gimple_stmt_nonzero_warnv_p and returns true in that case.
Nice. I think the list should also include mempcpy, stpcpy, and stpncpy, and probably also the corresponding checking built-ins such as __builtin___memcpy_chk. FWIW, a more general solution to consider (possibly for GCC 8) might be to extend attribute nonnull to apply to a functions return value as well (e.g., use zero as the index for that), to indicate that a pointer returned from it is not null. That would let library implementers annotate other functions (such as strerror) Martin