[llvm-bugs] [Bug 28752] New: Assertion `Parent->isHidden() && "unexpectedly hidden decl"' failed.

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jul 28 04:52:36 PDT 2016


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: unassignedclangbugs at nondot.org
          Reporter: biancacristinacristescu at gmail.com
                CC: dgregor at apple.com, llvm-bugs at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160728/e3679ccb/attachment-0001.html>


More information about the llvm-bugs mailing list