------- 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