summaryrefslogtreecommitdiffstats
path: root/include/clang/Lex/PPCallbacks.h
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2014-02-20 22:59:51 +0000
committerReid Kleckner <reid@kleckner.net>2014-02-20 22:59:51 +0000
commit3f8bf21873f0276b3c991ab1ad3fb3d85781f6a5 (patch)
treeee81c920a86fd0d69e6247ca553113e8db13ab6f /include/clang/Lex/PPCallbacks.h
parent39f684003cf36ffb76435c6e1588f8d81f0f2748 (diff)
Expand macros in pragmas with -fms-extensions and -E
gcc never expands macros in pragmas and MSVC always expands macros before processing pragmas. Clang usually allows macro expansion, except in a handful of pragmas, most of which are handled by the lexer. Also remove PPCallbacks for pragmas that are currently handled in the parser. Without a Parser, such as with clang -E, these callbacks would never be called. Fixes PR18576. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201821 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Lex/PPCallbacks.h')
-rw-r--r--include/clang/Lex/PPCallbacks.h25
1 files changed, 0 insertions, 25 deletions
diff --git a/include/clang/Lex/PPCallbacks.h b/include/clang/Lex/PPCallbacks.h
index f1ed897251..dc58573352 100644
--- a/include/clang/Lex/PPCallbacks.h
+++ b/include/clang/Lex/PPCallbacks.h
@@ -161,18 +161,6 @@ public:
PragmaIntroducerKind Introducer) {
}
- /// \brief Callback invoked when a \#pragma comment directive is read.
- virtual void PragmaComment(SourceLocation Loc, const IdentifierInfo *Kind,
- const std::string &Str) {
- }
-
- /// \brief Callback invoked when a \#pragma detect_mismatch directive is
- /// read.
- virtual void PragmaDetectMismatch(SourceLocation Loc,
- const std::string &Name,
- const std::string &Value) {
- }
-
/// \brief Callback invoked when a \#pragma clang __debug directive is read.
/// \param Loc The location of the debug directive.
/// \param DebugType The identifier following __debug.
@@ -387,19 +375,6 @@ public:
Second->Ident(Loc, str);
}
- virtual void PragmaComment(SourceLocation Loc, const IdentifierInfo *Kind,
- const std::string &Str) {
- First->PragmaComment(Loc, Kind, Str);
- Second->PragmaComment(Loc, Kind, Str);
- }
-
- virtual void PragmaDetectMismatch(SourceLocation Loc,
- const std::string &Name,
- const std::string &Value) {
- First->PragmaDetectMismatch(Loc, Name, Value);
- Second->PragmaDetectMismatch(Loc, Name, Value);
- }
-
virtual void PragmaMessage(SourceLocation Loc, StringRef Namespace,
PragmaMessageKind Kind, StringRef Str) {
First->PragmaMessage(Loc, Namespace, Kind, Str);