svn commit: r228955 - head/include

Ed Schouten ed at 80386.nl
Sun Jan 1 09:29:26 UTC 2012


David,

* David Schultz <das at FreeBSD.ORG>, 20120101 03:54:
> I'm out of town and don't remember the details of this, but is there a
> reason we couldn't simply have an appropriate #ifdef that uses
> __attribute((__noreturn__)) instead of [[noreturn]]?  We have plenty
> of ifdefs in the tree already to work around deficiencies in various
> compilers.  Saying "it's the compiler's fault and we're not going to
> work around it" is a significant departure from historical precedent,
> and it punishes the wrong people.  Easier than arguing with the GNU
> folks about fixing it, too...

Right now GCC 4.7 is still an unreleased piece of software. If GCC 4.7
was a released piece of software, I would of course agree that we should
add the workaround.

The problem isn't that GCC 4.7 doesn't support [[noreturn]]. The problem
is that GCC only implements parts of C++11, yet it forces the compiler
into C++11 mode while bootstrapping. Even if we add a workaround for
this in sys/cdefs.h, we can likely never ever get rid of it. Because if
someone wants to install GCC 4.7 on a FreeBSD 14.0 box in 2020 to build
an old piece of software, he still needs the workaround.

But there's nothing serious going on here. The issue is already
discussed in GCC Bugzilla and there is a patch that fixes the build.
Let's just wait to see what happens.

-- 
 Ed Schouten <ed at 80386.nl>
 WWW: http://80386.nl/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20120101/ff4840c4/attachment.pgp


More information about the svn-src-all mailing list