vhdl-style-guide icon indicating copy to clipboard operation
vhdl-style-guide copied to clipboard

Make `whitespace_013` silent on functional use of binary logic operators

Open staerz opened this issue 2 years ago • 8 comments

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!

staerz avatar Jan 04 '23 22:01 staerz