On Sun, Dec 11, 2011, David Chisnall wrote:
> On 11 Dec 2011, at 21:12, Andreas Tobler wrote:
> 
> > As far as I understand, GCC does not support this attribute [[noreturn]] 
> > yet. But it defines both, __cplusplus and __cplusplus=201103L. On gcc-4.7 
> > __cplusplus=201103L is the default when we build libstdc++.
> 
> Advertising C++11 compatibility and then not supporting fairly simple C++11 
> features seems like a pretty major GCC bug.  
> 
> > So I think we have to extend the check as below or we can reorder the 
> > defines that GNUC is before the __cplusplus &&  __cplusplus>= 201103L.
> 
> I'd rather prefer the standard version to the non-standard version, but maybe 
> we can add an extra check to see if your compiler incompetent.

The reality is that none of the open source compilers even fully
support C99.  We try to make sure the FreeBSD headers don't blow
up with other compilers, although some of the support for the
Intel compiler and ancient versions of gcc has rotted.  It is ugly
at times, but many of the compiler-specific details are abstracted
away in macros in <sys/cdefs.h>.

Note that for the POSIX/XSI/C standards, we actually define our
own visibility macros, because the standard ones are such a mess.
We will presumably need one for C1X soon.
_______________________________________________
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