diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2016-03-22 13:37:44 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2016-03-22 13:37:44 +0000 |
commit | 73a7bd3616d8ae6788256ce8fe8c5dcc351e9ecc (patch) | |
tree | 7db0564a94ad5485d7964b8c9beaecd3e406c766 /clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp | |
parent | 26d239c293400a783cfb07a2aa85a9d3e7f78c2b (diff) | |
download | bcm5719-llvm-73a7bd3616d8ae6788256ce8fe8c5dcc351e9ecc.tar.gz bcm5719-llvm-73a7bd3616d8ae6788256ce8fe8c5dcc351e9ecc.zip |
Fix crashes from delayed template parsing code that assumed getBody() would return non-null.
Patch by Etienne Bergeron.
llvm-svn: 264049
Diffstat (limited to 'clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp')
-rw-r--r-- | clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp b/clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp index 4c8f681be0a..eb971a91d5c 100644 --- a/clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp @@ -102,13 +102,11 @@ void RedundantVoidArgCheck::check(const MatchFinder::MatchResult &Result) { void RedundantVoidArgCheck::processFunctionDecl( const MatchFinder::MatchResult &Result, const FunctionDecl *Function) { - SourceLocation Start = Function->getLocStart(); if (Function->isThisDeclarationADefinition()) { - SourceLocation End; - if (Function->hasBody()) - End = Function->getBody()->getLocStart().getLocWithOffset(-1); - else - End = Function->getLocEnd(); + const Stmt *Body = Function->getBody(); + SourceLocation Start = Function->getLocStart(); + SourceLocation End = Body ? Body->getLocStart().getLocWithOffset(-1) : + Function->getLocEnd(); removeVoidArgumentTokens(Result, SourceRange(Start, End), "function definition"); } else { |