vhdl-style-guide
vhdl-style-guide copied to clipboard
Make `whitespace_013` silent on functional use of binary logic operators
Is your feature request related to a problem? Please describe. VSG (3.13.1) currently reports an error on the following VHDL-2008 functional use of binary logic operators:
...
architecture tb of tester is
signal eof : std_logic_vector(1 downto 0);
...
begin
...
check_loop : process
begin
while nand(eof) loop
...
Describe the solution you'd like
As of VHDL-2008, binary operators such as nand
, and
etc. can be used as a function and return the "nand"-ed, "and"-ed etc. result of the passed signal.
whitespace_013
requires a space around the logical operators which usually isn't required for function calls.
The desired solution would be to make whitespace_013
recognise the functional use and then not kick in.
(from the view of the implementation: if the expression within the parenthesis contains a space then it's a parenthesis for logical hierarchy and whitespace_013
should be active, otherwise it's a functional use of the binary operator and whitespace_013
should not kick in)
Describe alternatives you've considered The alternative is to not care or to add local exceptions everywhere ...
Additional context VHDL-2008 is great!