https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96496
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mpolacek at gcc dot gnu.org
--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
As a consequence of the
andl $1, %eax
we produce 1 for odd numbers only:
enum E : bool { One, Two };
int
f1 (int x)
{
return (E) x;
}
int
main ()
{
if (f1 (6) != 1)
__builtin_abort ();
if (f1 (7) != 1)
__builtin_abort ();
}