From dea54df71b60b24874c6abdb303f0f636a2b561f Mon Sep 17 00:00:00 2001 From: Nick Gasson Date: Tue, 12 Aug 2008 09:47:03 +0100 Subject: [PATCH] Catch possibly NULL return value This is caused by using a hierarchical reference (which can't be translated to VHDL). The result of get_decl is NULL since the signal has been declared in a different VHDL architecture. Adding the assert is cleaner than having it segfault, for the moment, until a nicer error message can be added. --- tgt-vhdl/stmt.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/tgt-vhdl/stmt.cc b/tgt-vhdl/stmt.cc index f9db883bc..371fc5cb5 100644 --- a/tgt-vhdl/stmt.cc +++ b/tgt-vhdl/stmt.cc @@ -126,6 +126,7 @@ static vhdl_var_ref *make_assign_lhs(ivl_lval_t lval, vhdl_scope *scope) string signame(get_renamed_signal(sig)); vhdl_decl *decl = scope->get_decl(signame); + assert(decl); vhdl_type *ltype = new vhdl_type(*decl->get_type()); vhdl_var_ref *lval_ref = new vhdl_var_ref(signame.c_str(), ltype);