------- Comment #9 from joseph at codesourcery dot com 2008-06-10 11:53 ------- Subject: Re: Use of the 'nonnull' attribute breaks code
On Tue, 10 Jun 2008, pgut001 at cs dot auckland dot ac dot nz wrote: > fully correct code suddenly breaks. In fact gcc seems to be doing the > opposite > of what ISO WG 14 is proposing for this attribute, which was to add extra > checking to make sure the attribute isn't NULL. gcc instead *removes* extra > checking to make sure the attribute isn't NULL. If WG14 is proposing incompatible attribute semantics, that's ignoring the C1X Charter (N1250) - we agreed at the London meeting that one of the main problems with C99 and reasons for it not being widely implemented, that should be avoided for C1x, was invention and being incompatible with existing practice. (Some subsequent minutes suggest that the idea has since been adopted that C++0x can invent something and then C1x can take C++0x as existing practice for C; not a good idea in my view.) 13. Unlike for C9X, the consensus at the London meeting was that there should be no invention, without exception. Only those features that have a history and are in common use by a commercial implementation should be considered. Also there must be care to standardize these features in a way that would make the Standard and the commercial implementation compatible. Do you have a reference to the incompatible proposal? I sent N1259 a while back warning about incompatibilities in syntax; perhaps a paper is needed on incompatible semantics as well. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36166