On 2018-03-25, at 4:46 PM, Ryan Schmidt wrote: > > On Mar 25, 2018, at 15:56, Kenneth F. Cunningham wrote: > >> To fully comply with the c++11 standard, two library calls (copy-on-write >> strings, and std::list) had to be changed in a way that was incompatible >> with the older ABI 4 version. A number of other library calls use these two >> calls, so a number of other library calls are affected. > > So. If we compile C++11 software using -D_GLIBCXX_USE_CXX11_ABI=0, as we do > in the cxx11-1.1 portgroup, are we building software that does not fully > comply with the C++11 standard?
yes we are -- but it works, and in a compatible way with the older ABI. Hitting the fringes of my knowledge now. > If so, what are the consequences of that? > So far nothing has been noticed. I think it's "internally consistent". However, this is why having +defaultabi4 as an option for libgcc was possibly useful, so somebody could turn it off if they wanted to (although - realistically - nobody would I bet). K
