https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63502
Bug ID: 63502 Summary: ICE in s390_add_constant when building with g++ in S390x Linux Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: bill.klees at teamquest dot com Created attachment 33673 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33673&action=edit ii file. System ------ Linux 2.6.18-238.el5 #1 SMP Sun Dec 19 14:27:28 EST 2010 s390x s390x s390x GNU/Linux GCC --- Using built-in specs. COLLECT_GCC=/opt/gcc-4.9.1/bin/g++ COLLECT_LTO_WRAPPER=/opt/gcc-4.9.1/libexec/gcc/s390x-ibm-linux-gnu/4.9.1/lto-wrapper Target: s390x-ibm-linux-gnu Configured with: /home/bjk/gcc/gcc-4.9.1/./configure --prefix=/opt/gcc-4.9.1 --with-gmp=/opt/gmp-6.0.0 --with-mpfr=/opt/mpfr-3.1.2 --with-mpc=/opt/mpc-1.0.2 --enable-languages=c,c++ CC=/opt/gcc-4.7.4/bin/gcc CXX=/opt/gcc-4.7.4/bin/g++ --disable-bootstrap Thread model: posix gcc version 4.9.1 (GCC) Source File ----------- typedef struct { char system_name[100]; char system_model[100]; char original_system_name[100]; int physical_system; } SB; typedef struct { int work_at_sys; } MWL, *LPMWL; typedef struct { MWL *sys_tier; int shadow_wl; int util_queue_num; } CB; typedef struct { int current_system; CB *clas; int number_systems; SB *systems; int nr; } MO, *LPMO; void ds(LPMO mptr, int selected_index) { for (int i = selected_index; i < mptr->number_systems; i++) { mptr->systems[i] = mptr->systems[i+1]; for (int r = 1; r <= mptr->nr; r++) mptr->clas[r].sys_tier[i] = mptr->clas[r].sys_tier[i+1]; mptr->systems[i].physical_system -= 1; } if (mptr->current_system >= selected_index) { if (mptr->current_system == 0) mptr->current_system = 1; } } Build Command ------------- /opt/gcc-4.9.1/bin/g++ -m31 -O1 -c -o m.o m.c Result ------ m.c: In function âvoid ds(LPMO, int)â: m.c:50:1: internal compiler error: in s390_add_constant, at config/s390/s390.c:6403 } ^ 0x8080f0c9 s390_add_constant /home/bjk/gcc/gcc-4.9.1/./gcc/config/s390/s390.c:6403 0x8080f0c9 s390_add_constant /home/bjk/gcc/gcc-4.9.1/./gcc/config/s390/s390.c:6395 0x808232d1 s390_mainpool_start /home/bjk/gcc/gcc-4.9.1/./gcc/config/s390/s390.c:6699 0x808232d1 s390_reorg /home/bjk/gcc/gcc-4.9.1/./gcc/config/s390/s390.c:11350 0x8055e927 rest_of_handle_machine_reorg /home/bjk/gcc/gcc-4.9.1/./gcc/reorg.c:3936 0x8055e927 execute /home/bjk/gcc/gcc-4.9.1/./gcc/reorg.c:3966 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. Notes ----- Builds successfully using -O0, -O2, and -O3 Builds successfully with all optimizations when using -m64 instead of -m31