Edward Diener wrote:
I am missing something with Travis CI. The iostreams .travis.yml says to run the tests for linux and osx, to run using gcc and clang, and to run just clang on osx. The test then runs on osx with clang, and then none of the other combinations are run at all.
If you go to https://travis-ci.org/boostorg/iostreams you'll see that there are two jobs, the first one is the Linux one, with TOOLSET=gcc,clang - it passes. The second one is the OS X one, and it fails. https://travis-ci.org/boostorg/iostreams/builds/175183220 https://travis-ci.org/boostorg/iostreams/jobs/175183221 https://travis-ci.org/boostorg/iostreams/jobs/175183222
If I had to guess I would test for defined(_LIBCPP_VERSION) && defined(__APPLE__).
I can do that. Maybe add a test that just outputs the clang version and libcpp version and then use that specifically after it cycles in the regression tests to define BOOST_IOSTREAMS_NO_PRIMARY_CODECVT_DEFINITION.
_LIBCPP_VERSION is libc++ version 1101 _LIBCPP_VERSION =1101 and clang's version is "Clang version 7.0.2" but I have a hunch that all Apple versions will behave in this way. Not sure about libc++ on other platforms such as Linux.