2018-06-28 23:34 GMT+02:00 Peter Dimov via Boost
Andrzej Krzemienski wrote:
This is interesting. I am referring to Boost.Opitonal tests on Travis
configured here: https://travis-ci.org/boostorg/optional I am a maintainer of Boost.Optional, and I never configured these tests. They were not there a year ago, and at some point I started receiving test results from this site upon every commit.
Yeah, that's my fault.
https://github.com/boostorg/optional/commit/e9f5641be37750a8 976546ecfffbcb8ee08f8648
The default libstdc++ on Travis matches the default g++, which is at present 4.8, if I'm not mistaken. Each g++ uses its corresponding libstdc++, so the default one is used only by Clang; but if a newer one is installed, Clang picks that up. So given the .travis.yml file from the above commit, clang 3.5, 3.8, 3.9 use libstdc++ 4.9 (because it's being installed), the rest use the default one. This is presumably because those versions failed with libstdc++ 4.8 at the time I activated Travis.
Thanks for the info.
To detect the actual libstdc++ version, you should use the Boost.Config macro, as it's generally more reliable.
Do you mean macro BOOST_STDLIB ? In what way is it more reliable? It gives me a string like "GNU libstdc++ version 20180125" and it would be difficult to use #ifdef-s on it. BTW, is there a known way to tell the library series 4.9 from from series 5.0? The date alone does not seem to be good enough. Regards, &rzej;