Improved assertion on signal arrays.
Use ivl_expr_file() information to improve a signal assert message.
This commit is contained in:
parent
6cc8d0e536
commit
f944d31353
|
|
@ -407,6 +407,8 @@ void dll_target::expr_signal(const NetESignal*net)
|
|||
|
||||
expr_->type_ = IVL_EX_SIGNAL;
|
||||
expr_->value_= net->expr_type();
|
||||
expr_->file = net->get_file();
|
||||
expr_->lineno= net->get_lineno();
|
||||
expr_->width_= net->expr_width();
|
||||
expr_->signed_ = net->has_sign()? 1 : 0;
|
||||
expr_->u_.signal_.word = word_expr;
|
||||
|
|
|
|||
|
|
@ -1739,6 +1739,12 @@ static void draw_signal_dest(ivl_expr_t exp, struct vector_info res,
|
|||
if (ivl_signal_array_count(sig) > 1) {
|
||||
ivl_expr_t ix = ivl_expr_oper1(exp);
|
||||
if (!number_is_immediate(ix, 8*sizeof(unsigned long))) {
|
||||
if (add_index >= 0) {
|
||||
fprintf(stderr, "%s:%u: vvp-tgt error: "
|
||||
"add_index=%d at %s:%d\n",
|
||||
ivl_expr_file(exp), ivl_expr_lineno(exp),
|
||||
add_index, __FILE__, __LINE__);
|
||||
}
|
||||
assert(add_index < 0);
|
||||
draw_eval_expr_into_integer(ix, 3);
|
||||
fprintf(vvp_out, " %%load/av %u, v%p, %u;\n",
|
||||
|
|
|
|||
Loading…
Reference in New Issue