Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

haccreate assertion failure -- template typedef parameter binding #60

Open
nbingham1 opened this issue Jul 13, 2016 · 1 comment
Open

Comments

@nbingham1
Copy link

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
Copy link
Author

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

@fangism fangism self-assigned this Jul 13, 2016
@fangism fangism changed the title haccreate assertion failure haccreate assertion failure -- template typedef parameter binding Jul 14, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants