On 07.12.11 22:17, David Chisnall wrote:
Author: theraven
Date: Wed Dec  7 21:17:50 2011
New Revision: 228330
URL: http://svn.freebsd.org/changeset/base/228330

Log:
   As per das@'s suggestion, s/__noreturn/_Noreturn/, since the latter is an
   identifier reserved for the implementation in C99 and earlier so there is
   no sensible reason for introducing yet another reserved identifier when we
   could just use the one C1x uses.

   Approved by: brooks (mentor)

Modified: head/sys/sys/cdefs.h
==============================================================================
--- head/sys/sys/cdefs.h        Wed Dec  7 21:02:35 2011        (r228329)
+++ head/sys/sys/cdefs.h        Wed Dec  7 21:17:50 2011        (r228330)
@@ -220,13 +220,13 @@


  #if defined(__cplusplus)&&  __cplusplus>= 201103L
-#define        __noreturn              [[noreturn]]
+#define        _Noreturn               [[noreturn]]
  #elif defined(__STDC_VERSION__)&&  __STDC_VERSION__>  201000L
-#define        __noreturn              _Noreturn
+/* Do nothing - _Noreturn is a keyword */
  #elif defined(__GNUC__)
-#define        __noreturn              __attribute__((__noreturn__))
+#define        _Noreturn               __attribute__((__noreturn__))

This and the previous commit broke bootstrapping gcc.
The problem is this:
/export/devel/build/gcc/head/objdir/./gcc/include-fixed/stdlib.h:96:1: error: expected unqualified-id before '[' token

Line in question is: _Noreturn void      abort(void);
Where _Noreturn gets expanded to [[noreturn]]

I helped myself with adding the below. Well. No clue if it is correct. But at least I can continue building gcc trunk.

Thanks,
Andreas

Index: cdefs.h
===================================================================
--- cdefs.h     (revision 228352)
+++ cdefs.h     (working copy)
@@ -219,7 +219,7 @@
 #endif


-#if defined(__cplusplus) && __cplusplus >= 201103L
+#if defined(__cplusplus) && __cplusplus >= 201103L && !defined(__GNUC__)
 #define        _Noreturn               [[noreturn]]
 #elif defined(__STDC_VERSION__) && __STDC_VERSION__ > 201000L
 /* Do nothing - _Noreturn is a keyword */
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to