[clang-tools-extra] r356185 - Add PragmaHandler for MSVC pragma execution_character_set
Reid Kleckner via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 14 11:12:17 PDT 2019
Author: rnk
Date: Thu Mar 14 11:12:17 2019
New Revision: 356185
URL: http://llvm.org/viewvc/llvm-project?rev=356185&view=rev
Log:
Add PragmaHandler for MSVC pragma execution_character_set
__pragma(execution_character_set(push, "UTF-8")) is used in
TraceLoggingProvider.h. This commit implements a no-op handler for
compatability, similar to how the flag -fexec_charset is handled.
Patch by Matt Gardner!
Differential Revision: https://reviews.llvm.org/D58530
Modified:
clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.cpp
clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.h
Modified: clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.cpp?rev=356185&r1=356184&r2=356185&view=diff
==============================================================================
--- clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.cpp (original)
+++ clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.cpp Thu Mar 14 11:12:17 2019
@@ -297,6 +297,22 @@ void PPCallbacksTracker::PragmaWarningPo
appendArgument("Loc", Loc);
}
+// Callback invoked when a #pragma execution_character_set(push) directive
+// is read.
+void PPCallbacksTracker::PragmaExecCharsetPush(clang::SourceLocation Loc,
+ clang::StringRef Str) {
+ beginCallback("PragmaExecCharsetPush");
+ appendArgument("Loc", Loc);
+ appendArgument("Charset", Str);
+}
+
+// Callback invoked when a #pragma execution_character_set(pop) directive
+// is read.
+void PPCallbacksTracker::PragmaExecCharsetPop(clang::SourceLocation Loc) {
+ beginCallback("PragmaExecCharsetPop");
+ appendArgument("Loc", Loc);
+}
+
// Called by Preprocessor::HandleMacroExpandedIdentifier when a
// macro invocation is found.
void
Modified: clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.h?rev=356185&r1=356184&r2=356185&view=diff
==============================================================================
--- clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.h (original)
+++ clang-tools-extra/trunk/pp-trace/PPCallbacksTracker.h Thu Mar 14 11:12:17 2019
@@ -134,6 +134,9 @@ public:
llvm::ArrayRef<int> Ids) override;
void PragmaWarningPush(clang::SourceLocation Loc, int Level) override;
void PragmaWarningPop(clang::SourceLocation Loc) override;
+ void PragmaExecCharsetPush(clang::SourceLocation Loc,
+ clang::StringRef Str) override;
+ void PragmaExecCharsetPop(clang::SourceLocation Loc) override;
void MacroExpands(const clang::Token &MacroNameTok,
const clang::MacroDefinition &MD, clang::SourceRange Range,
const clang::MacroArgs *Args) override;
More information about the cfe-commits
mailing list