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 <URL: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

Reply via email to