------- Comment #9 from hv at crypt dot org 2010-05-12 10:54 ------- The direction of discussion has centred so far on the documentation, but as far as I can tell the only point at which the documentation confused someone was the triage at #3. Should there not be a separate bug opened for problems with the documentation?
Can somone with access to a stock 4.5.0 confirm that the originally reported testcase does indeed show a bug? In #7, Jakub says: > 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. Do you have a reference for this bug? What makes you think this isn't the same? Note that in the process of cutting down the original code to a testcase, one constant that I found had to be preserved was that the test() function be static, so that gcc had freedom to fiddle with the calling conventions; another was that the first parameter be preserved even though unused; another was that the second parameter needed its nonnull attribute. It sounds very similar to me. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44081