http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51705
--- Comment #37 from bkorb at gnu dot org 2012-01-09 22:11:09 UTC --- It is getting too confusing. +/* + * 'g++ -std=c++11' defines __cplusplus to 201103L, which suggests + * that it conforms to ISO/IEC 14882:2011. Until G++ fully conforms, + * it should not set __cplusplus to that value. It currently does + * not support the [[noreturn]] procedure attribute. + * When it does, this hack should be removed. + * SEE: gcc.gnu.org/bugzilla/show_bug.cgi?id=51776 + */ +fix = { + hackname = cdef_cplusplus; + files = sys/cdefs.h; + select = '\[\[noreturn\]\]'; + c_fix = format; + c_fix_arg = '__attribute__((__noreturn__))'; + test_text = "#define _Noreturn [[noreturn]]"; +}; This is the fix/hack that should be used. There will also be a change required for tests/base/sys/cdefs.h. The following is also correct, since I read a more recent GNU Coding standards that makes it clear to not use "Ver." in the version. This is approved. Regards, Bruce Index: genfixes =================================================================== --- genfixes (revision 182738) +++ genfixes (working copy) @@ -62,7 +62,7 @@ fi AG="autogen $AG" set -e -if [ -z "`${AG} -v | fgrep 'Ver. 5.'`" ] +if [ -z "`${AG} -v | fgrep ' 5.'`" ] then echo "AutoGen appears to be out of date or not correctly installed." echo "Please download and install:"