------- Comment #2 from dvt at isoft dot fr  2007-11-29 17:09 -------
(In reply to comment #1)
> You are violating C aliasing rules.  Use memcpy (as you did) or a union to
> guard
> the type punning.
> *** This bug has been marked as a duplicate of 21920 ***

Are-you sure? Were is the rule that forbids to do this?

And even if this is the case, this is for us a crucial matter of optimization:
other compilers allow that, and optimize this cast. If gcc cannot do that
(which also means that you (double*)(void*)(&d) should not work too), it should
at least provide a way to do such an operation more efficiently that doing a
memcpy!

An how do-you explain that without optimization it works, then?

For us, it is a big problem, and this means that we cannot really rely on gcc!


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34295

Reply via email to