This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/16397] [3.5 Regression] libiberty/cp-demangle.c:3923: ICE: in emit_group_load, at expr.c:1843
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Jul 2004 02:56:37 -0000
- Subject: [Bug middle-end/16397] [3.5 Regression] libiberty/cp-demangle.c:3923: ICE: in emit_group_load, at expr.c:1843
- References: <20040707024156.16397.danglin@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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