From patchwork Sun Jul 15 15:06:26 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [wwwdocs] Add note about C++11 ABI to gcc-4.7/changes.html From: Jonathan Wakely X-Patchwork-Id: 171076 Message-Id: To: gcc-patches Date: Sun, 15 Jul 2012 16:06:26 +0100 Added a caveat to the gcc-4.7/changes.html page about C++11 ABI incompatibilities. Committed to wwwdocs. 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 @@
  • It is no longer possible to use the "l" constraint in MIPS16 asm statements.
  • +
  • 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 + std::list changing its size and altering the definitions of + some member functions, and std::pair's move constructor was + non-trivial which altered the calling convention for functions with + std::pair 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. +
  • +
  • More information on porting to GCC 4.7 from previous versions of GCC can be found in the porting