We have a problem that gcc 4.1-20060203 emits an internal compiler error while compiling a certain code construct.
The following reduced test case code reproduces the bug: ------------------------------------------------------------------ #include <boost/multi_array.hpp> using namespace std; class Blubb { public: typedef boost::multi_array<pair<float,uint>, 3> ourArray; void blah(); }; void Blubb::blah () { new ourArray(boost::extents[1][1][1]); } ------------------------------------------------------------------ While compiling with gcc-4.1, it says: testcase> g++ -O3 test.cpp test.cpp: In member function 'void Blubb::blah()': test.cpp:17: internal compiler error: in dominated_by_p, at dominance.c:827 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. testcase> It compiles fine with -O2. The stock RHEL4 compilers (4.0.1 20050727 and 3.4.4 20050721) also do well with -O3. I didn't provide the boost include file (boost version 1.33.1, stock RHEL4 1.32.0 doesn't make any difference), and test.ii as it is 1.3 MB large. Just yell and I'll do! gcc -v says: Configured with: ../gcc-4.1-20060203/configure --prefix=/local/inst --enable-languages=c,c++,fortran --disable-multilib Thread model: posix gcc version 4.1.0 20060203 (prerelease) -- Summary: Specific code causes g++ 4.1.0 dominance ICE when compiled with -O3 Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: walter dot zimmer at dlr dot de GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26209