Re: [NOVICE] Postgres storing time in strange manner

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Sean Chittenden <sean(at)chittenden(dot)org>
Cc: Ron Johnson <ron(dot)l(dot)johnson(at)cox(dot)net>, pgsql-bugs(at)postgreSQL(dot)org
Subject: Re: [NOVICE] Postgres storing time in strange manner
Date: 2002-09-18 14:26:41
Message-ID: 17450.1032359201@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-novice

Sean Chittenden <sean(at)chittenden(dot)org> writes:
> Is there a place where -fno-fast-math
> could be used as a CC option if the CC is gcc?

configure is what I had in mind ;-). I can't think of any part of the
code where we'd really want this sort of optimization enabled.

> After looking through gcc, using -O and -ffast-math will create broken
> code, but -O2 -ffast-math _should_ be okay.

At least in the gcc shipped with Red Hat 7.2, it doesn't seem to matter:
you get the wrong answer regardless of -O level. Here's the test case
I used:

[tgl(at)rh1 tgl]$ cat bug.c
#include <stdio.h>

double d18000 = 18000.0;

main() {
int d = d18000 / 3600;
printf("18000.0 / 3600 = %d\n", d);
return 0;
}
[tgl(at)rh1 tgl]$ gcc bug.c
[tgl(at)rh1 tgl]$ ./a.out
18000.0 / 3600 = 5 -- right
[tgl(at)rh1 tgl]$ gcc -O2 -ffast-math bug.c
[tgl(at)rh1 tgl]$ ./a.out
18000.0 / 3600 = 4 -- wrong
-- I get 4 if -ffast-math, -O doesn't affect it
[tgl(at)rh1 tgl]$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Sean Chittenden 2002-09-18 18:17:00 SET autocommit begins transaction?
Previous Message Sean Chittenden 2002-09-18 08:07:30 Re: [NOVICE] Postgres storing time in strange manner

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2002-09-18 14:47:27 Re: [GENERAL] Still big problems with pg_dump!
Previous Message Wim 2002-09-18 08:36:53 Re: [GENERAL] Still big problems with pg_dump!