diff --git a/vvp/vpi_callback.cc b/vvp/vpi_callback.cc index 762095318..7f7164d48 100644 --- a/vvp/vpi_callback.cc +++ b/vvp/vpi_callback.cc @@ -820,12 +820,12 @@ static void real_signal_value(struct t_vpi_value*vp, double rval) break; case vpiHexStrVal: - sprintf(rbuf, "%lx", (long)vlg_round(rval)); + sprintf(rbuf, "%" PRIx64, (uint64_t)vlg_round(rval)); vp->value.str = rbuf; break; case vpiBinStrVal: { - unsigned long val = (unsigned long)vlg_round(rval); + uint64_t val = (uint64_t)vlg_round(rval); unsigned len = 0; while (val > 0) { @@ -833,7 +833,7 @@ static void real_signal_value(struct t_vpi_value*vp, double rval) val /= 2; } - val = (unsigned long)vlg_round(rval); + val = (uint64_t)vlg_round(rval); for (unsigned idx = 0 ; idx < len ; idx += 1) { rbuf[len-idx-1] = (val & 1)? '1' : '0'; val /= 2; diff --git a/vvp/vpi_vthr_vector.cc b/vvp/vpi_vthr_vector.cc index ad426af9a..5e48afb24 100644 --- a/vvp/vpi_vthr_vector.cc +++ b/vvp/vpi_vthr_vector.cc @@ -132,17 +132,17 @@ static void vthr_real_get_value(vpiHandle ref, s_vpi_value*vp) break; case vpiOctStrVal: - sprintf(rbuf, "%lo", (long)vlg_round(val)); + sprintf(rbuf, "%" PRIo64, (uint64_t)vlg_round(val)); vp->value.str = rbuf; break; case vpiHexStrVal: - sprintf(rbuf, "%lx", (long)vlg_round(val)); + sprintf(rbuf, "%" PRIx64, (uint64_t)vlg_round(val)); vp->value.str = rbuf; break; case vpiBinStrVal: { - unsigned long vali = (unsigned long)vlg_round(val); + uint64_t vali = (uint64_t)vlg_round(val); unsigned len = 0; while (vali > 0) { @@ -150,7 +150,7 @@ static void vthr_real_get_value(vpiHandle ref, s_vpi_value*vp) vali /= 2; } - vali = (unsigned long)vlg_round(val); + vali = (uint64_t)vlg_round(val); for (unsigned idx = 0 ; idx < len ; idx += 1) { rbuf[len-idx-1] = (vali & 1)? '1' : '0'; vali /= 2;