diff options
author | John Thompson <John.Thompson.JTSoftware@gmail.com> | 2013-08-26 15:17:23 +0000 |
---|---|---|
committer | John Thompson <John.Thompson.JTSoftware@gmail.com> | 2013-08-26 15:17:23 +0000 |
commit | 8e01c069c9634321ec3750c5ad081119b94fd5ec (patch) | |
tree | 24138f48b06947c4817993cfc6d4e9f758669ec2 /clang-tools-extra/modularize | |
parent | 838e2344ec5a028060ff51a7a9f10ae087659a92 (diff) | |
download | bcm5719-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.cpp | 12 |
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; |