Choices overlaps hid functional issues because some branches cannot be reached. Choices overlaps should be checked at and fixed.
X : in integer range 7 downto 0;
...
case X is
when 0 =>
Z <= A;
when 0 to 6 => -- Noncompliant: '0' overlaps preceding when clause
Z <= B;
when 1 | 7 => -- Noncompliant: '1' overlaps preceding when clause
Z <= C;
end case;
X : in integer range 7 downto 0;
...
case X is
when 0 =>
Z <= A;
when 1 to 6 =>
Z <= B;
when 7 =>
Z <= C;
end case;