On 5/20/2017 3:54 AM, John Maddock via Boost wrote:
I have always had a difficult problem trying to figure out with which version of gcc/libstdc++ a particular version of clang will work. I have asked about this on the clang developers mailing list but received no answer. If there is any information about this anywhere I would surely like to know where it is.
Well.... the answer it appears is trial and error, here's what I have so far (which is enough to get the tests passing for now):
clang 5: * No <regex> prior to gcc-5.x * No thread_local prior to gcc-4.8.x (ABI/linker issues)
Clang 3.x: * No <future>, <mutex>,
or <chrono> prior to gcc 4.8 (these are all failures to compile <chrono>) There may be other issues with old clang and newer gcc, but I haven't tested that combination yet.
Thanks. I still find problems using clang 3.x-4.0 even with latest versions of gcc. On Windows it is mostly linking problems, but the clang developers on the mailing list really don't care about clang targeting gcc on Windows. But even on Linux I run into problems where gcc "just works". I have a strong feeling that clang needs to distribute its own headers and own standard library ( libc++ ) in order to work correctly and reliably as a compiler. Hopefully the clang developers will understand this for the future also.
Thanks, John.