From 352175d9212fcde01f67cb2ab1b167eaaec05dc8 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Sun, 26 Apr 2015 12:46:08 +0100 Subject: [PATCH] Fix for br973 - add support for enum declarations with no dimensions. --- parse.y | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/parse.y b/parse.y index 8b4a7180c..948437000 100644 --- a/parse.y +++ b/parse.y @@ -2448,34 +2448,34 @@ enum_data_type enum_type->range.reset(make_range_from_width(integer_width)); $$ = enum_type; } - | K_enum K_logic unsigned_signed_opt dimensions '{' enum_name_list '}' + | K_enum K_logic unsigned_signed_opt dimensions_opt '{' enum_name_list '}' { enum_type_t*enum_type = new enum_type_t; FILE_NAME(enum_type, @1); enum_type->names .reset($6); enum_type->base_type = IVL_VT_LOGIC; enum_type->signed_flag = $3; enum_type->integer_flag = false; - enum_type->range.reset($4); + enum_type->range.reset($4 ? $4 : make_range_from_width(1)); $$ = enum_type; } - | K_enum K_reg unsigned_signed_opt dimensions '{' enum_name_list '}' + | K_enum K_reg unsigned_signed_opt dimensions_opt '{' enum_name_list '}' { enum_type_t*enum_type = new enum_type_t; FILE_NAME(enum_type, @1); enum_type->names .reset($6); enum_type->base_type = IVL_VT_LOGIC; enum_type->signed_flag = $3; enum_type->integer_flag = false; - enum_type->range.reset($4); + enum_type->range.reset($4 ? $4 : make_range_from_width(1)); $$ = enum_type; } - | K_enum K_bit unsigned_signed_opt dimensions '{' enum_name_list '}' + | K_enum K_bit unsigned_signed_opt dimensions_opt '{' enum_name_list '}' { enum_type_t*enum_type = new enum_type_t; FILE_NAME(enum_type, @1); enum_type->names .reset($6); enum_type->base_type = IVL_VT_BOOL; enum_type->signed_flag = $3; enum_type->integer_flag = false; - enum_type->range.reset($4); + enum_type->range.reset($4 ? $4 : make_range_from_width(1)); $$ = enum_type; } ;