[parisc-linux] hppa-linux gcc-3.0.3: -O2 optimization does not handle fp args correctly

Randolph Chung Randolph Chung <randolph@tausq.org>
Mon, 4 Feb 2002 08:38:42 -0800


I was going to file this bug against gcc, but it looks like it's
just another instance of the fp relocation bug that has been
reported earlier..... Dave, Alan, any suggestions on how we should fix
this? 

The following program gives inconsistent output with -O1 vs -O2:

legolas[22:24] ~% gcc -O1 -o logtest logtest.c -lm
legolas[22:24] ~% ./logtest
float: nan
legolas[22:24] ~% gcc -O2 -o logtest logtest.c -lm
legolas[22:24] ~% ./logtest
float: -1.002099

The bug was first observed in the testsuite for 'mawk'. A simpler
testcase that illustrates the problem is:

#include <stdio.h>
#include <math.h>

void print_data(double d)
{
	fprintf(stderr, "float: %f\n", d);
}

int main(int argc, char **argv)
{
	double d = log(-8.0);
	print_data(d);
	return 0;
}

randolph
-- 
Debian Developer <tausq@debian.org>
http://www.TauSq.org/