From 58ac6ed1f89695acc0c8bcef2e71b3e005c025c2 Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Sat, 30 Apr 2022 20:52:15 +0200 Subject: [PATCH] Add regression tests for invalid class new Check that using a class new operator on a variable that is not of a class type results in an error. Signed-off-by: Lars-Peter Clausen --- ivtest/ivltests/sv_class_new_fail1.v | 13 +++++++++++++ ivtest/ivltests/sv_class_new_fail2.v | 13 +++++++++++++ ivtest/regress-sv.list | 2 ++ 3 files changed, 28 insertions(+) create mode 100644 ivtest/ivltests/sv_class_new_fail1.v create mode 100644 ivtest/ivltests/sv_class_new_fail2.v diff --git a/ivtest/ivltests/sv_class_new_fail1.v b/ivtest/ivltests/sv_class_new_fail1.v new file mode 100644 index 000000000..617780120 --- /dev/null +++ b/ivtest/ivltests/sv_class_new_fail1.v @@ -0,0 +1,13 @@ +// Check that using the class new operator on a non-class variable results in an +// error. + +module test; + + int i; + + initial begin + i = new; + $display("FAILED"); + end + +endmodule diff --git a/ivtest/ivltests/sv_class_new_fail2.v b/ivtest/ivltests/sv_class_new_fail2.v new file mode 100644 index 000000000..7e4928c31 --- /dev/null +++ b/ivtest/ivltests/sv_class_new_fail2.v @@ -0,0 +1,13 @@ +// Check that using the class new operator on a dynamic array variable results +// in an error. + +module test; + + int i[]; + + initial begin + i = new; + $display("FAILED"); + end + +endmodule diff --git a/ivtest/regress-sv.list b/ivtest/regress-sv.list index d28634ee3..65140e653 100644 --- a/ivtest/regress-sv.list +++ b/ivtest/regress-sv.list @@ -499,6 +499,8 @@ sv_class_constructor_fail CE,-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_fail1 CE,-g2009 ivltests +sv_class_new_fail2 CE,-g2009 ivltests sv_class_new_init normal,-g2009 ivltests sv_class_in_module_decl normal,-g2009 ivltests sv_class_method_signed1 normal,-g2009 ivltests