Gesendet: Dienstag, 24. März 2020 um 17:25 Uhr Von: "John Maddock via Boost"
On 24/03/2020 13:58, Jeff Garland via Boost wrote:
In the regression tables the following warnings are coming out of math config. I'm trying to understand what this means given that 1) the tests compile and execute fine, 2) the deadline is up, and 3) several of the cases are compiled in c++11 mode (is it pre conformance bc it's clang3.4?). I've seen this warning in other places that include lexical_cast as well. So sure I could go and define the macro to quiet this, but seems like that should be done closest to the source. In other words maybe math should only tell us that in headers that have a real issue?
Can't speak for John, but personally I think that deciding for each header individually whether it might use c++11 features in a year doesn't make sense. In turn that would mean that everytime you want to use a c++11 feature in a header that didn't use one before, you need to wait for another year and you have to be super careful about which header includes which other header. Thats just a waste of time. Either deprecate c++03 for the whole library or not at all. That aside, what is the harm in simply defining the supression macro when compiling your tests with older compilers? I think the bigger question is: Will date_time continue to support c++03 when (some) of the libraries it currently depends on don't?
Or will this soon be a real issue?
Well it will be a real issue in a year from now when we being removing C++03 support
[...] Question: will anyone care about clang-3.4 a year from now given that we're currently on clang-9 ?
As degski mentioned, I doubt clang 3.4 was a particularly popular compiler to begin with, so the answer is probably no. Two suggestions: 1) As c++11 support is not a yes/no thing, could you perhaps specify which compiler versions you plan to support? E.g. gcc 4.8 was/is a pretty popular c++11 compiler but had a lot of conformance issues and libstdc++ was still missing a lot of things. So while probably no one cares about clang-3.4, gcc 4.8 support might be important. As always, not supporting X wouldn't mean it won't work, just that you might not test it and might not invest time to fix compatibility problems. 2) If I understand this correctly, c++03 support is just now going to be deprecated. Maybe this should not yet generate compile-time warnings as soon as a header is included but for now only during compilation of boost math sources, examples and unit tests themselves. The general warning could then be added in the next release. Of course in addtion to announcements here on the ML, in the release notes, the docs and maybe on reddit, twitter and/or slack. Best Mike