Don't exit early if many warnings but no errors are found. [Stan Mayer]

git-svn-id: file://localhost/svn/verilator/trunk/verilator@953 77ca24e4-aefa-0310-84f0-b9a241c72d87
This commit is contained in:
Wilson Snyder 2007-08-23 13:21:58 +00:00
parent c4b1bc2506
commit fb2cb3c49d
4 changed files with 18 additions and 4 deletions

View File

@ -3,6 +3,10 @@ Revision history for Verilator
The contributors that suggested a given feature are shown in []. [by ...]
indicates the contributor was also the author of the fix; Thanks!
* Verilator 3.65***
**** Don't exit early if many warnings but no errors are found. [Stan Mayer]
* Verilator 3.653 8/1/2007
**** Support SystemVerilog ==? and !=? operators.

1
TODO
View File

@ -25,6 +25,7 @@ Features:
Coverage
Points should be per-scope like everything else rather then per-module
Expression coverage (see notes)
Constant functions for widths, etc, IE "input [log2(PARAM):0] xx;"
More Verilog 2001 Support
(* *) Attributes (just ignore -- preprocessor?)
Real numbers (NEVER)

View File

@ -2001,6 +2001,17 @@ the "verilator" define for you, so just wrap the code in a ifndef region:
Something_Verilator_Dislikes;
`endif
=item Why do I get "unexpected `do'" or "unexpected `bit'" errors?
Do, bit, ref, and other words are now SystemVerilog keywords. You should
change your code to not use them to insure it works with newer tools.
Alternatively, surround them by the Verilog 2005/SystemVerilog
begin_keywords pragma to indicate Verilog 2001 code.
`begin_keywords "1364-2001"
integer bit; initial bit = 1;
`end_keywords
=item How do I prevent my assertions from firing during reset?
Call Verilated::assertOn(false) before you first call the model, then turn

View File

@ -190,14 +190,12 @@ string V3Error::lineStr (const char* filename, int lineno) {
void V3Error::incWarnings() {
s_warnCount++;
if (errorOrWarnCount() == MAX_ERRORS) { // Not >= as would otherwise recurse
v3fatal ("Exiting due to too many errors encountered\n");
}
// We don't exit on a lot of warnings.
}
void V3Error::incErrors() {
s_errCount++;
if (errorOrWarnCount() == MAX_ERRORS) { // Not >= as would otherwise recurse
if (errorCount() == MAX_ERRORS) { // Not >= as would otherwise recurse
v3fatal ("Exiting due to too many errors encountered\n");
}
}