Question on strict aliasing in C.
Andrew Haley
aph@redhat.com
Wed Jul 6 14:42:00 GMT 2011
On 05/07/11 23:56, kevin diggs wrote:
> Hi,
>
> On Mon, Jul 4, 2011 at 12:07 PM, Andrew Haley <aph@redhat.com> wrote:
>>
>> It's not. Tey're wrong, you're right.
>>
>> Hope this helps. :-)
>>
>> Andrew.
>>
>
> What about this:
>
> #include <math.h>
>
> #define MASK ((unsigned short) 0x8000)
>
> double copysign (double x, double y)
> {
> unsigned short * const py = (unsigned short*)(char*)&y + 3;
>
> return fabs(x)*(*py&MASK?-1.0:1.0);
> }
What are you asking? It's still not legal, if that was the question.
Using just a char* would be OK, though.
Andrew.
More information about the Gcc-help
mailing list