diff --git a/ivtest/ivltests/sv_class_empty_item.v b/ivtest/ivltests/sv_class_empty_item.v new file mode 100644 index 000000000..725b37c7b --- /dev/null +++ b/ivtest/ivltests/sv_class_empty_item.v @@ -0,0 +1,22 @@ +// Check that empty item declarations are supported for classes + +module test; + +class C; + ; + int x;; + + task test; + $display("PASSED"); + endtask; + ; +endclass + + C c; + + initial begin + c = new; + c.test; + end + +endmodule diff --git a/ivtest/regress-sv.list b/ivtest/regress-sv.list index ee99c29f7..f5a39d697 100644 --- a/ivtest/regress-sv.list +++ b/ivtest/regress-sv.list @@ -442,6 +442,7 @@ sv_class21 normal,-g2009 ivltests sv_class22 normal,-g2009 ivltests sv_class23 normal,-g2009 ivltests sv_class24 normal,-g2009 ivltests +sv_class_empty_item normal,-g2009 ivltests sv_class_extends_scoped normal,-g2009 ivltests sv_class_localparam normal,-g2009 ivltests sv_class_new_init normal,-g2009 ivltests diff --git a/ivtest/regress-vlog95.list b/ivtest/regress-vlog95.list index a03185273..a18da3562 100644 --- a/ivtest/regress-vlog95.list +++ b/ivtest/regress-vlog95.list @@ -365,6 +365,7 @@ sv_class21 CE,-g2009 ivltests sv_class22 CE,-g2009 ivltests sv_class23 CE,-g2009 ivltests sv_class24 CE,-g2009 ivltests +sv_class_empty_item CE,-g2009 ivltests sv_class_extends_scoped CE,-g2009 ivltests sv_class_localparam CE,-g2009 ivltests sv_class_new_init CE,-g2009 ivltests diff --git a/parse.y b/parse.y index 50d5e62b0..9ac90a9fd 100644 --- a/parse.y +++ b/parse.y @@ -979,6 +979,9 @@ class_item /* IEEE1800-2005: A.1.8 */ | parameter_declaration + /* Empty class item */ + | ';' + | error ';' { yyerror(@2, "error: invalid class item."); yyerrok;