This patch adds #pragma clang deprecated to enable deprecation of
preprocessor macros.
The macro must be defined before #pragma clang deprecated. When
deprecating a macro a custom message may be optionally provided.
Warnings are emitted at the use site of a deprecated macro, and can be
controlled via the -Wdeprecated warning group.
This patch takes some rough inspiration and a few lines of code from
https://reviews.llvm.org/D67935.
Rather than use a string literal, did you consider using an unexpanded identifier token?