mirror of
https://github.com/verilator/verilator.git
synced 2025-07-31 07:56:10 +00:00
Cleanup REDEFMACRO to not show two separate warnings
This commit is contained in:
parent
96f9f8558b
commit
334e42b38e
@ -335,12 +335,15 @@ void V3PreProcImp::define(FileLine* fl, const string& name, const string& value,
|
||||
if (!(defValue(name) == value
|
||||
&& defParams(name) == params)) { // Duplicate defs are OK
|
||||
fl->v3warn(REDEFMACRO, "Redefining existing define: '"
|
||||
<< name << "', with different value: " << value
|
||||
<< (params == "" ? "" : " ") << params);
|
||||
defFileline(name)->v3warn(REDEFMACRO, "Previous definition is here, with value: "
|
||||
<< defValue(name)
|
||||
<< (defParams(name).empty() ? "" : " ")
|
||||
<< defParams(name));
|
||||
<< name << "', with different value: '" << value
|
||||
<< (params == "" ? "" : " ") << params << "'\n"
|
||||
<< fl->warnContextPrimary() << '\n'
|
||||
<< defFileline(name)->warnOther()
|
||||
<< "... Location of previous definition, with value: '"
|
||||
<< defValue(name)
|
||||
<< (defParams(name).empty() ? "" : " ")
|
||||
<< defParams(name) << "'\n"
|
||||
<< defFileline(name)->warnContextSecondary());
|
||||
}
|
||||
undef(name);
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
%Warning-REDEFMACRO: t/t_pp_dupdef.v:11:20: Redefining existing define: 'DUP', with different value: barney
|
||||
%Warning-REDEFMACRO: t/t_pp_dupdef.v:11:20: Redefining existing define: 'DUP', with different value: 'barney'
|
||||
t/t_pp_dupdef.v:11:20: ... Location of previous definition, with value: 'fred'
|
||||
... Use "/* verilator lint_off REDEFMACRO */" and lint_on around source to disable this message.
|
||||
%Warning-REDEFMACRO: t/t_pp_dupdef.v:11:20: Previous definition is here, with value: fred
|
||||
%Warning-REDEFMACRO: t/t_pp_dupdef.v:14:33: Redefining existing define: 'DUPP', with different value: paramed(x,z) (x*z)
|
||||
%Warning-REDEFMACRO: t/t_pp_dupdef.v:14:33: Previous definition is here, with value: paramed(x) (x)
|
||||
%Warning-REDEFMACRO: t/t_pp_dupdef.v:14:33: Redefining existing define: 'DUPP', with different value: 'paramed(x,z) (x*z)'
|
||||
t/t_pp_dupdef.v:14:33: ... Location of previous definition, with value: 'paramed(x) (x)'
|
||||
%Error: Exiting due to
|
||||
|
Loading…
Reference in New Issue
Block a user