This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: lint kills _Noreturn

On Sun 29 May 2016, Ken Brown wrote:

> On 5/29/2016 12:56 PM, Andy Moreton wrote:
>> On Sun 29 May 2016, Ken Brown wrote:
>>> If lint is defined, then /usr/include/sys/cdefs.h defines _Noreturn as a macro
>>> that expands to nothing.  Is this intentional?
>>> Simple test case:
>>> $ cat test.h
>>> #define lint 1
>>> #include <sys/cdefs.h>
>>> _Noreturn void foo (void);
>>> $ gcc -E test.h | grep foo
>>>          void foo (void);
>>> Ken
>> A traditional lint program may not support the new C11 keywords, but
>> will define the 'lint' symbol. See, e.g.
> But in the present context (see my second message), we're redefining C11
> keywords even though __STDC_VERSION__ >= 201112L.

Agreed, but that should only affect a lint program that understands C11.
Any other program should simply not be defining lint in the first place.

>> Surely the real problem here is a program which is not a lint executable
>> defining 'lint' ?
> The program is emacs built from a git checkout of the master branch.  By
> default the configure option --enable-gcc-checking is used, and this causes
> lint to be defined in src/config.h.  It doesn't seem to be a problem on
> platforms other than Cygwin; or at least it hasn't been reported.

I saw your report of emacs bug#23640, and followed here. I think the
real question is why the recent change to emacs added a
definition of lint - that seems wrong.


Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]