-
Notifications
You must be signed in to change notification settings - Fork 217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecate C++03 in Boost 1.73 as preparation for C+14 switch #689
Conversation
a2f19ff
to
d6bc849
Compare
Following discussion in boostorg#590, we are identifying support for C++03 as a candidate for removal from future releases of Boost.Geometry. Issue deprecation warning during compilation in C++03 conformance mode Users can define BOOST_GEOMETRY_DISABLE_DEPRECATED_03_WARNING to disable it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you
@mloskot : The checks don't reflect the message: You are checking for c++11 stuff, but state that c++14 will be required. wouldnt something like |
@Mike-Devel Yes, you are correct. Initially, before we settled at C++14, we only needed to distinguish between C++03 and later. Why not Boost macros? For example, |
Because I didn't know them offhand ;). On the other hand - unless you already know exactly what features you want to use - doesn't it make more sense to simply test for the c++ language version instead for individual features? |
I'm leaning towards using Boost.Config macros. Even checking single The test based on On the other hand we can assume that Boost.Config works. Furthermore, this is not the only way of informing the users about the transition. In addition to this annoying macro we will also announce on the mailing lists, in the docs, release notes, slack channels, gitter, etc. |
I agree. I also prefer the Boost Config macros. Moreover, even if It's good to provoke comments even on seemingly trivial issues :) |
That is true, but the point is that it directly expresses what you say you want to check for (c++14 support) and older versions of msvc that don't support c++14 don't define that macro, so the expression evaluates to true and you get the desired warning . Again, if you know what you want from c++14, then checking for features is a good approach, but checking for seemingly arbitrary macros that you expect are (not) defined on compilers you plan to support seems backwards to me. Not that I have any stake in this - I don't use boost geometry. |
Although I understand your point, it's valid, for this particular case of deprecation warning, any missing C++14 feature will serve fine. Once migration starts, finer feature-wise control will be needed. Then, it may also turn out that VS 2015 with incomplete C++14 support, which AFAIK does not define the the lang macro, may work fine compiling the library. |
It is definitely defined in VS2015 Update 3 (probably not RTM). But it really doesn't matter. Sorry for arguing about it. |
@Mike-Devel You pointed out a valid issue, so the arguing is not all that pointless :) |
I meant arguing about checking |
Yes, I know what you mean :) It still provoked some extra considerations which is good. |
@awulkiew , @mloskot, @barendgehrels
Speaking of which, I don't see release notes for boost geometry (and boost math for that matter) at https://github.com/boostorg/website/blob/master/feed/history/boost_1_73_0.qbk |
@Mike-Devel I've just submitted the release notes boostorg/website#499 |
@mloskot Master is still opened so it's not too late. I'll do it today. |
Following discussion in #590, we are identifying support for C++03
as a candidate for removal from future releases of Boost.Geometry.
Issue deprecation warning during compilation in C++03 conformance mode
Users can define BOOST_GEOMETRY_DISABLE_DEPRECATED_03_WARNING to disable it.
Tasklist