mirror of
https://github.com/verilator/verilator.git
synced 2025-01-01 04:07:34 +00:00
Convert unnamed error to new PKGNODECL error.
This commit is contained in:
parent
583605b218
commit
2abbd5c145
@ -4645,6 +4645,12 @@ signal.
|
||||
Disabled by default as this is a code style warning; it will simulate
|
||||
correctly.
|
||||
|
||||
=item PKGNODECL
|
||||
|
||||
Error that a package/class appears to have been referenced that has not yet
|
||||
been declared. According to IEEE 1800-2017 26.3 all packages must be
|
||||
declared before being used.
|
||||
|
||||
=item PROCASSWIRE
|
||||
|
||||
Error that a procedural assignment is setting a wire. According to IEEE, a
|
||||
|
@ -51,6 +51,7 @@ public:
|
||||
I_DEF_NETTYPE_WIRE, // `default_nettype is WIRE (false=NONE)
|
||||
// Error codes:
|
||||
E_DETECTARRAY, // Error: Unsupported: Can't detect changes on arrayed variable
|
||||
E_PKGNODECL, // Error: Package/class needs to be predeclared
|
||||
E_PORTSHORT, // Error: Output port is connected to a constant, electrical short
|
||||
E_UNSUPPORTED, // Error: Unsupported (generally)
|
||||
E_TASKNSVAR, // Error: Task I/O not simple
|
||||
@ -145,7 +146,7 @@ public:
|
||||
// Boolean
|
||||
" I_CELLDEFINE", " I_COVERAGE", " I_TRACING", " I_LINT", " I_DEF_NETTYPE_WIRE",
|
||||
// Errors
|
||||
"DETECTARRAY", "PORTSHORT", "UNSUPPORTED", "TASKNSVAR",
|
||||
"DETECTARRAY", "PKGNODECL", "PORTSHORT", "UNSUPPORTED", "TASKNSVAR",
|
||||
// Warnings
|
||||
" EC_FIRST_WARN",
|
||||
"ALWCOMBORDER", "ASSIGNDLY", "ASSIGNIN",
|
||||
|
@ -531,9 +531,9 @@ void V3ParseImp::tokenPipelineSym() {
|
||||
// is missing package, and this confuses people
|
||||
static int warned = false;
|
||||
if (!warned++) {
|
||||
yylval.fl->v3error(
|
||||
"Package/class '" + *yylval.strp
|
||||
+ "' not found, and needs to be predeclared (IEEE 1800-2017 26.3)");
|
||||
yylval.fl->v3warn(E_PKGNODECL, "Package/class '" + *yylval.strp
|
||||
+ "' not found, and needs to be "
|
||||
"predeclared (IEEE 1800-2017 26.3)");
|
||||
}
|
||||
}
|
||||
} else if (token == yaID__LEX) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
%Error: t/t_lint_import_name2_bad.v:7:8: Package/class 'missing' not found, and needs to be predeclared (IEEE 1800-2017 26.3)
|
||||
%Error-PKGNODECL: t/t_lint_import_name2_bad.v:7:8: Package/class 'missing' not found, and needs to be predeclared (IEEE 1800-2017 26.3)
|
||||
7 | import missing::sigs;
|
||||
| ^~~~~~~
|
||||
%Error: t/t_lint_import_name2_bad.v:7:8: Importing from missing package 'missing'
|
||||
|
@ -1,4 +1,4 @@
|
||||
%Error: t/t_lint_pkg_colon_bad.v:7:17: Package/class 'mispkg' not found, and needs to be predeclared (IEEE 1800-2017 26.3)
|
||||
%Error-PKGNODECL: t/t_lint_pkg_colon_bad.v:7:17: Package/class 'mispkg' not found, and needs to be predeclared (IEEE 1800-2017 26.3)
|
||||
7 | module t (input mispkg::foo_t a);
|
||||
| ^~~~~~
|
||||
%Error: t/t_lint_pkg_colon_bad.v:7:25: syntax error, unexpected IDENTIFIER, expecting TYPE-IDENTIFIER
|
||||
|
Loading…
Reference in New Issue
Block a user