Fix misc bad-syntax crashes, bug1532.

This commit is contained in:
Wilson Snyder 2019-09-30 18:50:27 -04:00
parent cb115e1a15
commit a1405dac8e
4 changed files with 27 additions and 3 deletions

View File

@ -22,6 +22,8 @@ The contributors that suggested a given feature are shown in []. Thanks!
**** Fix ugly error on interface misuse, bug1525. [Bogdan Vukobratovic]
**** Fix misc bad-syntax crashes, bug1532. [Eric Rippey]
* Verilator 4.018 2019-08-29

View File

@ -850,7 +850,8 @@ vnum {vnum1}|{vnum2}|{vnum3}|{vnum4}|{vnum5}
/************************************************************************/
/* STRINGS */
<STRING><<EOF>> { FL_FWD; yyerrorf("EOF in unterminated string"); yyleng = 0; yy_pop_state(); FL_BRK; }
<STRING><<EOF>> { FL_FWD; yyerrorf("EOF in unterminated string");
yyleng = 0; yy_pop_state(); FL_BRK; yyterminate(); }
<STRING>{crnl} { FL_FWD; yyerrorf("Unterminated string"); FL_BRK; }
<STRING>\\{crnl} { yymore(); }
<STRING>\\. { yymore(); }
@ -867,7 +868,7 @@ vnum {vnum1}|{vnum2}|{vnum3}|{vnum4}|{vnum5}
<ATTRMODE>{word} { yymore(); }
<ATTRMODE>. { yymore(); }
<ATTRMODE><<EOF>> { FL_FWD; yyerrorf("EOF in (*");
yyleng = 0; yy_pop_state(); FL_BRK; }
yyleng = 0; yy_pop_state(); FL_BRK; yyterminate(); }
/************************************************************************/
/* Attributes */
@ -883,7 +884,8 @@ vnum {vnum1}|{vnum2}|{vnum3}|{vnum4}|{vnum5}
<TABLE>";" { FL; yylval.strp = PARSEP->newString(yytext, yyleng); return yaTABLELINE; }
<TABLE>"endtable" { yy_pop_state(); FL; return yENDTABLE; }
<TABLE>. { yymore(); }
<TABLE><<EOF>> { FL_FWD; yyerrorf("EOF in TABLE"); yyleng = 0; yy_pop_state(); FL_BRK; }
<TABLE><<EOF>> { FL_FWD; yyerrorf("EOF in TABLE");
yyleng = 0; yy_pop_state(); FL_BRK; yyterminate(); }
/************************************************************************/
/* Preprocessor */

View File

@ -0,0 +1,17 @@
#!/usr/bin/perl
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
#
# Copyright 2003 by Wilson Snyder. This program is free software; you can
# redistribute it and/or modify it under the terms of either the GNU
# Lesser General Public License Version 3 or the Perl Artistic License
# Version 2.0.
scenarios(linter => 1);
lint(
fails => 1,
);
ok(1);
1;

View File

@ -0,0 +1,3 @@
module a;
initial $lay(*Hello!=n");
endmodule