
On Mon, Jul 9, 2012 at 5:21 PM, Marshall Clow <mclow.lists@gmail.com> wrote:
On Jul 9, 2012, at 5:15 PM, Jeffrey Lee Hellrung, Jr. wrote:
On Mon, Jul 9, 2012 at 4:57 PM, Marshall Clow <mclow.lists@gmail.com> wrote:
Here's a patch vs. the trunk which renames all the macros in the table "Macros that describe C++11 features not supported" (with the notable exception of BOOST_NO_LONG_LONG) to have consistent names. For example: BOOST_NO_VARIADIC_MACROS --> BOOST_NO_CXX11_VARIADIC_MACROS
All the old names are then #defined to be the same as the new names; All the code and tests in config has been updated to use the new names. All the old names have been put into the "Boost Deprecated Macros" table.
The goal here is no changes to client code (including code in boost outside of the config library). This seems to work fine on my system (Mac with gcc and clang)
Now Beman can define "BOOST_NO_CXX11_RANGE_BASED_FOR" and it will match the style with other macros.
Comments?
Why, again, are we preferring inserting CXX11 versus not? I.e., why is BOOST_NO_CXX11_RVALUE_REFERENCES better than BOOST_NO_RVALUE_REFERENCES?
Because when the C++ committee puts out a new standard, and changes how rvalue references work, we can then define a new flag BOOST_NO_CXX17_RVALUE_REFERENCES, and it will be easy to explain to everyone what the differences are.
That makes sense. I guess no one has strong opposition against the CXX11 macro additions? - Jeff