This patch adds support for #pragma clang deprecated, which emits a deprecated warning whenever it is encountered. This is intended to be used to deprecate macros, but it seems like it could be useful for deprecating include files as well (rather than #warning). This is similar to #pragma GCC warning, but that can't emit a diagnostic under -Wdeprecated, so these warnings wouldn't be controlled by traditional deprecation disabling methods. (-Wno-deprecated, #pragma clang diagnostic ignored).
rdar://problem/50356322 clang should provide a pragma to allow us to deprecate macros
Do we want to allow arbitrary string literals, or only narrow character string literals? e.g., should we disallow something like: #pragma clang deprecated(L"oops", U"hahahaha") ?