The patch to PR 44813 broke the build on ia64-hp-hpux11.23.  The patch went in
at r161898.  Attached is a test case which causes an ICE when compiled with GCC
on ia64-hp-hpux11.23.  No options are needed during the compile.  The failure
is:

x.cc: In function 'std::__exception_ptr::exception_ptr
std::current_exception()':
x.cc:19:1: internal compiler error: in emit_move_insn, at expr.c:3397
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

In the debugger I see:

(gdb) p mode
$1 = DImode
(gdb) p debug_rtx(x)
(reg/f:DI 341 [ <retval>+-4 ])
$2 = void
(gdb) p debug_rtx(y)
(subreg/s/v:SI (reg/f:DI 341 [ <retval>+-4 ]) 4)

so the problem is the mismatch in the modes.  IA64 generates 32 bit pointers by
default but they need to be extended to 64 bits before being dereferenced.


-- 
           Summary: Build fails when compiling libstdc++
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: sje at cup dot hp dot com
 GCC build triplet: ia64-hp-hpux11.23
  GCC host triplet: ia64-hp-hpux11.23
GCC target triplet: ia64-hp-hpux11.23


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

Reply via email to