summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/cpp11-migrate/UseNullptr/NullptrActions.cpp
diff options
context:
space:
mode:
authorEdwin Vane <edwin.vane@intel.com>2013-03-06 14:51:34 +0000
committerEdwin Vane <edwin.vane@intel.com>2013-03-06 14:51:34 +0000
commit105963d17ca84733f5f4d3052a916d18f302b080 (patch)
treedb278c726b79c535b182a9fcc6bdfb6de78fcb31 /clang-tools-extra/cpp11-migrate/UseNullptr/NullptrActions.cpp
parenta1c0a2a2c649e7c1db1c62632bb0598c9bf66b71 (diff)
downloadbcm5719-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.cpp6
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);
OpenPOWER on IntegriCloud