Author: sammccall Date: Fri Feb 2 05:34:47 2018 New Revision: 324081 URL: http://llvm.org/viewvc/llvm-project?rev=324081&view=rev Log: [AST] namespace ns { extern "C" { int X; }} prints as "ns::X", not as "X"
Modified: cfe/trunk/lib/AST/Decl.cpp cfe/trunk/unittests/AST/NamedDeclPrinterTest.cpp Modified: cfe/trunk/lib/AST/Decl.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Decl.cpp?rev=324081&r1=324080&r2=324081&view=diff ============================================================================== --- cfe/trunk/lib/AST/Decl.cpp (original) +++ cfe/trunk/lib/AST/Decl.cpp Fri Feb 2 05:34:47 2018 @@ -1497,9 +1497,10 @@ void NamedDecl::printQualifiedName(raw_o using ContextsTy = SmallVector<const DeclContext *, 8>; ContextsTy Contexts; - // Collect contexts. - while (Ctx && isa<NamedDecl>(Ctx)) { - Contexts.push_back(Ctx); + // Collect named contexts. + while (Ctx) { + if (isa<NamedDecl>(Ctx)) + Contexts.push_back(Ctx); Ctx = Ctx->getParent(); } Modified: cfe/trunk/unittests/AST/NamedDeclPrinterTest.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/AST/NamedDeclPrinterTest.cpp?rev=324081&r1=324080&r2=324081&view=diff ============================================================================== --- cfe/trunk/unittests/AST/NamedDeclPrinterTest.cpp (original) +++ cfe/trunk/unittests/AST/NamedDeclPrinterTest.cpp Fri Feb 2 05:34:47 2018 @@ -173,3 +173,10 @@ TEST(NamedDeclPrinter, TestClassWithScop "A", "X::Y::A")); } + +TEST(NamedDeclPrinter, TestLinkageInNamespace) { + ASSERT_TRUE(PrintedWrittenNamedDeclCXX11Matches( + "namespace X { extern \"C\" { int A; } }", + "A", + "X::A")); +} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits