Bug 51776 - fixincludes hacks around a C++ deficiency
Summary: fixincludes hacks around a C++ deficiency
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: preprocessor (show other bugs)
Version: 4.7.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on: 53528
Blocks:
  Show dependency treegraph
 
Reported: 2012-01-06 16:08 UTC by Bruce Korb
Modified: 2022-05-24 17:07 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bruce Korb 2012-01-06 16:08:57 UTC
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
Comment 1 Andreas Tobler 2012-01-11 16:23:57 UTC
Author: andreast
Date: Wed Jan 11 16:23:48 2012
New Revision: 183096

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183096
Log:
2012-01-11  Bruce Korb <bkorb@gnu.org>
	    Steven G. Kargl  <kargl@gcc.gnu.org>
	    Andreas Tobler  <andreast@fgznet.ch>

	PR bootstrap/57105
	PR preprocessor/51776
	* inclhack.def (cdef_cplusplus): Add a replacement for [[noreturn]].
	* fixincl.x: Regenerate.
	* tests/base/sys/cdefs.h: Update.

	* genfixes: Remove the 'Ver.' from the version check.


Modified:
    trunk/fixincludes/ChangeLog
    trunk/fixincludes/fixincl.x
    trunk/fixincludes/genfixes
    trunk/fixincludes/inclhack.def
    trunk/fixincludes/tests/base/sys/cdefs.h
Comment 2 Jonathan Wakely 2012-05-30 13:33:18 UTC
adding the "Support C++11 generalized attributes" PR as a dependency so Bruce gets prodded when it changes state
Comment 3 Bruce Korb 2012-10-08 17:46:04 UTC
(In reply to comment #2)
> adding ... PR as a dependency so Bruce gets prodded when it changes state

Bruce has now been prodded. :)  I will fix this in 3 weeks or so.
Comment 4 Shakthi Kannan 2013-05-17 10:24:57 UTC
The depends bug 53528 "Support C++11 generalized attributes" has been closed, and applied to trunk (4.8).
Comment 5 Bruce Korb 2015-03-08 19:49:38 UTC
This hack is no longer in inclhack.def.
Comment 6 Eric Gallager 2022-05-24 14:34:27 UTC
(In reply to Bruce Korb from comment #0)
> CF: bug #51705 comment #25

(In reply to Andreas Tobler from comment #1)
> 	PR bootstrap/57105

OK so there are two similar-looking bug numbers here; I'm assuming the first one is the correct one, and the second was a typo?