This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/51705] [4.7 Regression] FreeBSD uses unsupported C++11 features when __cplusplus == 201103L
- From: "sgk at troutmask dot apl.washington.edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 06 Jan 2012 15:22:09 +0000
- Subject: [Bug bootstrap/51705] [4.7 Regression] FreeBSD uses unsupported C++11 features when __cplusplus == 201103L
- Auto-submitted: auto-generated
- References: <bug-51705-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51705
--- Comment #26 from Steve Kargl <sgk at troutmask dot apl.washington.edu> 2012-01-06 15:22:09 UTC ---
On Fri, Jan 06, 2012 at 03:09:46PM +0000, bkorb at gnu dot org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51705
>
> --- Comment #25 from bkorb at gnu dot org 2012-01-06 15:09:46 UTC ---
> RE: Comment #16 through Comment #23 -- Do not use sed. There is no compelling
> reason to do so. Please read the fixincludes README, wherein "sed" is
> disparaged. I'll add to that the fact that BSD has some non-POSIX treatments
> of multi-line commands. I think this is what you want (not specific to BSD):
>
> +/*
> + * g++ -std=c++11 defines __cplusplus to 201103L, but does not
> + * properly support [[noreturn]].
> + */
> +fix = {
> + hackname = cdef_cplusplus;
> + files = sys/cdefs.h;
> + select = '\[\[noreturn\]\]';
> + c_fix = format;
> + c_fix_arg = "/* noreturn */";
> + test_text = "#define _Noreturn [[noreturn]]";
> +};
>
> Note to self (Bruce): devise a way to compile this fix out
> once GCC++ properly supports "[[noreturn]]".
>
I can test this tomorrow.