diff options
| author | Aaron Ballman <aaron@aaronballman.com> | 2013-06-04 02:07:14 +0000 |
|---|---|---|
| committer | Aaron Ballman <aaron@aaronballman.com> | 2013-06-04 02:07:14 +0000 |
| commit | 5d041beb4e86787b55236d9cf3259fef17423323 (patch) | |
| tree | 46144479da4a0e132dce4655e9335e23b482dd0d /clang/lib/Parse/Parser.cpp | |
| parent | 60c4118c88d27b67235ecf3994560bc784f9150e (diff) | |
| download | bcm5719-llvm-5d041beb4e86787b55236d9cf3259fef17423323.tar.gz bcm5719-llvm-5d041beb4e86787b55236d9cf3259fef17423323.zip | |
Adding support for MSVC #pragma detect_mismatch functionality by emitting a FAILIFMISMATCH linker command into the object file.
llvm-svn: 183178
Diffstat (limited to 'clang/lib/Parse/Parser.cpp')
| -rw-r--r-- | clang/lib/Parse/Parser.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Parse/Parser.cpp b/clang/lib/Parse/Parser.cpp index 3124b96455e..f19d24299aa 100644 --- a/clang/lib/Parse/Parser.cpp +++ b/clang/lib/Parse/Parser.cpp @@ -105,6 +105,8 @@ Parser::Parser(Preprocessor &pp, Sema &actions, bool skipFunctionBodies) if (getLangOpts().MicrosoftExt) { MSCommentHandler.reset(new PragmaCommentHandler(actions)); PP.AddPragmaHandler(MSCommentHandler.get()); + MSDetectMismatchHandler.reset(new PragmaDetectMismatchHandler(actions)); + PP.AddPragmaHandler(MSDetectMismatchHandler.get()); } CommentSemaHandler.reset(new ActionCommentHandler(actions)); @@ -444,6 +446,8 @@ Parser::~Parser() { if (getLangOpts().MicrosoftExt) { PP.RemovePragmaHandler(MSCommentHandler.get()); MSCommentHandler.reset(); + PP.RemovePragmaHandler(MSDetectMismatchHandler.get()); + MSDetectMismatchHandler.reset(); } PP.RemovePragmaHandler("STDC", FPContractHandler.get()); |

