Add wxDEPRECATED_MSG() and use it in a couple of places.
This macro should be used instead of wxDEPRECATED() for the new deprecations as it allows to give a helpful explanatory message (if supported by the compiler) and also is simpler to use as it doesn't require wrapping the entire declaration in it but can be simply used before it. Also add wxDEPRECATED() support for clang as a side effect. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -558,15 +558,53 @@ typedef short int WXTYPE;
|
||||
#define WX_ATTRIBUTE_UNUSED
|
||||
#endif
|
||||
|
||||
/* Macro to issue warning when using deprecated functions with gcc3 or MSVC7: */
|
||||
#if wxCHECK_GCC_VERSION(3, 1)
|
||||
#define wxDEPRECATED(x) __attribute__((deprecated)) x
|
||||
/*
|
||||
Macros for marking functions as being deprecated.
|
||||
|
||||
The preferred macro in the new code is wxDEPRECATED_MSG() which allows to
|
||||
explain why is the function deprecated. Almost all the existing code uses
|
||||
the older wxDEPRECATED() or its variants currently, but this will hopefully
|
||||
change in the future.
|
||||
*/
|
||||
|
||||
/* The basic compiler-specific construct to generate a deprecation warning. */
|
||||
#ifdef __clang__
|
||||
#define wxDEPRECATED_DECL __attribute__((deprecated))
|
||||
#elif wxCHECK_GCC_VERSION(3, 1)
|
||||
#define wxDEPRECATED_DECL __attribute__((deprecated))
|
||||
#elif defined(__VISUALC__) && (__VISUALC__ >= 1300)
|
||||
#define wxDEPRECATED(x) __declspec(deprecated) x
|
||||
#define wxDEPRECATED_DECL __declspec(deprecated)
|
||||
#else
|
||||
#define wxDEPRECATED(x) x
|
||||
#define wxDEPRECATED_DECL
|
||||
#endif
|
||||
|
||||
/*
|
||||
Macro taking the deprecation message. It applies to the next declaration.
|
||||
|
||||
If the compiler doesn't support showing the message, this degrades to a
|
||||
simple wxDEPRECATED(), i.e. at least gives a warning, if possible.
|
||||
*/
|
||||
#if defined(__clang__) && defined(__has_extension)
|
||||
#if __has_extension(attribute_deprecated_with_message)
|
||||
#define wxDEPRECATED_MSG(msg) __attribute__((deprecated(msg)))
|
||||
#else
|
||||
#define wxDEPRECATED_MSG(msg) __attribute__((deprecated))
|
||||
#endif
|
||||
#elif wxCHECK_GCC_VERSION(4, 5)
|
||||
#define wxDEPRECATED_MSG(msg) __attribute__((deprecated(msg)))
|
||||
#elif wxCHECK_VISUALC_VERSION(8)
|
||||
#define wxDEPRECATED_MSG(msg) __declspec(deprecated("deprecated: " msg))
|
||||
#else
|
||||
#define wxDEPRECATED_MSG(msg) wxDEPRECATED_DECL
|
||||
#endif
|
||||
|
||||
/*
|
||||
Macro taking the declaration that it deprecates. Prefer to use
|
||||
wxDEPRECATED_MSG() instead as it's simpler (wrapping the entire declaration
|
||||
makes the code unclear) and allows to specify the explanation.
|
||||
*/
|
||||
#define wxDEPRECATED(x) wxDEPRECATED_DECL x
|
||||
|
||||
#if defined(__GNUC__) && !wxCHECK_GCC_VERSION(3, 4)
|
||||
/*
|
||||
We need to add dummy "inline" to allow gcc < 3.4 to handle the
|
||||
|
Reference in New Issue
Block a user