Mail Archives: djgpp-workers/2003/12/21/12:46:20
--part1_39.421eff94.2d173662_boundary
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
In a message dated 12/21/2003 12:30:14 PM Eastern Standard Time,
rich AT phekda DOT gotadsl DOT co DOT uk writes:
> 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.
>
As was pointed out in a previous email, the macros should have never been
used. The names of the macros conflict with function names in libm. The punning
continues because it is executed in the macros no matter what is done by
using unions.
--part1_39.421eff94.2d173662_boundary
Content-Type: text/html; charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable
<HTML><FONT FACE=3Darial,helvetica><HTML><FONT SIZE=3D3 PTSIZE=3D12 FAMILY=
=3D"SERIF" FACE=3D"Georgia" LANG=3D"0">In a message dated 12/21/2003 12:30:1=
4 PM Eastern Standard Time, rich AT phekda DOT gotadsl DOT co DOT uk writes:<BR>
<BR>
<BLOCKQUOTE TYPE=3DCITE style=3D"BORDER-LEFT: #0000ff 2px solid; MARGIN-LEFT=
: 5px; MARGIN-RIGHT: 0px; PADDING-LEFT: 5px"></FONT><FONT COLOR=3D"#000000"=
BACK=3D"#ffffff" style=3D"BACKGROUND-COLOR: #ffffff" SIZE=3D2 PTSIZE=3D10 F=
AMILY=3D"SANSSERIF" FACE=3D"Arial" LANG=3D"0">They were errors about type-pu=
nning breaking strict aliasing (search the <BR>
gcc info docs for -fstrict-aliasing and you should find a section about <BR>
it). Using a union is the only valid way of doing type-punning, but it <BR>
seems that using it was the wrong solution. By using the union I guess <BR>
you're telling the compiler "I know what I'm doing", like with typecasts.<BR=
>
</BLOCKQUOTE><BR>
</FONT><FONT COLOR=3D"#000000" BACK=3D"#ffffff" style=3D"BACKGROUND-COLOR:=20=
#ffffff" SIZE=3D3 PTSIZE=3D12 FAMILY=3D"SERIF" FACE=3D"Georgia" LANG=3D"0"><=
BR>
As was pointed out in a previous email, the macros should have never been us=
ed. The names of the macros conflict with function names in libm. =
; The punning continues because it is executed in the macros no matter what=20=
is done by using unions.<BR>
</FONT></HTML>
--part1_39.421eff94.2d173662_boundary--
- Raw text -