summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/TemplateBase.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-05-09 22:43:45 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-05-09 22:43:45 +0000
commitb8f6a8ab0795ac565b2d939b20ae71c1dbd6ab2d (patch)
tree3d7bdd9c3178bd363ee6827c69834da73ba881be /clang/lib/AST/TemplateBase.cpp
parent32baf99b1d46570b6e34b2c1092e43abd845ef7a (diff)
downloadbcm5719-llvm-b8f6a8ab0795ac565b2d939b20ae71c1dbd6ab2d.tar.gz
bcm5719-llvm-b8f6a8ab0795ac565b2d939b20ae71c1dbd6ab2d.zip
Debug Info: include address-of ('&') operator and qualified names in template argument lists
This fixes several (7 out of 16) cases of PR14492 in the GDB 7.5 test suite. It seems GDB was bailing out whenever it had even the slightest problem with the template argument list (& I assume it didn't like seeing template value parameters that were just simple names - perhaps assuming that lone names must be types, not values) llvm-svn: 181556
Diffstat (limited to 'clang/lib/AST/TemplateBase.cpp')
-rw-r--r--clang/lib/AST/TemplateBase.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/AST/TemplateBase.cpp b/clang/lib/AST/TemplateBase.cpp
index d68b95edb73..c3e2c4a7bba 100644
--- a/clang/lib/AST/TemplateBase.cpp
+++ b/clang/lib/AST/TemplateBase.cpp
@@ -353,9 +353,10 @@ void TemplateArgument::print(const PrintingPolicy &Policy,
case Declaration: {
NamedDecl *ND = cast<NamedDecl>(getAsDecl());
+ Out << '&';
if (ND->getDeclName()) {
// FIXME: distinguish between pointer and reference args?
- Out << *ND;
+ ND->printQualifiedName(Out);
} else {
Out << "<anonymous>";
}
OpenPOWER on IntegriCloud