------- Comment #7 from jakub at gcc dot gnu dot org 2010-05-12 06:25 ------- I can't reproduce the problem either, neither in 4.6 nor in 4.4. 4.5.0 (rather than current 4.5 snapshots) had a bug with nonnull attribute if a function is IPA optimized and some arguments are optimized out, but I don't think that's the case here.
The nonnull arguments are 1 based, sorry for not reading the testcase carefully when replying in #c3. memcpy etc. with NULL argument is invalid, the standard say that those functions copy from object pointed by the argument (or to object pointed by the argument). NULL doesn't point to any object (the standard say that it compares unequal to pointer to any object). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44081