Skip to content

Commit 84d7cf1

Browse files
authored
Merge pull request #3153 from hirooih/sv-multiple-package-import-declarations
SystemVerilog: support multiple package-import-declarations close #3150
2 parents b2fe769 + 46313f4 commit 84d7cf1

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

Units/parser-verilog.r/systemverilog-package.d/expected.tags

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,9 @@ mul input.sv /^ function MyData mul(MyData x, y);$/;" f package:MyPackage
4545
x input.sv /^ function MyData mul(MyData x, y);$/;" p function:MyPackage.mul
4646
y input.sv /^ function MyData mul(MyData x, y);$/;" p function:MyPackage.mul
4747
var_to_check_context input.sv /^reg var_to_check_context;$/;" r
48+
mod_a input.sv /^module mod_a$/;" m
49+
in_a input.sv /^ input var logic in_a$/;" p module:mod_a
50+
sig_a input.sv /^ logic sig_a;$/;" r module:mod_a
51+
mod_b input.sv /^module mod_b$/;" m
52+
in_b input.sv /^ input var logic in_b$/;" p module:mod_b
53+
sig_b input.sv /^ logic sig_b;$/;" r module:mod_b

Units/parser-verilog.r/systemverilog-package.d/input.sv

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,21 @@ package MyPackage;
8787
endpackage : MyPackage
8888

8989
reg var_to_check_context;
90+
91+
// multiple package import declarations, #3150
92+
module mod_a
93+
import A::*, B::*;
94+
(
95+
input var logic in_a
96+
);
97+
logic sig_a;
98+
endmodule
99+
100+
module mod_b
101+
import A::*;
102+
import B::*;
103+
(
104+
input var logic in_b
105+
);
106+
logic sig_b;
107+
endmodule

parsers/verilog.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1408,7 +1408,7 @@ static int processDesignElementL (tokenInfo *const token, int c)
14081408
createTag (token, kind); // identifier
14091409

14101410
// skip package_import_declaration
1411-
if (isWordToken (c))
1411+
while (isWordToken (c))
14121412
{
14131413
c = readWordToken (token, c);
14141414
if (token->kind == K_IMPORT)

0 commit comments

Comments
 (0)