hackt icon indicating copy to clipboard operation
hackt copied to clipboard

haccreate assertion failure -- template typedef parameter binding

Open nbingham1 opened this issue 8 years ago • 1 comments

template<pint n><pint m> defproc x() {
} 

template <><pint m>
typedef x<2><m> x2;

x2 a<10>;
haccreate test.prso test.prso-c
Error unroll-resolving parameter values.
ERROR in expression 1 of param expr list: pint-val-ref x2::m
ERROR in dynamic_param_expr_list::unroll_resolve_rvalues()
ERROR in resolving relaxed template actuals.
    pint-val-ref x2::m
Error unroll-resolving parameter values.
ERROR in expression 1 of param expr list: pint-val-ref x2::m
ERROR in dynamic_param_expr_list::unroll_resolve_rvalues()
ERROR in resolving relaxed template actuals.
    pint-val-ref x2::m
haccreate: ../../../src/Object/expr/meta_param_expr_list.cc:348: bool HAC::entity::const_param_expr_list::must_be_equivalent(const this_type &, const size_t) const: Assertion `s <= size()' failed.
Aborted (core dumped)

nbingham1 avatar Jul 13 '16 18:07 nbingham1

0x00007ffff40d2c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007ffff40d2c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff40d6028 in __GI_abort () at abort.c:89
#2  0x00007ffff40cbbf6 in __assert_fail_base (fmt=0x7ffff421c3b8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7ffff73bea02 "s <= size()", 
    file=file@entry=0x7ffff73be732 "../../../src/Object/expr/meta_param_expr_list.cc", line=line@entry=348, 
    function=function@entry=0x7ffff73bea0e "bool HAC::entity::const_param_expr_list::must_be_equivalent(const this_type &, const size_t) const") at assert.c:92
#3  0x00007ffff40cbca2 in __GI___assert_fail (assertion=0x7ffff73bea02 "s <= size()", file=0x7ffff73be732 "../../../src/Object/expr/meta_param_expr_list.cc", line=348, 
    function=0x7ffff73bea0e "bool HAC::entity::const_param_expr_list::must_be_equivalent(const this_type &, const size_t) const") at assert.c:101
#4  0x00007ffff6feb1f8 in HAC::entity::const_param_expr_list::must_be_equivalent(HAC::entity::const_param_expr_list const&, unsigned long) const ()
   from /auto/edatools/hackt/20160711/lib/hackt/libhacktparsers.so.0
#5  0x00007ffff6ca2dcd in HAC::entity::canonical_type<HAC::entity::process_definition>::must_be_collectibly_type_equivalent(HAC::entity::canonical_type<HAC::entity::process_definition> const&) const ()
   from /auto/edatools/hackt/20160711/lib/hackt/libhacktparsers.so.0
#6  0x00007ffff72ab0e9 in HAC::entity::general_collection_type_manager<HAC::entity::process_tag>::check_type(HAC::entity::canonical_type<HAC::entity::process_definition> const&) const ()
   from /auto/edatools/hackt/20160711/lib/hackt/libhacktparsers.so.0
#7  0x00007ffff72ab076 in HAC::entity::instance_collection<HAC::entity::process_tag>::check_established_type(HAC::entity::canonical_type<HAC::entity::process_definition> const&) const ()
   from /auto/edatools/hackt/20160711/lib/hackt/libhacktparsers.so.0
#8  0x00007ffff6f8cfd9 in HAC::entity::instantiation_statement_type_ref_default<HAC::entity::process_tag>::commit_type_check(HAC::entity::instance_collection<HAC::entity::process_tag>&, HAC::entity::canonical_type<HAC::entity::process_definition> const&, HAC::entity::footprint const&) () from /auto/edatools/hackt/20160711/lib/hackt/libhacktparsers.so.0
#9  0x00007ffff6f8c8c1 in HAC::entity::instantiation_statement<HAC::entity::process_tag>::unroll(HAC::entity::unroll_context const&) const () from /auto/edatools/hackt/20160711/lib/hackt/libhacktparsers.so.0
#10 0x00007ffff6f7b6de in HAC::entity::sequential_scope::unroll(HAC::entity::unroll_context const&) const () from /auto/edatools/hackt/20160711/lib/hackt/libhacktparsers.so.0
#11 0x00007ffff6d0da97 in HAC::entity::process_definition::__unroll_complete_type(util::memory::count_ptr<HAC::entity::const_param_expr_list const, util::memory::delete_tag> const&, HAC::entity::footprint&, HAC::entity::footprint const&) const () from /auto/edatools/hackt/20160711/lib/hackt/libhacktparsers.so.0
#12 0x00007ffff6d0df45 in HAC::entity::process_definition::__create_complete_type(util::memory::count_ptr<HAC::entity::const_param_expr_list const, util::memory::delete_tag> const&, HAC::entity::footprint&, HAC::entity::footprint const&) const () from /auto/edatools/hackt/20160711/lib/hackt/libhacktparsers.so.0
#13 0x00007ffff704dff9 in HAC::entity::module::create_dependent_types() () from /auto/edatools/hackt/20160711/lib/hackt/libhacktparsers.so.0
#14 0x00007ffff704e14c in HAC::entity::module::create_unique() () from /auto/edatools/hackt/20160711/lib/hackt/libhacktparsers.so.0
#15 0x00000000004022a5 in HAC::create::main(int, char**, HAC::global_options const&) ()
#16 0x0000000000402432 in main ()

nbingham1 avatar Jul 13 '16 18:07 nbingham1