This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/51705] [4.7 Regression] FreeBSD uses unsupported C++11 features when __cplusplus == 201103L


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]