diff --git a/clang/lib/CodeGen/Mangle.cpp b/clang/lib/CodeGen/Mangle.cpp index 427cc76646b4b6cc8a641eb9912f1948e322c5b0..cd97b5d916c6bc5f6c5042799cc0ac850ff6d5af 100644 --- a/clang/lib/CodeGen/Mangle.cpp +++ b/clang/lib/CodeGen/Mangle.cpp @@ -219,8 +219,8 @@ void CXXNameMangler::manglePrefix(const DeclContext *DC) { // ::= # empty // ::= // FIXME: We only handle mangling of namespaces and classes at the moment. - if (DC->getParent() != DC) - manglePrefix(DC); + if (!DC->getParent()->isTranslationUnit()) + manglePrefix(DC->getParent()); if (const NamespaceDecl *Namespace = dyn_cast(DC)) mangleSourceName(Namespace->getIdentifier());