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/16397] [3.5 Regression] libiberty/cp-demangle.c:3923: ICE: in emit_group_load, at expr.c:1843


------- 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


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