> From: Pete French <[EMAIL PROTECTED]>
>
> Hi, I have a very simple program:
>
>
>       int
>       main(int argc, char *argv[])
>       {
>               if(atof("3.2") == atof("3.200"))
>                       puts("They are equal");
>               else
>                       puts("They are NOT equal!");
>               return 0;
>       }
>
>
> This works as expected on both i386 and amd64. But if I take the compiled
> binary from the i386 system and run it on the amd64 system thenit says they
> are not equal! I thought this was a library problem, but it even happens if
> I compile to a static binary, which would preseumably mean the same code is
> running on both systems.
>
> I am using 6.3-PRERELEASE here

Unfortunately, I didn't have the luck of having it reproduced here.
Maybe because my i386 is on 7.0, different compiler (although the amd64 is
still on RELENG_6).

Since you've rulled out everything else by building a static binary,
did you try using the new C99 functions in fenv.h related to the
floating-point environment?

Miguel Ramos
Lisboa, Portugal
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to