1// { dg-do assemble  }
2// { dg-options "-Wall" }
3
4enum tristate { no = -1, maybe, yes };
5
6tristate
7tristate_satisfies (register tristate const t1, register tristate const t2)
8{
9  switch (t1)
10    {
11    case no:
12      return (tristate) -t2;
13    case maybe:
14      return yes;
15    case yes:
16      return t2;
17    }
18  return maybe;
19}
20