On Sun, 11 Nov 2012, Jason Merrill wrote:
On 11/11/2012 06:55 AM, Jonathan Wakely wrote:
For std::list I assume we want the attribute on the type itself, not
just member functions, since its size changes.
When we are changing the whole type, I assume the point of using this
attribute instead of the standard solutions (move it to some other
(inline) namespace, for instance) is the -Wabi-tag warning?
Yes. Note that I believe for the list and string changes we want to change
the default ABI for C++98 and C++11, not just C++11. And provide a way for
users to select the old ABI if they need to pass string/list objects to and
from previously compiled code.
That way is already needed while building libstdc++, and we need to
compile all files that use string twice during the build, exporting only
the symbols that contain "cxx11" from one of the builds.
Changing string/list is still an ABI break. Is it for 4.8, or should it
wait until 4.9?
--
Marc Glisse