From a6dd97a5a66b95b8b96e2c7108830a819d7d7ca1 Mon Sep 17 00:00:00 2001 From: Cary R Date: Tue, 13 May 2008 11:04:56 -0700 Subject: [PATCH] Fix comparisons that use sb_to_idx() A recent change to sb_to_idx() made it return a signed value where it previously returned an unsigned value. This patch adds explicit casts to remove the two signed vs unsigned comparison warning messages. --- elab_expr.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/elab_expr.cc b/elab_expr.cc index 508617b35..90c1937fc 100644 --- a/elab_expr.cc +++ b/elab_expr.cc @@ -1449,7 +1449,7 @@ NetExpr* PEIdent::elaborate_expr_net_part_(Design*des, NetScope*scope, } - if (net->sig()->sb_to_idx(msv) >= net->vector_width()) { + if (net->sig()->sb_to_idx(msv) >= (signed) net->vector_width()) { cerr << get_fileline() << ": error: part select [" << msv << ":" << lsv << "] out of range." << endl; des->errors += 1; @@ -1558,7 +1558,8 @@ NetExpr* PEIdent::elaborate_expr_net_idx_do_(Design*des, NetScope*scope, // If the part select covers exactly the entire // vector, then do not bother with it. Return the // signal itself. - if (net->sig()->sb_to_idx(lsv) == (wid-1) && wid == net->vector_width()) + if (net->sig()->sb_to_idx(lsv) == (signed) (wid-1) && + wid == net->vector_width()) return net; // Otherwise, make a part select that covers the right range.