sv: check validity of package end label

This commit is contained in:
Zachary Snow 2021-05-10 11:06:02 -04:00 committed by Zachary Snow
parent 32a0ce9d68
commit 4452080861
2 changed files with 17 additions and 0 deletions

View File

@ -579,6 +579,8 @@ package:
append_attr(mod, $1);
} ';' package_body TOK_ENDPACKAGE opt_label {
ast_stack.pop_back();
if ($4 != NULL && $9 != NULL && *$4 != *$9)
frontend_verilog_yyerror("Package name (%s) and end label (%s) don't match.", $4->c_str()+1, $9->c_str()+1);
current_ast_mod = NULL;
exitTypeScope();
};

View File

@ -0,0 +1,15 @@
logger -expect-no-warnings
read_verilog -sv <<EOF
package correct_name;
localparam X = 1;
endpackage : correct_name
EOF
design -reset
logger -expect error "Package name \(correct_name\) and end label \(incorrect_name\) don't match\." 1
read_verilog -sv <<EOF
package correct_name;
localparam X = 1;
endpackage : incorrect_name
EOF