Patchwork [wwwdocs] Add note about C++11 ABI to gcc-4.7/changes.html

login
register
mail settings
Submitter Jonathan Wakely
Date July 15, 2012, 3:06 p.m.
Message ID <CAH6eHdTnniMrd9uJDWf5t6sU_cHAxUqE9PT5BK9t3eYr4WtT+A@mail.gmail.com>
Download mbox | patch
Permalink /patch/171076/
State New
Headers show

Comments

Jonathan Wakely - July 15, 2012, 3:06 p.m.
Added a caveat to the gcc-4.7/changes.html page about C++11 ABI
incompatibilities.

Committed to wwwdocs.

Patch

Index: htdocs/gcc-4.7/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.7/changes.html,v
retrieving revision 1.120
diff -u -r1.120 changes.html
--- htdocs/gcc-4.7/changes.html	20 Jun 2012 23:34:49 -0000	1.120
+++ htdocs/gcc-4.7/changes.html	15 Jul 2012 15:04:29 -0000
@@ -97,6 +97,17 @@ 
     <li>It is no longer possible to use the <code>"l"</code>
     constraint in MIPS16 <code>asm</code> statements.</li>
 
+    <li>GCC versions 4.7.0 and 4.7.1 had changes to the C++ standard library
+    which affected the ABI in C++11 mode: a data member was added to
+    <code>std::list</code> changing its size and altering the definitions of
+    some member functions, and <code>std::pair</code>'s move constructor was
+    non-trivial which altered the calling convention for functions with
+    <code>std::pair</code> arguments or return types.  The ABI incompatibilities
+    have been fixed for GCC version 4.7.2 but as a result C++11 code compiled
+    with GCC 4.7.0 or 4.7.1 may be incompatible with C++11 code compiled with
+    different GCC versions and with C++98/C++03 code compiled with any version.
+    </li>
+
     <li>More information on porting to GCC 4.7 from previous versions
     of GCC can be found in
     the <a href="http://gcc.gnu.org/gcc-4.7/porting_to.html">porting