------- Comment #38 from rguenth at gcc dot gnu dot org 2007-03-30 10:15
-------
Ok, got it now - the crucial point is where width comes from:
#define HOST_WIDE_INT long
#define HOST_BITS_PER_WIDE_INT (4*8)
struct tree_type
{
unsigned int precision : 9;
};
int
sign_bit_p (struct tree_type *t, HOST_WIDE_INT val_hi, unsigned HOST_WIDE_INT
val_lo)
{
unsigned HOST_WIDE_INT mask_lo, lo;
HOST_WIDE_INT mask_hi, hi;
int width = t->precision;
(... continuing as the last testcase)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31169