This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/46076] [4.6 regression] constant propagation and compile-time math no longer happening versus 4.4 and 4.5
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 11 Jan 2011 14:32:54 +0000
- Subject: [Bug c/46076] [4.6 regression] constant propagation and compile-time math no longer happening versus 4.4 and 4.5
- Auto-submitted: auto-generated
- References: <bug-46076-4@http.gcc.gnu.org/bugzilla/>
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)?