diff --git a/Changes b/Changes index 72f687a4d..3b8e2d508 100644 --- a/Changes +++ b/Changes @@ -34,6 +34,8 @@ The contributors that suggested a given feature are shown in []. Thanks! **** Fix std:: build error, bug1322. +**** Change MODDUP errors to warnings, msg2588. [Marshal Qiao] + * Verilator 3.924 2018-06-12 diff --git a/bin/verilator b/bin/verilator index 2a6a45cc2..23de61cd8 100755 --- a/bin/verilator +++ b/bin/verilator @@ -3576,10 +3576,14 @@ correctly. =item MODDUP -Error that a module has multiple definitions. Generally this indicates a +Warns that a module has multiple definitions. Generally this indicates a coding error, or a mistake in a library file and it's good practice to have -one module per file to avoid these issues. For some gate level netlists -duplicates are unavoidable, and this error may be disabled. +one module per file (and only put each file once on the command line) to +avoid these issues. For some gate level netlists duplicates are sometimes +unavoidable, and MODDUP should be disabled. + +Ignoring this warning will cause the more recent module definition to be +discarded. =item MULTIDRIVEN diff --git a/configure.ac b/configure.ac index e24b8ce1f..0dd5aadf6 100644 --- a/configure.ac +++ b/configure.ac @@ -6,7 +6,8 @@ #AC_INIT([Verilator],[#.### YYYY-MM-DD]) #AC_INIT([Verilator],[#.### devel]) -AC_INIT([Verilator],[4.000 devel]) +AC_INIT([Verilator],[4.000 devel],[https://www.veripool.org/verilator], + [verilator],[https://www.veripool.org/verilator]) # When releasing, also update header of Changes file # and commit using "devel release" or "Version bump" message diff --git a/src/V3Error.h b/src/V3Error.h index ecb12dce5..c0fad9f76 100644 --- a/src/V3Error.h +++ b/src/V3Error.h @@ -156,7 +156,7 @@ public: // Later -Werror- options may make more of these. bool pretendError() const { return ( m_e==ASSIGNIN || m_e==BLKANDNBLK || m_e==BLKLOOPINIT - || m_e==IMPURE || m_e==MODDUP); } + || m_e==IMPURE); } // Warnings to mention manual bool mentionManual() const { return ( m_e==EC_FATALSRC || m_e==SYMRSVDWORD || pretendError() ); } diff --git a/test_regress/t/t_mod_dup_bad.pl b/test_regress/t/t_mod_dup_bad.pl index 1ebee5d1a..92d6612c5 100755 --- a/test_regress/t/t_mod_dup_bad.pl +++ b/test_regress/t/t_mod_dup_bad.pl @@ -12,8 +12,8 @@ scenarios(vlt_all => 1); compile( fails => 1, expect => -'%Error-MODDUP: t/t_mod_dup_bad.v:\d+: Duplicate declaration of module: a -%Error-MODDUP: t/t_mod_dup_bad.v:\d+: ... Location of original declaration +'%Warning-MODDUP: t/t_mod_dup_bad.v:\d+: Duplicate declaration of module: a +%Warning-MODDUP: t/t_mod_dup_bad.v:\d+: ... Location of original declaration .* %Error: Exiting due to.*', );