Closed nolange closed 6 years ago
Ok, since you allow failures for clang, I suppose that's not news for you ;)
Understanding it is a different matter.
Not sure I know what you are asking.
short: enabling IPO detects stuff like ODR violations across source-files, and if your software tests fine with IPO enabled then it will test fine without - the other way around is not guaranteed.
Thanks for your explanation. It was a note that I don't understand the source of the compilation error (yet) and a link (for myself) to read up on CMake's policy CMP0069 and IPO. (I could have written something less confusing indeed.)
you need to declare inline std::ostream & operator<<( std::ostream & os, std::byte b )
(test/span-main.t.hpp:40:23)
before accessing it in template< typename T > struct string_maker::to_string
(test/lest_cpp03.hpp:648:53)
right now its defined afterwards, you need to at least declare a prototype before using it within template< typename T > struct
Hello, the tests won't build with clang-6.0, problem is the C++17 configuration in combination with a C++ Library that provides
std::byte
. First the issue:I used these flags for configuring, clang is version 6.0, libstdc++ is version 7.3.0.
cmake -DCMAKE_POLICY_DEFAULT_CMP0069=NEW -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=True -DCMAKE_CXX_COMPILER=clang++-6.0 -DCMAKE_C_COMPILER=clang-6.0..
Same issue persists if I tell clang to use libc++, which might be a useful additional configuration for the automated tests? I generally tend to use IPO for testing as this might cause additional warnings or errors, roughly thats what I had to do: