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]]".