Change SYMRSVDWORD to print as warning rather than error.

This commit is contained in:
Wilson Snyder 2014-05-28 07:24:02 -04:00
parent 5f8f474c0c
commit 2029ade18c
4 changed files with 11 additions and 8 deletions

View File

@ -9,6 +9,8 @@ indicates the contributor was also the author of the fix; Thanks!
*** Support SV 2012 package import before port list. *** Support SV 2012 package import before port list.
**** Change SYMRSVDWORD to print as warning rather than error.
**** Fix shift corner-cases, bug765, bug766, bug768, bug772, bug776. [Clifford Wolf] **** Fix shift corner-cases, bug765, bug766, bug768, bug772, bug776. [Clifford Wolf]
**** Fix C compiler interpreting signing, bug773. [Clifford Wolf] **** Fix C compiler interpreting signing, bug773. [Clifford Wolf]

View File

@ -3092,10 +3092,9 @@ simulators.
=item SYMRSVDWORD =item SYMRSVDWORD
Error that a symbol matches a C++ reserved word and using this as a symbol Warning that a symbol matches a C++ reserved word and using this as a symbol
name would result in odd C compiler errors. You may disable this error name would result in odd C compiler errors. You may disable this warning,
message as you would disable warnings, but the symbol will be renamed by but the symbol will be renamed by Verilator to avoid the conflict.
Verilator to avoid the conflict.
=item SYNCASYNCNET =item SYNCASYNCNET

View File

@ -144,9 +144,10 @@ public:
// Warnings we'll present to the user as errors // Warnings we'll present to the user as errors
// Later -Werror- options may make more of these. // Later -Werror- options may make more of these.
bool pretendError() const { return ( m_e==ASSIGNIN || m_e==BLKANDNBLK bool pretendError() const { return ( m_e==ASSIGNIN || m_e==BLKANDNBLK
|| m_e==IMPURE || m_e==MODDUP || m_e==SYMRSVDWORD); } || m_e==IMPURE || m_e==MODDUP); }
// Warnings to mention manual // Warnings to mention manual
bool mentionManual() const { return ( m_e==EC_FATALSRC || pretendError() ); } bool mentionManual() const { return ( m_e==EC_FATALSRC || m_e==SYMRSVDWORD
|| pretendError() ); }
// Warnings that are lint only // Warnings that are lint only
bool lintError() const { return ( m_e==ALWCOMBORDER bool lintError() const { return ( m_e==ALWCOMBORDER

View File

@ -12,8 +12,9 @@ top_filename("t/t_var_rsvd_port.v");
compile ( compile (
fails=>$Self->{v3}, fails=>$Self->{v3},
expect=> expect=>
q{%Error-SYMRSVDWORD: t/t_var_rsvd_port.v:\d+: Symbol matches C\+\+ common word: 'bool' q{%Warning-SYMRSVDWORD: t/t_var_rsvd_port.v:\d+: Symbol matches C\+\+ common word: 'bool'
%Error-SYMRSVDWORD: t/t_var_rsvd_port.v:\d+: Symbol matches C\+\+ reserved word: 'switch' .*
%Warning-SYMRSVDWORD: t/t_var_rsvd_port.v:\d+: Symbol matches C\+\+ reserved word: 'switch'
%Error: Exiting due to.*}, %Error: Exiting due to.*},
); );