Question about compiler blacklisting (llvm-gcc for wxWidgets)
ryandesign at macports.org
Thu Nov 2 19:42:39 UTC 2017
On Nov 2, 2017, at 14:34, Ken Cunningham wrote:
> On Nov 2, 2017, at 12:20 PM, Ryan Schmidt wrote:
>> The part where it allows a port to be compiled with MacPorts libstdc++. Why is this ok? Didn't we used to have the problem that C++ software compiled with gcc would crash because it used new gcc libstdc++ but a library it used was using OS X's old libstdc++? Why is that no longer a problem with this portgroup?
> The two libstdc++ versions (gcc4’s and gcc7’s) are similar except in a few small areas, mostly involving string copying.
> The cxx11 1.1 PortGroup passes a flag to gcc7’s libstdc++ to tell it to use the old style of string handling (ABI4), so objects are compatible with the older libstdc++.
Yes, I understand that we're passing -D_GLIBCXX_USE_CXX11_ABI=0 to use the "old" string handling. But the "new" string handling was introduced in gcc 5.1. We were experiencing crashers from mixing Apple gcc 4.2.1 libstdc++ and MacPorts gcc 4.x libstdc++, well before "new" string handling existed. I don't understand why that's not still a problem here.
More information about the macports-dev