
"AlisdairM" <alisdair.meredith@uk.renaultf1.com> writes:
It has been agreed that several platforms will be deprecated in this version of Boost. To support that I have added a warning to the Borland config to alert anyone using old versions of this platform that it is being deprecated and this is the last compatible release.
What I notice is the warning gets annoying pretty quickly.
I propose to wrap the warning in the following test:
#if __BORLANDC__ <= 0x581 && !defined(BOOST_ACKNOWLEDGE_DEPRECATED_1_34) # pragma message "..."; #endif
This will allow users to disable the warning by defining the macro in their environment.
I would like to extend this to a general policy, to make deprecation more visible were it occurs. Using the BOOST_ACKNOWLDGE_DEPRECATED test we could deprecate libraries or functions, as well as platforms.
The test is a simple 'does this macro exist' rather than testing for a value, so should be compatible with toolchains that allow defining macros, but not giving them values.
The macro is tied to the specific version that is deprecated, so in later releases we should grep for BOOST_DEPRECATED and either update the version, or do something stronger such as use #error (platform) or remove the code entirely (library)
I'm not sure it works to acknowledge all deprecations at once. You might try a different deprecated toolset, library, or user construct later, and you'll never get warned. -- Dave Abrahams Boost Consulting www.boost-consulting.com