aboutsummaryrefslogtreecommitdiff
path: root/lib/AST/DeclTemplate.cpp
diff options
context:
space:
mode:
authorAbramo Bagnara <abramo.bagnara@gmail.com>2011-03-04 12:42:03 +0000
committerAbramo Bagnara <abramo.bagnara@gmail.com>2011-03-04 12:42:03 +0000
commit77d4ee2bfc90b77ec8b818de985cd4aceeef757b (patch)
treed03bf6037dc5dea5516ae59e15c5099943f38e71 /lib/AST/DeclTemplate.cpp
parentee4bfd412db491c489fc2ee74916edd73f9c618a (diff)
Improved TemplateTypeParmDecl end location.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126996 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/DeclTemplate.cpp')
-rw-r--r--lib/AST/DeclTemplate.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/AST/DeclTemplate.cpp b/lib/AST/DeclTemplate.cpp
index 67eb11d2d0..6923a60928 100644
--- a/lib/AST/DeclTemplate.cpp
+++ b/lib/AST/DeclTemplate.cpp
@@ -385,7 +385,17 @@ TemplateTypeParmDecl::Create(const ASTContext &C, EmptyShell Empty) {
}
SourceLocation TemplateTypeParmDecl::getDefaultArgumentLoc() const {
- return DefaultArgument->getTypeLoc().getSourceRange().getBegin();
+ return hasDefaultArgument()
+ ? DefaultArgument->getTypeLoc().getBeginLoc()
+ : SourceLocation();
+}
+
+SourceRange TemplateTypeParmDecl::getSourceRange() const {
+ if (hasDefaultArgument() && !defaultArgumentWasInherited())
+ return SourceRange(getLocation(),
+ DefaultArgument->getTypeLoc().getEndLoc());
+ else
+ return SourceRange(getLocation());
}
unsigned TemplateTypeParmDecl::getDepth() const {