From 8d2913ac970eb9934ad6cdbf4d5d58cc742dcd6d Mon Sep 17 00:00:00 2001 From: Cary R Date: Thu, 24 Sep 2009 11:29:46 -0700 Subject: [PATCH 1/4] Remove unsigned/signed compile warning. --- vvp/compile.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vvp/compile.cc b/vvp/compile.cc index 67356aed9..67c7fc69e 100644 --- a/vvp/compile.cc +++ b/vvp/compile.cc @@ -737,7 +737,7 @@ bool crstring_test(const char*str) if (tp == 0) return false; if (tp[1] != 0) return false; - if ((strspn(str+3, "0123456789abcdefmg")+3) != (tp - str)) + if ((strspn(str+3, "0123456789abcdefmg")+3) != (size_t)(tp - str)) return false; return true; From b8b70f5ac7c0928610961c4bebb93d296adc1c9e Mon Sep 17 00:00:00 2001 From: Cary R Date: Thu, 24 Sep 2009 13:24:14 -0700 Subject: [PATCH 2/4] Add ivl_signal_scope to ivl.def to get mingw and cygwin to compile. --- ivl.def | 1 + 1 file changed, 1 insertion(+) diff --git a/ivl.def b/ivl.def index c254c422a..b6c571491 100644 --- a/ivl.def +++ b/ivl.def @@ -203,6 +203,7 @@ ivl_signal_nex ivl_signal_npath ivl_signal_path ivl_signal_port +ivl_signal_scope ivl_signal_signed ivl_signal_type ivl_signal_width From 8a3df7c4ff314b30732e9507c6db0384bf3eabb4 Mon Sep 17 00:00:00 2001 From: Stephen Williams Date: Thu, 24 Sep 2009 15:11:56 -0700 Subject: [PATCH 3/4] Fix build errors when configured --with-valgrind The vpi_callback base class is parent of the filter object of nets, and not the functor. The good news is the clear_all_callbacks method can now be got at without casts. --- vvp/vpi_real.cc | 5 ++--- vvp/vpi_signal.cc | 10 ++++------ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/vvp/vpi_real.cc b/vvp/vpi_real.cc index 1b210c1db..ff0681dcb 100644 --- a/vvp/vpi_real.cc +++ b/vvp/vpi_real.cc @@ -196,9 +196,8 @@ vpiHandle vpip_make_real_var(const char*name, vvp_net_t*net) void real_delete(vpiHandle item) { struct __vpiRealVar*obj = (struct __vpiRealVar*) item; - - vvp_fun_signal_real*fun = (vvp_fun_signal_real*) obj->net->fun; - fun->clear_all_callbacks(); + assert(obj->net->fil); + obj->net->fil->clear_all_callbacks(); free(obj); } diff --git a/vvp/vpi_signal.cc b/vvp/vpi_signal.cc index 871595f7b..bfbff61b9 100644 --- a/vvp/vpi_signal.cc +++ b/vvp/vpi_signal.cc @@ -939,9 +939,8 @@ static struct __vpiSignal* allocate_vpiSignal(void) void signal_delete(vpiHandle item) { struct __vpiSignal *obj = (__vpiSignal *) item; - vvp_fun_signal_base*sig_fun; - sig_fun = (vvp_fun_signal_base*) obj->node->fun; - sig_fun->clear_all_callbacks(); + assert(obj->node->fil); + obj->node->fil->clear_all_callbacks(); vvp_net_delete(obj->node); VALGRIND_MEMPOOL_FREE(obj->pool, obj); } @@ -1343,9 +1342,8 @@ void PV_delete(vpiHandle item) break; } } - vvp_fun_signal_base*sig_fun; - sig_fun = (vvp_fun_signal_base*) obj->net->fun; - sig_fun->clear_all_callbacks(); + assert(obj->net->fil); + obj->net->fil->clear_all_callbacks(); free(obj); } #endif From d7ef9718e78b7bfc1b9d4757dbafc20d8bd033ac Mon Sep 17 00:00:00 2001 From: Cary R Date: Thu, 24 Sep 2009 17:30:43 -0700 Subject: [PATCH 4/4] Fix valgrind error in new net rework code. This patch fixes a valgrind error and fixes some of the test suite issues in the new net rework code. --- vvp/words.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/vvp/words.cc b/vvp/words.cc index 20c2f0700..cd01a2e73 100644 --- a/vvp/words.cc +++ b/vvp/words.cc @@ -207,6 +207,7 @@ class __compile_net_resolv : public base_net_resolv { { msb_ = msb; lsb_ = lsb; signed_flag_ = signed_flag; + net8_flag_ = net8_flag; } ~__compile_net_resolv() { }