[Bug middle-end/16397] [3.5 Regression] libiberty/cp-demangle.c:3923: ICE: in emit_group_load, at expr.c:1843

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Jul 7 02:56:00 GMT 2004


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-07-07 02:56 -------
      /* Handle calls that pass values in multiple non-contiguous
         locations.  The PA64 has examples of this for library calls.  */
      if (reg != 0 && GET_CODE (reg) == PARALLEL)
        emit_group_load (reg, val, NULL_TREE, GET_MODE_SIZE (GET_MODE (val)));
      else if (reg != 0 && partial == 0)
        emit_move_insn (reg, val);

Looks like it should look into the mode of reg instead of val.
Can you try that change?

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c                           |middle-end
           Keywords|                            |build, ice-on-valid-code
            Summary|[regression 3.5]            |[3.5 Regression]
                   |libiberty/cp-               |libiberty/cp-
                   |demangle.c:3923: ICE: in    |demangle.c:3923: ICE: in
                   |emit_group_load, at         |emit_group_load, at
                   |expr.c:1843                 |expr.c:1843
   Target Milestone|---                         |3.5.0


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



More information about the Gcc-bugs mailing list