delorie.com/archives/browse.cgi | search |
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" <eliz AT elta DOT co DOT il> |
Sender: | halo1 AT zahav DOT net DOT il |
To: | Richard Dawe <rich AT phekda DOT gotadsl DOT co DOT uk> |
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 |
> Date: Sun, 21 Dec 2003 17:41:58 +0000 > From: Richard Dawe <rich AT phekda DOT gotadsl DOT co DOT uk> > >> > >>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?
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |