This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question on strict aliasing in C.


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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]