When compiling a C++ file, gcc 4.0.0 and 4.0.1 20050507 prerelease report an
internal compiler error:
> /gcc-test/bin/g++ ice.cpp -O2
ice.cpp: In constructor 'SomeException::SomeException(const char*, ...)':
ice.cpp:21: internal compiler error: in calc_dfs_tree, at dominance.c:376
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.
> /gcc-test/bin/g++ -v
Using built-in specs.
Target: powerpc-linux
Configured with: ../gcc-4.0-20050507/configure --enable-languages=c,c++ --
prefix=/gcc-test --with-gnu-as --with-gnu-ld --with-system-zlib --without-
included-gettext --enable-threads=posix --enable-haifa --enable-sjlj-exceptions
powerpc-linux
Thread model: posix
gcc version 4.0.1 20050507 (prerelease)
When not using -O2 or when using -O2 -msoft-float, the ICE isn't reported. This
points to
/* Save FP registers if needed. */
if (DEFAULT_ABI == ABI_V4
&& TARGET_HARD_FLOAT && TARGET_FPRS
&& ! no_rtl
&& next_cum.fregno <= FP_ARG_V4_MAX_REG)
branch in gcc/config/rs6000/rs6000.c whose contents causes the problem
(directly
or indirectly).
I have managed to create a minimal testcase for the problem and will attach it
to this report.
--
Summary: Internal compiler error in calc_dfs_tree on valid code
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc-bugzilla at antony dot heightanxiety dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: powerpc-unknown-linux
GCC host triplet: powerpc-unknown-linux
GCC target triplet: powerpc-unknown-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21460