Get signed-ness of property correct in certain situations.
This commit is contained in:
parent
0375ff3923
commit
2ea5919a4a
|
|
@ -357,6 +357,7 @@ NetEProperty::NetEProperty(NetNet*net, perm_string pnam)
|
||||||
pidx_ = use_type->property_idx_from_name(pnam);
|
pidx_ = use_type->property_idx_from_name(pnam);
|
||||||
ivl_type_t prop_type = use_type->get_prop_type(pidx_);
|
ivl_type_t prop_type = use_type->get_prop_type(pidx_);
|
||||||
expr_width(prop_type->packed_width());
|
expr_width(prop_type->packed_width());
|
||||||
|
cast_signed(prop_type->get_signed());
|
||||||
}
|
}
|
||||||
|
|
||||||
NetEProperty::~NetEProperty()
|
NetEProperty::~NetEProperty()
|
||||||
|
|
|
||||||
|
|
@ -209,9 +209,10 @@ static void show_property_expression(ivl_expr_t net, unsigned ind)
|
||||||
{
|
{
|
||||||
ivl_signal_t sig = ivl_expr_signal(net);
|
ivl_signal_t sig = ivl_expr_signal(net);
|
||||||
const char* pnam = ivl_expr_name(net);
|
const char* pnam = ivl_expr_name(net);
|
||||||
|
char*signed_flag = ivl_expr_signed(net)? "signed" : "unsigned";
|
||||||
|
|
||||||
fprintf(out, "%*s<property base=%s, prop=%s, width=%u>\n", ind, "",
|
fprintf(out, "%*s<property base=%s, prop=%s, width=%u, %s>\n", ind, "",
|
||||||
ivl_signal_basename(sig), pnam, ivl_expr_width(net));
|
ivl_signal_basename(sig), pnam, ivl_expr_width(net), signed_flag);
|
||||||
if (ivl_signal_data_type(sig) != IVL_VT_CLASS) {
|
if (ivl_signal_data_type(sig) != IVL_VT_CLASS) {
|
||||||
fprintf(out, "%*sERROR: Property signal must be IVL_VT_CLASS, got %s.\n",
|
fprintf(out, "%*sERROR: Property signal must be IVL_VT_CLASS, got %s.\n",
|
||||||
ind+3, "", data_type_string(ivl_signal_data_type(sig)));
|
ind+3, "", data_type_string(ivl_signal_data_type(sig)));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue