https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118140

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Try this:
    d |= ({
      int h = f[g - 1] ? 2 : 0;
#if 0
      int i = f[g - 1] ? f_3 : 0;
#else
      _Bool t;
      if (f[g - 1])
        t = f_3;
      else
        t = 0;
//_Bool t = (f[g - 1] & f_3);
int i = t;
#endif
      h > i;
    });

Reply via email to