X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f Date: Sun, 21 Dec 2003 19:41:12 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: Richard Dawe Message-Id: <2914-Sun21Dec2003194111+0200-eliz@elta.co.il> X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 1.8.9 CC: djgpp-workers AT delorie DOT com, Kbwms AT aol DOT com In-reply-to: <3FE5DB66.8000108@phekda.gotadsl.co.uk> (message from Richard Dawe on Sun, 21 Dec 2003 17:41:58 +0000) Subject: Re: isnanf et al References: <14f DOT 2822ab47 DOT 2d15f1a0 AT aol DOT com> <3FE5AF50 DOT 7020603 AT phekda DOT gotadsl DOT co DOT uk> <3405-Sun21Dec2003183453+0200-eliz AT elta DOT co DOT il> <3FE5DB66 DOT 8000108 AT phekda DOT gotadsl DOT co DOT uk> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Sun, 21 Dec 2003 17:41:58 +0000 > From: Richard Dawe > >> > >>That would break the build with gcc 3.3.x (and 3.2.x?). Those changes > >>were made, so that DJGPP 2.04 could be built with gcc 3.3.x (and 3.2.x?). > > > > > > Can you remind what kind of problems were those? I think we should > > look for a solution that fixes them without triggering this new > > problem. > > They were errors about type-punning breaking strict aliasing (search the > gcc info docs for -fstrict-aliasing and you should find a section about > it). Using a union is the only valid way of doing type-punning, but it > seems that using it was the wrong solution. By using the union I guess > you're telling the compiler "I know what I'm doing", like with typecasts. Sorry, I'm confused: where is that solution using unions? I'm looking at ieeefp.h, the header that caused trouble reported by K.B., and I still see monstrocities like this: #define isnanf(x) (((*(long *)&(x) & 0x7f800000L)==0x7f800000L) && \ ((*(long *)&(x) & 0x007fffffL)!=0000000000L)) What am I missing?