Parse nettype with package, still unsupported

This commit is contained in:
Wilson Snyder 2023-03-14 19:52:01 -04:00
parent 9e25c21fed
commit ea4cc4e076
3 changed files with 17 additions and 6 deletions

View File

@ -2480,6 +2480,9 @@ net_type_declaration<nodep>: // IEEE: net_type_declaration
{ $$ = nullptr; BBUNSUP($<fl>1, "Unsupported: nettype"); }
| yNETTYPE packageClassScopeE id/*net_type_identifier*/ idAny/*net_type_identifier*/ ';'
{ $$ = nullptr; BBUNSUP($<fl>1, "Unsupported: nettype"); }
| yNETTYPE packageClassScopeE id/*net_type_identifier*/ idAny/*net_type_identifier*/
/*cont*/ yWITH__ETC packageClassScopeE id/*tf_identifier*/ ';'
{ $$ = nullptr; BBUNSUP($<fl>1, "Unsupported: nettype"); }
;
implicit_typeE<nodeDTypep>: // IEEE: part of *data_type_or_implicit

View File

@ -1,11 +1,14 @@
%Error-UNSUPPORTED: t/t_nettype.v:24:4: Unsupported: nettype
24 | nettype real real1_n with Pkg::resolver;
%Error-UNSUPPORTED: t/t_nettype.v:25:4: Unsupported: nettype
25 | nettype real real1_n with Pkg::resolver;
| ^~~~~~~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
%Error-UNSUPPORTED: t/t_nettype.v:28:4: Unsupported: nettype
28 | nettype real real2_n with local_resolver;
%Error-UNSUPPORTED: t/t_nettype.v:29:4: Unsupported: nettype
29 | nettype real real2_n with local_resolver;
| ^~~~~~~
%Error-UNSUPPORTED: t/t_nettype.v:33:4: Unsupported: nettype
33 | nettype real2_n real3_n;
%Error-UNSUPPORTED: t/t_nettype.v:34:4: Unsupported: nettype
34 | nettype real2_n real3_n;
| ^~~~~~~
%Error-UNSUPPORTED: t/t_nettype.v:38:4: Unsupported: nettype
38 | nettype Pkg::real_t real4_n with Pkg::resolver;
| ^~~~~~~
%Error: Exiting due to

View File

@ -5,6 +5,7 @@
// SPDX-License-Identifier: CC0-1.0
package Pkg;
typedef real real_t;
real last_resolve;
function automatic real resolver(input real drivers[]);
@ -34,6 +35,10 @@ module t(/*AUTOARG*/);
real3_n real3;
assign real3 = 1.23;
nettype Pkg::real_t real4_n with Pkg::resolver;
real4_n real4;
assign real4 = 1.23;
// TODO when implement net types need to check multiple driver cases, across
// submodules