diff options
| author | Edwin Vane <edwin.vane@intel.com> | 2013-03-06 14:51:34 +0000 |
|---|---|---|
| committer | Edwin Vane <edwin.vane@intel.com> | 2013-03-06 14:51:34 +0000 |
| commit | 105963d17ca84733f5f4d3052a916d18f302b080 (patch) | |
| tree | db278c726b79c535b182a9fcc6bdfb6de78fcb31 /clang-tools-extra/cpp11-migrate/UseNullptr/NullptrActions.cpp | |
| parent | a1c0a2a2c649e7c1db1c62632bb0598c9bf66b71 (diff) | |
| download | bcm5719-llvm-105963d17ca84733f5f4d3052a916d18f302b080.tar.gz bcm5719-llvm-105963d17ca84733f5f4d3052a916d18f302b080.zip | |
Fixed Use-Nullptr when replacing return(0)
Before fix, the paren expression was being replaced resulting in returnnullptr.
ParenExpr and implicit casts now ignored so we get return(nullptr) instead.
Added new test cases.
Fixes PR15398
Author: Ariel Bernal <ariel.j.bernal@intel.com>
llvm-svn: 176551
Diffstat (limited to 'clang-tools-extra/cpp11-migrate/UseNullptr/NullptrActions.cpp')
| -rw-r--r-- | clang-tools-extra/cpp11-migrate/UseNullptr/NullptrActions.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang-tools-extra/cpp11-migrate/UseNullptr/NullptrActions.cpp b/clang-tools-extra/cpp11-migrate/UseNullptr/NullptrActions.cpp index 621862e368d..d0f2e0f0713 100644 --- a/clang-tools-extra/cpp11-migrate/UseNullptr/NullptrActions.cpp +++ b/clang-tools-extra/cpp11-migrate/UseNullptr/NullptrActions.cpp @@ -110,8 +110,10 @@ void NullptrFixer::run(const ast_matchers::MatchFinder::MatchResult &Result) { const CastExpr *Cast = Result.Nodes.getNodeAs<CastExpr>(ImplicitCastNode); if (Cast) { - SourceLocation StartLoc = Cast->getLocStart(); - SourceLocation EndLoc = Cast->getLocEnd(); + const Expr *E = Cast->IgnoreParenImpCasts(); + + SourceLocation StartLoc = E->getLocStart(); + SourceLocation EndLoc = E->getLocEnd(); // If the start/end location is a macro, get the expansion location. StartLoc = SM.getFileLoc(StartLoc); |

