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; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits