summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/modularize
diff options
context:
space:
mode:
authorJohn Thompson <John.Thompson.JTSoftware@gmail.com>2013-08-26 15:17:23 +0000
committerJohn Thompson <John.Thompson.JTSoftware@gmail.com>2013-08-26 15:17:23 +0000
commit8e01c069c9634321ec3750c5ad081119b94fd5ec (patch)
tree24138f48b06947c4817993cfc6d4e9f758669ec2 /clang-tools-extra/modularize
parent838e2344ec5a028060ff51a7a9f10ae087659a92 (diff)
downloadbcm5719-llvm-8e01c069c9634321ec3750c5ad081119b94fd5ec.tar.gz
bcm5719-llvm-8e01c069c9634321ec3750c5ad081119b94fd5ec.zip
Fixed some issues that resulted in erroneous duplicate symbol error messages.
llvm-svn: 189228
Diffstat (limited to 'clang-tools-extra/modularize')
-rw-r--r--clang-tools-extra/modularize/Modularize.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/clang-tools-extra/modularize/Modularize.cpp b/clang-tools-extra/modularize/Modularize.cpp
index 823165bb58d..c1bba91af11 100644
--- a/clang-tools-extra/modularize/Modularize.cpp
+++ b/clang-tools-extra/modularize/Modularize.cpp
@@ -418,13 +418,23 @@ public:
if (isa<NamespaceDecl>(ND) || isa<UsingDirectiveDecl>(ND) ||
isa<NamespaceAliasDecl>(ND) ||
isa<ClassTemplateSpecializationDecl>(ND) || isa<UsingDecl>(ND) ||
+ isa<ClassTemplateDecl>(ND) || isa<TemplateTypeParmDecl>(ND) ||
+ isa<TypeAliasTemplateDecl>(ND) ||
isa<UsingShadowDecl>(ND) || isa<FunctionDecl>(ND) ||
isa<FunctionTemplateDecl>(ND) ||
(isa<TagDecl>(ND) &&
!cast<TagDecl>(ND)->isThisDeclarationADefinition()))
return true;
- std::string Name = ND->getNameAsString();
+ // Skip anonymous declarations.
+ if (!ND->getDeclName())
+ return true;
+
+ // Get the qualified name.
+ std::string Name;
+ llvm::raw_string_ostream OS(Name);
+ ND->printQualifiedName(OS);
+ OS.flush();
if (Name.empty())
return true;
OpenPOWER on IntegriCloud