http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54091
Bug #: 54091 Summary: internal compiler error in class method with many string objects Classification: Unclassified Product: gcc Version: 4.4.6 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: bugzilla-...@thewrittenword.com Created attachment 27870 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27870 output of g++ -save-temps command from description... $ g++ -v Using built-in specs. Target: powerpc-ibm-aix5.3.0.0 Configured with: /opt/build/gcc-4.4.6/configure --enable-nls --with-included-gettext --enable-shared --enable-threads --with-local-prefix=/opt/TWWfsw/gcc44 --with-gmp=/opt/TWWfsw/libgmp43 --with-mpfr=/opt/TWWfsw/libmpfr30 --with-gmp-ldflags='-Wl,-brtl -Wl,-blibpath:/opt/TWWfsw/libgmp43/lib:/usr/lib' --with-mpfr-ldflags='-Wl,-brtl -Wl,-blibpath:/opt/TWWfsw/libmpfr30/lib:/usr/lib' --enable-languages=ada,c,c++,fortran --datadir=/opt/TWWfsw/gcc44/share --with-gxx-include-dir=/opt/TWWfsw/gcc44/include/c++ --prefix=/opt/TWWfsw/gcc44 Thread model: aix gcc version 4.4.6 [TWW] (GCC) $ g++ -save-temps -I/opt/TWWfsw/libwxgtk28/lib/gcc44/wx/include/gtk2-unicode-release-2.8 -I/opt/TWWfsw/libwxgtk28/include/gcc44 -D__WXGTK__ -O2 -c ice.cpp : In member function 'void Ice::Segv()': :1139: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. ice.ii attached. Data points: * This bug was found when compiling code blocks-10.05 against wxGTK-2.8.12, in the file src/plugins/contrib/headerfixup/defaults.cpp, but I removed the majority of noise except '#include <wx/wxString.h>' which is needed to trip the bug. * Preprocessing the file separately, and then compiling the output works correctly. * Removing a single one of the 1126 identical lines in Ice:Segv changes the error to an out of memory fault. * Reducing optimisation to -O1 allows the compile to succeed. * Trying to factor away the wxString type (replacing L"x" with "x" and wxString with string) allows compilation to succeed.