|
Boost : |
Subject: Re: [boost] [review] outcome broken on clang/libstdc++ (Linux) and Apple clang/libc++ and gcc 7.2
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2018-01-27 23:43:20
On 27/01/2018 23:22, Glen Fernandes via Boost wrote:
> I wrote a .travis.yml for your boost-outcome submission to run your
> unit tests against a few compilers:
>
> The output is at: https://travis-ci.org/glenfe/ned14.outcome/builds/334222400
>
> I updated it to make sure the clang++-libstdc++ uses a more recent libstdc++.
>
> It looks like:
> - clang++-libc++ fails because of forgetting to #include a header.
Yep, that's a bug. Fixed in develop branch. Thanks for reporting it!
> - GCC 7.2 with -std=c++17 is the one with the Internal Compiler Errors
> (I didn't investigate further)
GCC constexpr ICE bug described in previous email.
> - clang++5-libstdc++ fails because it cannot find a type in std
On C++ 17, it uses std::in_place_type<T> instead of defining a local
copy. This error suggests that either the STL being used doesn't define
an implementation, or as you say a header is missing.
Yet at
https://github.com/ned14/boost-outcome/blob/master/include/boost/outcome/detail/value_storage.hpp#L40,
it very clearly is including the correct header, and at
https://github.com/ned14/boost-outcome/blob/master/include/boost/outcome/detail/value_storage.hpp#L40
it is correctly selecting std::in_place_type on the value of __cplusplus.
So on the basis of that, I'm going to assert that the libstdc++ version
you are using is insufficiently new.
> Is there a reason why you don't have travis and appveyor for
> boost-outcome? I remember your "Best Practices" document strongly
> advocating that every Boost library submission should have them.
https://travis-ci.org/ned14/boost-outcome
https://travis-ci.org/ned14/outcome
https://ci.appveyor.com/project/ned14/outcome
Niall
-- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk