[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



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/



Reply to: