http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51776

             Bug #: 51776
           Summary: fixincludes hacks around a C++ deficiency
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: preprocessor
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: bk...@gnu.org


a new fixinclude hack is about to be added to paper over the fact that
g++ -std=c++11 claims full compliance, but is slightly deficient.
Once that is fixed, this new hack should be removed.  It will be
approximately thus:

+/*
+ * 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 = "__attribute__((__noreturn__))";
+    test_text = "#define _Noreturn     [[noreturn]]";
+};

CF: bug #51705 comment #25

Reply via email to