diff options
author | Stephen Kelly <steveire@gmail.com> | 2018-07-30 20:39:14 +0000 |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2018-07-30 20:39:14 +0000 |
commit | f50288c236a66d280465d49c04f67fe89d6f5517 (patch) | |
tree | 0a2b71e5a5c3821e276f17a93e33d2f61848c02b | |
parent | 6737b3a6a144048341985a1733dac6f18bc7ce39 (diff) | |
download | bcm5719-llvm-f50288c236a66d280465d49c04f67fe89d6f5517.tar.gz bcm5719-llvm-f50288c236a66d280465d49c04f67fe89d6f5517.zip |
Avoid returning an invalid end source loc
llvm-svn: 338301
-rw-r--r-- | clang/include/clang/AST/DeclarationName.h | 6 | ||||
-rw-r--r-- | clang/lib/AST/DeclarationName.cpp | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/clang/include/clang/AST/DeclarationName.h b/clang/include/clang/AST/DeclarationName.h index c9adcbbcde8..856f3ab5720 100644 --- a/clang/include/clang/AST/DeclarationName.h +++ b/clang/include/clang/AST/DeclarationName.h @@ -558,7 +558,7 @@ public: SourceLocation getBeginLoc() const { return NameLoc; } /// getEndLoc - Retrieve the location of the last token. - SourceLocation getEndLoc() const; + SourceLocation getEndLoc() const { return getLocEnd(); } /// getSourceRange - The range of the declaration name. SourceRange getSourceRange() const LLVM_READONLY { @@ -570,9 +570,11 @@ public: } SourceLocation getLocEnd() const LLVM_READONLY { - SourceLocation EndLoc = getEndLoc(); + SourceLocation EndLoc = getEndLocPrivate(); return EndLoc.isValid() ? EndLoc : getLocStart(); } +private: + SourceLocation getEndLocPrivate() const; }; /// Insertion operator for diagnostics. This allows sending DeclarationName's diff --git a/clang/lib/AST/DeclarationName.cpp b/clang/lib/AST/DeclarationName.cpp index 78c4b9707ef..9866d92f61e 100644 --- a/clang/lib/AST/DeclarationName.cpp +++ b/clang/lib/AST/DeclarationName.cpp @@ -689,7 +689,7 @@ void DeclarationNameInfo::printName(raw_ostream &OS) const { llvm_unreachable("Unexpected declaration name kind"); } -SourceLocation DeclarationNameInfo::getEndLoc() const { +SourceLocation DeclarationNameInfo::getEndLocPrivate() const { switch (Name.getNameKind()) { case DeclarationName::Identifier: case DeclarationName::CXXDeductionGuideName: |