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 c/34601] [4.3 regression] ICE with undefined enum



------- Comment #3 from rguenth at gcc dot gnu dot org  2008-01-13 15:15 -------
This was caused by

+2007-12-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * rtl.def (SUBREG): Update comments.
...
+       (set_reg_attrs_for_decl_rtl): New function, split out from
+       set_decl_incoming_rtl.  Set the offset of plain REGs to the
+       offset of the REG's mode from the decl's.  Assert that all
+       subregs are lowparts and handle their inner registers in the
+       same way as plain REGs.
+       (set_decl_rtl, set_incoming_decl_rtl): Use reg_attrs_for_decl_rtl.
...

and can be fixed by

Index: emit-rtl.c
===================================================================
--- emit-rtl.c  (revision 131502)
+++ emit-rtl.c  (working copy)
@@ -1006,7 +1006,7 @@ set_reg_attrs_for_decl_rtl (tree t, rtx 
   if (REG_P (x))
     REG_ATTRS (x)
       = get_reg_attrs (t, byte_lowpart_offset (GET_MODE (x),
-                                              TYPE_MODE (TREE_TYPE (t))));
+                                              DECL_MODE (t)));
   if (GET_CODE (x) == CONCAT)
     {
       if (REG_P (XEXP (x, 0)))


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2008-01-13 15:11:41         |2008-01-13 15:15:22
               date|                            |


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


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