From 19b0d5b7c9019f5c425566bb9dcf5b21abd7d64d Mon Sep 17 00:00:00 2001 From: Cary R Date: Thu, 10 Sep 2009 18:14:42 -0700 Subject: [PATCH] Fix another 64 bit problem in a part select. This patch fixes a problem in the .part/v select when the index is undefined. The default value needs to be INT_MIN, so when the long is cast to an int the value is in range. (cherry picked from commit 1b300cb2f6fc42d3ac8862e297b355883893dbc5) --- vvp/part.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vvp/part.cc b/vvp/part.cc index 4e081d287..9432eabec 100644 --- a/vvp/part.cc +++ b/vvp/part.cc @@ -248,13 +248,13 @@ bool vvp_fun_part_var::recv_vec4_(vvp_net_ptr_t port, const vvp_vector4_t&bit, source = bit; break; case 1: - // LONG_MIN is before the vector and is used to + // INT_MIN is before the vector and is used to // represent a 'bx value on the select input. - tmp = LONG_MIN; + tmp = INT_MIN; // We need a new .part/v that knows if the index is signed. // For now this will work for a normal integer value. vector4_to_value(bit, tmp, false); - if ((int)tmp == base) return false; + if (tmp == (long)base) return false; base = tmp; break; default: