From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fernando Nasser To: Michael Meissner Cc: Eli Zaretskii , jimb@cygnus.com, gdb-patches@sources.redhat.com, msnyder@cygnus.com Subject: Re: RFA: don't try to compare IEEE NaN's Date: Wed, 06 Jun 2001 13:45:00 -0000 Message-id: <3B1E95BA.9A4FE2D6@redhat.com> References: <20010606034145.7D5065E9CB@zwingli.cygnus.com> <200106060615.JAA14470@is.elta.co.il> <20010606161750.C11452@cse.cygnus.com> X-SW-Source: 2001-06/msg00094.html Michael Meissner wrote: > > On Wed, Jun 06, 2001 at 09:15:58AM +0300, Eli Zaretskii wrote: > > > From: Jim Blandy > > > Date: Tue, 5 Jun 2001 22:41:45 -0500 (EST) > > > > > > ! testval.float_testval = 2.7182818284590452354;/* long_long_checkpoint */ > > > ! float_resultval = float_func (); > > > ! testval.double_testval = 3.14159265358979323846; /* float_checkpoint */ > > > ! double_resultval = double_func (); > > > > I think it is better to initialize the integral members of the union > > with an explicit bit pattern, just not a pattern which gets > > interpreted as a NaN of an Inf. With initialization such as above, > > you risk losing due to subtleties of compile-time conversion of a > > literal constant to a floating-point value. This is a GDB test suite, > > so we are not interested in testing the compiler. > > Which means the test suite will break if you ever run it on a machine that > doesn't have IEEE floating point, such as the VAX if anybody still builds gdb > for that machine. There are also mixed endian machines, where the bytes are > ordered one way, but the order of the words is different. In supporting > embedded processors, we occasionally run into machines with weird floating > point formats, or that use IEEE formats, but don't support infinities, > denormals, or nans. Also, there are a number of embedded targets that only > have single precision hardware floating point, and want sizeof(float) == > sizeof(double). > This is the point in favor of Jim's patch. It is more portable. The compiler will convert the literal to whatever format is used in that system. I think Michael Meissner just gave a definitive reason for Jim's patch to go in as is. -- Fernando Nasser Red Hat Canada Ltd. E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9