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


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