Skip to content

The difference of 2 enums is wrong when using the --expand-enums-as-bool option

Reported by Vincent Mussot.

The program

type E = enum { A, B, C};

node bug(do : bool) returns (ok : E);
  let
    ok = if (false ->  (pre(ok) <> A)) then C
         else if (false -> do) then B
         else A;
  tel

returns A B B instead of A B C when the input is "t t t"

nb: this option is in the -dev category, but it as used by the -ec one!

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information