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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |NEW

--- Comment #25 from H.J. Lu <hjl.tools at gmail dot com> ---
One difference of signed vs unsigned char comes from:

static ccp_prop_value_t
get_value_for_expr (tree expr, bool for_bits_p)
{
...
  if (val.lattice_val == VARYING
      && INTEGRAL_TYPE_P (TREE_TYPE (expr))
      && TYPE_UNSIGNED (TREE_TYPE (expr)))
    val.mask = wi::zext (val.mask, TYPE_PRECISION (TREE_TYPE (expr)));

  return val;
}

Reply via email to