public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Ken Brown <kbrown@cornell.edu>
To: cygwin@cygwin.com
Subject: Re: lint kills _Noreturn
Date: Mon, 30 May 2016 08:25:00 -0000	[thread overview]
Message-ID: <90ad3e8c-5a34-9973-404f-5fc696dc1e7f@cornell.edu> (raw)
In-Reply-To: <868tys7kbw.fsf@gmail.com>

On 5/29/2016 3:09 PM, Andy Moreton wrote:
> 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.
>>>      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.
>
> 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 configure.ac added a
> definition of lint - that seems wrong.

That was actually added about 4 years ago, in commit b8df54f, when the 
--enable-gcc-warnings option was first added.  The only thing that 
changed recently was that the warnings are enabled by default on a git 
checkout of master.

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

  reply	other threads:[~2016-05-29 22:24 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-29 17:21 Ken Brown
2016-05-29 19:09 ` Ken Brown
2016-05-29 19:28 ` Andy Moreton
2016-05-29 22:24   ` Ken Brown
2016-05-29 22:51     ` Ken Brown
2016-05-30  7:19     ` Andy Moreton
2016-05-30  8:25       ` Ken Brown [this message]
2016-05-30 10:35     ` Corinna Vinschen
2016-05-30 21:57       ` Hans-Bernhard Bröker
2016-05-31  9:35       ` Ken Brown
2016-05-31  9:41         ` Ken Brown
2016-05-31 17:03           ` Corinna Vinschen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=90ad3e8c-5a34-9973-404f-5fc696dc1e7f@cornell.edu \
    --to=kbrown@cornell.edu \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).