diff options
author | Eli Friedman <efriedma@codeaurora.org> | 2017-09-27 23:29:37 +0000 |
---|---|---|
committer | Eli Friedman <efriedma@codeaurora.org> | 2017-09-27 23:29:37 +0000 |
commit | 16fee0841002b532890c03b35c69438dd755602b (patch) | |
tree | dc9f4e0d0c3c12c6a6320ea4c593decce9c9532c /clang/lib/Lex/Pragma.cpp | |
parent | fa57bd0ced39eddf1eb31283b7ad9e67e166b1cf (diff) | |
download | bcm5719-llvm-16fee0841002b532890c03b35c69438dd755602b.tar.gz bcm5719-llvm-16fee0841002b532890c03b35c69438dd755602b.zip |
[Preprocessor] Preserve #pragma clang assume_nonnull in preprocessed output
Patch by Zbigniew Sarbinowski!
Differential Revision: https://reviews.llvm.org/D37861
llvm-svn: 314364
Diffstat (limited to 'clang/lib/Lex/Pragma.cpp')
-rw-r--r-- | clang/lib/Lex/Pragma.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Lex/Pragma.cpp b/clang/lib/Lex/Pragma.cpp index bf2363a0a6f..b5d0f939549 100644 --- a/clang/lib/Lex/Pragma.cpp +++ b/clang/lib/Lex/Pragma.cpp @@ -1725,6 +1725,7 @@ struct PragmaAssumeNonNullHandler : public PragmaHandler { // The start location we want after processing this. SourceLocation NewLoc; + PPCallbacks *Callbacks = PP.getPPCallbacks(); if (IsBegin) { // Complain about attempts to re-enter an audit. @@ -1733,6 +1734,8 @@ struct PragmaAssumeNonNullHandler : public PragmaHandler { PP.Diag(BeginLoc, diag::note_pragma_entered_here); } NewLoc = Loc; + if (Callbacks) + Callbacks->PragmaAssumeNonNullBegin(NewLoc); } else { // Complain about attempts to leave an audit that doesn't exist. if (!BeginLoc.isValid()) { @@ -1740,6 +1743,8 @@ struct PragmaAssumeNonNullHandler : public PragmaHandler { return; } NewLoc = SourceLocation(); + if (Callbacks) + Callbacks->PragmaAssumeNonNullEnd(NewLoc); } PP.setPragmaAssumeNonNullLoc(NewLoc); |