summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2018-07-30 20:39:14 +0000
committerStephen Kelly <steveire@gmail.com>2018-07-30 20:39:14 +0000
commitf50288c236a66d280465d49c04f67fe89d6f5517 (patch)
tree0a2b71e5a5c3821e276f17a93e33d2f61848c02b
parent6737b3a6a144048341985a1733dac6f18bc7ce39 (diff)
downloadbcm5719-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.h6
-rw-r--r--clang/lib/AST/DeclarationName.cpp2
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:
OpenPOWER on IntegriCloud