
On Jul 10, 2012, at 6:44 AM, Beman Dawes wrote:
On Tue, Jul 10, 2012 at 4:03 AM, John Maddock <boost.regex@virgin.net> wrote:
(Putting his money where his mouth is)
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?
Based on casting a mark 1 eyeball over the diffs, I'm happy with that going in.
OK, I'm on board.
I'll wait until Marshall applies his patch before adding the range-based-for-statement macro.
Committed in revision 79400. Since the -commits list is still down, here's a list of the old macros and the new ones: BOOST_NO_AUTO_DECLARATIONS BOOST_NO_CXX11_AUTO_DECLARATIONS BOOST_NO_AUTO_MULTIDECLARATIONS BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS BOOST_NO_CHAR16_T BOOST_NO_CXX11_CHAR16_T BOOST_NO_CHAR32_T BOOST_NO_CXX11_CHAR32_T BOOST_NO_TEMPLATE_ALIASES BOOST_NO_CXX11_TEMPLATE_ALIASES BOOST_NO_CONSTEXPR BOOST_NO_CXX11_CONSTEXPR BOOST_NO_DECLTYPE BOOST_NO_CXX11_DECLTYPE BOOST_NO_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_DEFAULTED_FUNCTIONS BOOST_NO_CXX11_DEFAULTED_FUNCTIONS BOOST_NO_DELETED_FUNCTIONS BOOST_NO_CXX11_DELETED_FUNCTIONS BOOST_NO_EXPLICIT_CONVERSION_OPERATORS BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS BOOST_NO_EXTERN_TEMPLATE BOOST_NO_CXX11_EXTERN_TEMPLATE BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS BOOST_NO_LAMBDAS BOOST_NO_CXX11_LAMBDAS BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS BOOST_NO_NOEXCEPT BOOST_NO_CXX11_NOEXCEPT BOOST_NO_NULLPTR BOOST_NO_CXX11_NULLPTR BOOST_NO_RAW_LITERALS BOOST_NO_CXX11_RAW_LITERALS BOOST_NO_RVALUE_REFERENCES BOOST_NO_CXX11_RVALUE_REFERENCES BOOST_NO_SCOPED_ENUMS BOOST_NO_CXX11_SCOPED_ENUMS BOOST_NO_STATIC_ASSERT BOOST_NO_CXX11_STATIC_ASSERT BOOST_NO_STD_UNORDERD BOOST_NO_CXX11_STD_UNORDERD BOOST_NO_UNICODE_LITERALS BOOST_NO_CXX11_UNICODE_LITERALS BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX BOOST_NO_VARIADIC_TEMPLATES BOOST_NO_CXX11_VARIADIC_TEMPLATES BOOST_NO_VARIADIC_MACROS BOOST_NO_CXX11_VARIADIC_MACROS -- Marshall