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

Reply via email to