ICE in subst_stack_regs_pat

Tom Womack tom@womack.net
Mon Mar 18 00:55:00 GMT 2002


The following program

#include <cstdlib>

double frand(double a, double b)
{
  double u = rand();
  u = (u/RAND_MAX) + rand();
}

gives an ICE in subst_stack_regs_pat (reg-stack.c:1441)

when compiled with -march=pentium4 and -O2 or above

on at least the 02/11, 02/18 and 03/04 snapshots.

Note that I didn't have to specify -mfpmath=sse to get the ICE, and
that -march=pentium3 works.

The error location is an abort() with the comment "uninitialized USE should
not happen"; yes, the function lacks a return(), but an ICE is something of
an over-reaction.

Tom




More information about the Gcc mailing list