Re: GCC 4 and strict aliasing
Re: GCC 4 and strict aliasing
- Subject: Re: GCC 4 and strict aliasing
- From: Eric Albert <email@hidden>
- Date: Fri, 17 Mar 2006 09:09:24 -0800
On Mar 17, 2006, at 1:19 AM, Frederik Slijkerman (FabFilter) wrote:
I'm compiling an Audio Unit that uses the CoreAudio SDK which I don't
want to change, and there is a strict aliasing issue in
AUElement::RestoreState() that means that the audio unit cannot
properly restore its state. Here are the offending lines:
UInt32 temp = EndianU32_BtoN(*(UInt32 *)p);
entry.value = *(Float32 *)&temp;
p += sizeof(Float32);
The *(Float32 *)&temp expression is compiled incorrectly on the
PowerPC architecture which gives entry.value a random value.
Interestingly enough, on Intel the correct code is produced.
Please file a bug report. As you've noticed, that's not the best way
to swap a float.
Thanks,
Eric
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden