diff --git a/vvp/vvp_net.cc b/vvp/vvp_net.cc index 15f6fa5b3..3c34d941e 100644 --- a/vvp/vvp_net.cc +++ b/vvp/vvp_net.cc @@ -1652,8 +1652,8 @@ ostream& operator<< (ostream&out, const vvp_vector4_t&that) template bool vector4_to_value(const vvp_vector4_t&vec, INT&val, bool is_signed, bool is_arithmetic) { - long res = 0; - INT msk = 1; + INT res = 0; + INT msk = 1; bool rc_flag = true; unsigned size = vec.size(); @@ -1672,12 +1672,12 @@ template bool vector4_to_value(const vvp_vector4_t&vec, INT&val, rc_flag = false; } - msk <<= 1L; + msk <<= 1; } if (is_signed && vec.value(vec.size()-1) == BIT4_1) { if (vec.size() < 8*sizeof(val)) - res |= (INT)(-1L) << vec.size(); + res |= (~static_cast(0)) << vec.size(); } val = res;