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 9:42 AM, 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);

I would think the following is the right thing here:

--- cdefs.h~    2016-04-21 16:14:57.000000000 -0400
+++ cdefs.h     2016-05-29 11:12:09.326695700 -0400
@@ -277,7 +277,7 @@
  * Keywords added in C11.
  */

-#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 201112L || defined(lint)
+#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 201112L

 #if !__has_extension(c_alignas)
 #if (defined(__cplusplus) && __cplusplus >= 201103L) || \

I don't see why defining lint should cause C11 keywords to be redefined, but maybe I'm missing something.

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]