https://bugs.llvm.org/show_bug.cgi?id=37037

            Bug ID: 37037
           Summary: [coroutines] Assertion
                    `!Promise->getType()->isDependentType() && "the promi
                    se type must no longer be dependent"' failed
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangb...@nondot.org
          Reporter: enieb...@boost.org
                CC: dgre...@apple.com, llvm-bugs@lists.llvm.org

While building the async_streams branch of
https://github.com/lewissbaker/cppcoro with clang trunk.


Archiving build/linux_x64_clang7.0.0_debug/lib/libcppcoro.a
clang-7: /home/eniebler/local/llvm/tools/clang/lib/Sema/TreeTransform.h:6985:
clang::StmtResult clang::TreeTransform<
Derived>::TransformCoroutineBodyStmt(clang::CoroutineBodyStmt*) [with Derived =
{anonymous}::TemplateInstantiator; cl
ang::StmtResult = clang::ActionResult<clang::Stmt*>]: Assertion
`!Promise->getType()->isDependentType() && "the promi
se type must no longer be dependent"' failed.
#0 0x0000000003981f7d llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/home/eniebler/local/llvm/lib/Support/Unix/Signa
ls.inc:398:0
#1 0x000000000398200e PrintStackTraceSignalHandler(void*)
/home/eniebler/local/llvm/lib/Support/Unix/Signals.inc:462:
0
#2 0x0000000003980272 llvm::sys::RunSignalHandlers()
/home/eniebler/local/llvm/lib/Support/Signals.cpp:49:0
#3 0x000000000398188d SignalHandler(int)
/home/eniebler/local/llvm/lib/Support/Unix/Signals.inc:242:0
#4 0x00007f3cc6ae75e0 __restore_rt (/lib64/libpthread.so.0+0xf5e0)
#5 0x00007f3cc56de1f7 __GI_raise (/lib64/libc.so.6+0x351f7)
#6 0x00007f3cc56df8e8 __GI_abort (/lib64/libc.so.6+0x368e8)
#7 0x00007f3cc56d7266 __assert_fail_base (/lib64/libc.so.6+0x2e266)
#8 0x00007f3cc56d7312 (/lib64/libc.so.6+0x2e312)
#9 0x00000000069d682a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCoroutineBodyStmt(c
lang::CoroutineBodyStmt*)
/home/eniebler/local/llvm/tools/clang/lib/Sema/TreeTransform.h:6984:0
#10 0x00000000069bc2b5 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*)

/home/eniebler/local/llvm-ninja/tools/clang/include/clang/AST/StmtNodes.inc:97:0
#11 0x00000000069b727e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformLambdaExpr(clang::
LambdaExpr*)
/home/eniebler/local/llvm/tools/clang/lib/Sema/TreeTransform.h:11100:0
#12 0x00000000069adc3a (anonymous
namespace)::TemplateInstantiator::TransformLambdaExpr(clang::LambdaExpr*)
/home/eni
ebler/local/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp:931:0
#13 0x00000000069b8762 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)

/home/eniebler/local/llvm-ninja/tools/clang/include/clang/AST/StmtNodes.inc:573:0
#14 0x00000000069c47e8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::Ca
llExpr*) /home/eniebler/local/llvm/tools/clang/lib/Sema/TreeTransform.h:9214:0
#15 0x00000000069b8181 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)

/home/eniebler/local/llvm-ninja/tools/clang/include/clang/AST/StmtNodes.inc:329:0
#16 0x00000000069bd147 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang:
:Expr*, bool)
/home/eniebler/local/llvm/tools/clang/lib/Sema/TreeTransform.h:3356:0
#17 0x00000000069b51c7 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool
)
/home/eniebler/local/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp:2809:0
#18 0x0000000006a0b4c4
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLeve
lTemplateArgumentList const&)
/home/eniebler/local/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4190:0
#19 0x0000000006a0b28e clang::Sema::BuildVariableInstantiation(clang::VarDecl*,
clang::VarDecl*, clang::MultiLevelTem
plateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang
::LocalInstantiationScope*, bool)
/home/eniebler/local/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4160
:0
#20 0x00000000069fd152
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool,
llvm::ArrayRef<clang::Bin
dingDecl*>*)
/home/eniebler/local/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:743:0
#21 0x00000000069fccc0
clang::TemplateDeclInstantiator::VisitDecompositionDecl(clang::DecompositionDecl*)
/home/enieb
ler/local/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:686:0
#22 0x00000000069f06fb clang::declvisitor::Base<clang::declvisitor::make_ptr,
clang::TemplateDeclInstantiator, clang:
:Decl*>::Visit(clang::Decl*)
/home/eniebler/local/llvm-ninja/tools/clang/include/clang/AST/DeclNodes.inc:445:0
#23 0x0000000006a070c7 clang::Sema::SubstDecl(clang::Decl*,
clang::DeclContext*, clang::MultiLevelTemplateArgumentLis
t const&)
/home/eniebler/local/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:3086:0
#24 0x00000000069ae1b7 (anonymous
namespace)::TemplateInstantiator::TransformDefinition(clang::SourceLocation,
clang:
:Decl*)
/home/eniebler/local/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp:1007:0
#25 0x00000000069d6e06 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDeclStmt(clang::De
clStmt*) /home/eniebler/local/llvm/tools/clang/lib/Sema/TreeTransform.h:6815:0
#26 0x00000000069bc2e0 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*)

/home/eniebler/local/llvm-ninja/tools/clang/include/clang/AST/StmtNodes.inc:103:0
#27 0x00000000069e23e7 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang
::CompoundStmt*, bool)
/home/eniebler/local/llvm/tools/clang/lib/Sema/TreeTransform.h:6439:0
#28 0x00000000069d62da clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clan$
[0] 0:[tmux]*

-- 
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

Reply via email to