This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/19689] [4.0 Regression] ICE in store_bit_field, at expmed.c


------- Additional Comments From steven at gcc dot gnu dot org  2005-01-29 12:54 -------
Something like this?? 
Index: expr.c 
=================================================================== 
RCS file: /cvs/gcc/gcc/gcc/expr.c,v 
retrieving revision 1.776 
diff -u -3 -p -r1.776 expr.c 
--- expr.c      27 Jan 2005 00:07:41 -0000      1.776 
+++ expr.c      29 Jan 2005 12:54:25 -0000 
@@ -5224,6 +5224,8 @@ store_field (rtx target, HOST_WIDE_INT b 
         C front end.  */ 
       if (TREE_CODE (exp) == NOP_EXPR 
          && INTEGRAL_TYPE_P (TREE_TYPE (exp)) 
+         && (TYPE_MODE (TREE_TYPE (exp)) 
+             == TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)))) 
          && (TYPE_PRECISION (TREE_TYPE (exp)) 
              < GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (exp)))) 
          && bitsize == TYPE_PRECISION (TREE_TYPE (exp))) 
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19689


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]