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