------- Comment #2 from rguenth at gcc dot gnu dot org 2009-05-20 09:20 ------- Confirmed. We endlessly recurse in folding
#2 0x000000000076b333 in fold_binary (code=BIT_AND_EXPR, type=0x7ffff5f5f540, op0=0x7ffff7ff9580, op1=0x7ffff5f76870) at /space/rguenther/src/svn/trunk/gcc/fold-const.c:11388 11388 return fold_build2 (BIT_AND_EXPR, type, tem, (gdb) l 11383 TREE_OPERAND (arg0, 1)); 11384 tem = fold_convert (type, tem); 11385 } 11386 else 11387 tem = op0; 11388 return fold_build2 (BIT_AND_EXPR, type, tem, 11389 build_int_cst_type (TREE_TYPE (op1), 11390 newmask)); 11391 } 11392 } (gdb) call debug_generic_expr (op0) (<unnamed-unsigned:4>) ((unsigned char) c >> 4) (gdb) call debug_generic_expr (op1) 15 (gdb) call debug_generic_expr (tem) (<unnamed-unsigned:4>) ((unsigned char) c >> 4) (gdb) p newmask $1 = 255 and 255 is truncated to 15 again. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|c |middle-end Ever Confirmed|0 |1 Keywords| |ice-on-valid-code Known to fail| |4.3.3 4.4.0 Known to work| |4.2.4 Last reconfirmed|0000-00-00 00:00:00 |2009-05-20 09:20:22 date| | Summary|segfault with bitfields in |[4.3/4.4/4.5 Regression] |structs |segfault with bitfields in | |structs Target Milestone|--- |4.3.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40204