changes to clang-5.0

Ken Cunningham ken.cunningham.webuse at gmail.com
Thu Dec 13 19:37:12 UTC 2018


After lots of discussion with Jeremy and considerable testing, a few changes have been made to the core compiler, starting with clang-5.0 and then planning to add the same to newer versions, that you may or may not notice.

The distilled version is that clang-5.0 will now support __thread and thread_local on all systems, using the same emulated-tls mechanism gcc uses if necessary.  This should work immediately on our default setup of -stdlib=macports-libstdc++ , and it will work with libc++ once an enhanced version supporting this is moved through the pipeline.

Another change is that if the user is configured with LibcxxOnOlderSystems enabled in macports.conf, then clang will default to adding -stdlib=libc++ on < 10.9, instead of -stdlib=libstdc++ if there is no stdlib specified on the build line, exactly as it does on newer systems. This has often caused errors up to this point.

Both of these changes, together with the legacysupport PG enhancements, should make build errors on older systems much less frequent, and simplify everyone's lives. 

There is always the possibility of unforeseen issues when released into the wild. Please let me know if you see such an event.

Ken


More information about the macports-dev mailing list