aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/verilog
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/verilog')
-rw-r--r--frontends/verilog/const2ast.cc5
-rw-r--r--frontends/verilog/parser.y2
2 files changed, 4 insertions, 3 deletions
diff --git a/frontends/verilog/const2ast.cc b/frontends/verilog/const2ast.cc
index e5beaeade..3a88fc046 100644
--- a/frontends/verilog/const2ast.cc
+++ b/frontends/verilog/const2ast.cc
@@ -186,12 +186,11 @@ AstNode *VERILOG_FRONTEND::const2ast(std::string code, char case_type)
my_strtobin(data, endptr+2, len_in_bits, 16, case_type);
break;
default:
- goto error;
+ return NULL;
}
return AstNode::mkconst_bits(data, is_signed);
}
-error:
- log_error("Value conversion failed: `%s'\n", code.c_str());
+ return NULL;
}
diff --git a/frontends/verilog/parser.y b/frontends/verilog/parser.y
index 22af178e8..ea39e83d4 100644
--- a/frontends/verilog/parser.y
+++ b/frontends/verilog/parser.y
@@ -912,6 +912,8 @@ basic_expr:
} |
TOK_CONST {
$$ = const2ast(*$1, case_type_stack.size() == 0 ? 0 : case_type_stack.back());
+ if ($$ == NULL)
+ log_error("Value conversion failed: `%s'\n", $1->c_str());
delete $1;
} |
TOK_STRING {