Here is a piece of code from cssysdef.h
/**\def CS_DEPRECATED_METHOD
* Use the CS_DEPRECATED_METHOD macro in front of method declarations to
* indicate that they are deprecated. Example:
* \code
* struct iFoo : iBase {
* CS_DEPRECATED_METHOD virtual void Plankton() const = 0;
* }
* \endcode
* Compilers which are capable of flagging deprecation will exhibit a warning
* when it encounters client code invoking methods so tagged.
*/
#if !defined(CS_DEPRECATED_METHOD) || defined(DOXYGEN_RUN)
# if defined(CS_COMPILER_MSVC)
# define CS_DEPRECATED_METHOD __declspec(deprecated)
/* Unfortunately, MSVC is overzealous with warnings; it even emits one
when a deprecated method is overridden, e.g. when implementing an
interface method.
To work around this, use msvc_deprecated_warn_off.h/
msvc_deprecated_warn_on.h. */
# else
# define CS_DEPRECATED_METHOD
# endif
#endif