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 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.
     http://www.unix.com/man-page/FreeBSD/1/lint

But in the present context (see my second message), we're redefining C11 keywords even though __STDC_VERSION__ >= 201112L.

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.

Ken


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


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