This is the mail archive of the gcc-bugs@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]

[Bug c/46076] [4.6 regression] constant propagation and compile-time math no longer happening versus 4.4 and 4.5


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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rth at gcc dot gnu.org

--- Comment #16 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-01-11 14:32:23 UTC ---
I don't think we should add hacks like that.  Either the type signatures
are compatible for the middle-end (and exchanging one for the other does not
affect generated code for any target) or not.  I can't answer this question.
If they are indeed compatible then fixing the bug is easy.

Thus, can I call

 void foo();

via

 *(void (*)(void))&foo

and can I call

 void foo (void);

via

 *(void (*)())&foo

on all targets without unexpected effects (assuming foo does not use
any arguments)?


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