This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Dealing with C++98/11 ABI incompatibilities


On Tue, Jul 3, 2012 at 1:02 PM, Paolo Carlini <paolo.carlini@oracle.com> wrote:
> Hi,
>
>
> On 07/03/2012 09:18 PM, Jason Merrill wrote:
>>
>> 2) Object layout changes to std::list and std::basic_string. ?For these
>> types, there is no way to both retain backward compatibility with older
>> C++98 code and conform to the C++11 standard. ?The best we can hope for is
>> to allow old code to coexist with new code so long as they don't try to
>> touch the same string/list objects.
>
> Just wanted to mention / record the case of std::time_get which has an
> additional virtual function (do_get) in C++11. I don't think it affects in
> important ways the points you are making.

It would be good to add this and anything else I missed to
http://gcc.gnu.org/wiki/Cxx11AbiCompatibility so there's one place
people can read to get the lay of the land.


At Google we found several libraries that had C-only interfaces, but
exposed C++ symbols from their implementations. Clearly it would be
better for them to just hide the symbols, but not all vendors have
enough build system expertise to do that. Jason's proposal to get the
conflicting names mangled differently for different language versions
would definitely help with the migration process.

Thanks,
Jeffrey


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]