Combinational loops lead to unpredictable design. Thus, they must be removed.
process (clk) begin if rising_edge(clk) then a <= not(a); end if; end process; process (b) begin b <= not(b) -- Noncompliant end process;