https://llvm.org/bugs/show_bug.cgi?id=28752
Bug ID: 28752 Summary: Assertion `Parent->isHidden() && "unexpectedly hidden decl"' failed. Product: clang Version: trunk Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: Modules Assignee: unassignedclangb...@nondot.org Reporter: biancacristinacriste...@gmail.com CC: dgre...@apple.com, llvm-bugs@lists.llvm.org Classification: Unclassified This is seen in the context of building ROOT & Cling with modules using libstdc++. The stack trace is the following: clang-4.0: /home/biancacr/root_GSOC/src/tools/clang/lib/Sema/SemaLookup.cpp:1342: clang::Module* clang::Sema::getOwningModule(clang::Decl*): Assertion `Parent->isHidden() && "unexpectedly hidden decl"' failed. #0 0x0000000001404378 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x1404378) #1 0x000000000140234e llvm::sys::RunSignalHandlers() (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x140234e) #2 0x00000000014024c4 SignalHandler(int) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x14024c4) #3 0x00007ffa08cdcd10 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10d10) #4 0x00007ffa07ac71c7 gsignal /build/glibc-qbmteM/glibc-2.21/signal/../sysdeps/unix/sysv/linux/raise.c:55:0 #5 0x00007ffa07ac8e2a abort /build/glibc-qbmteM/glibc-2.21/stdlib/abort.c:91:0 #6 0x00007ffa07ac00bd __assert_fail_base /build/glibc-qbmteM/glibc-2.21/assert/assert.c:92:0 #7 0x00007ffa07ac0172 (/lib/x86_64-linux-gnu/libc.so.6+0x2e172) #8 0x0000000002402df3 clang::Sema::getOwningModule(clang::Decl*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x2402df3) #9 0x000000000240bd57 clang::LookupResult::isVisibleSlow(clang::Sema&, clang::NamedDecl*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x240bd57) #10 0x000000000240fc6d clang::LookupResult::getAcceptableDecl(clang::NamedDecl*) const (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x240fc6d) #11 0x000000000240fd6b LookupDirect(clang::Sema&, clang::LookupResult&, clang::DeclContext const*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x240fd6b) #12 0x00000000024108d6 clang::Sema::LookupQualifiedName(clang::LookupResult&, clang::DeclContext*, bool) [clone .part.1297] (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x24108d6) #13 0x000000000233d87f clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, bool, clang::Scope const*, clang::TypeSourceInfo**) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x233d87f) #14 0x00000000025a8f02 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*, bool, clang::TypeSourceInfo**) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25a8f02) #15 0x00000000025a98ad clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25a98ad) #16 0x000000000258bca7 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x258bca7) #17 0x00000000025b35f0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformUnaryOperator(clang::UnaryOperator*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25b35f0) #18 0x000000000258bf6b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x258bf6b) #19 0x00000000025a4085 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25a4085) #20 0x00000000025a7ad2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25a7ad2) #21 0x000000000259e0cd clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTSIInObjectScope(clang::TypeLoc, clang::QualType, clang::NamedDecl*, clang::CXXScopeSpec&) [clone .isra.3469] (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x259e0cd) #22 0x000000000259ea14 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformNestedNameSpecifierLoc(clang::NestedNameSpecifierLoc, clang::QualType, clang::NamedDecl*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x259ea14) #23 0x00000000025ab9df clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentNameType(clang::TypeLocBuilder&, clang::DependentNameTypeLoc) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25ab9df) #24 0x0000000002595989 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x2595989) #25 0x00000000025b2502 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, unsigned int) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25b2502) #26 0x00000000025bbb10 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25bbb10) #27 0x00000000025ccee4 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25ccee4) #28 0x00000000025c7db5 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25c7db5) #29 0x000000000255b259 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x255b259) #30 0x000000000256729a clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x256729a) #31 0x000000000249fe52 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x249fe52) #32 0x00000000024b1a29 clang::Sema::BuildCallToMemberFunction(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x24b1a29) #33 0x0000000002343904 clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x2343904) #34 0x0000000002592157 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x2592157) #35 0x000000000258bdb7 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x258bdb7) #36 0x000000000258d538 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x258d538) #37 0x000000000258cf18 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExprs(clang::Expr* const*, unsigned int, bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x258cf18) #38 0x000000000258e1b8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformParenListExpr(clang::ParenListExpr*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x258e1b8) #39 0x000000000258c0ec clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x258c0ec) #40 0x000000000258d538 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x258d538) #41 0x000000000258d8c4 clang::Sema::SubstInitializer(clang::Expr*, clang::MultiLevelTemplateArgumentList const&, bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x258d8c4) #42 0x00000000025c5cea clang::Sema::InstantiateMemInitializers(clang::CXXConstructorDecl*, clang::CXXConstructorDecl const*, clang::MultiLevelTemplateArgumentList const&) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25c5cea) #43 0x00000000025cad32 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25cad32) #44 0x00000000025c9427 clang::Sema::PerformPendingInstantiations(bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x25c9427) #45 0x0000000002174cd5 clang::Sema::ActOnEndOfTranslationUnit() (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x2174cd5) #46 0x0000000001f5c7d5 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x1f5c7d5) #47 0x0000000001f5390b clang::ParseAST(clang::Sema&, bool, bool) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x1f5390b) #48 0x00000000018bedae clang::FrontendAction::Execute() (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x18bedae) #49 0x0000000001893a56 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x1893a56) #50 0x000000000194e6a2 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x194e6a2) #51 0x00000000009c7558 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x9c7558) #52 0x00000000009995f6 main (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x9995f6) #53 0x00007ffa07ab2ac0 __libc_start_main /build/glibc-qbmteM/glibc-2.21/csu/libc-start.c:323:0 #54 0x00000000009c35d9 _start (/home/biancacr/root_GSOC/inst/bin/clang-4.0+0x9c35d9) Stack dump: -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs