This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/21840] [4.1 Regression] Linux 2.6.11.1.11: drivers/char/keyboard.c:619: internal compiler error: Segmentation fault
- From: "dberlin at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 May 2005 15:29:00 -0000
- Subject: [Bug middle-end/21840] [4.1 Regression] Linux 2.6.11.1.11: drivers/char/keyboard.c:619: internal compiler error: Segmentation fault
- References: <20050531135612.21840.mclinden@informed.net>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dberlin at gcc dot gnu dot org 2005-05-31 15:28 -------
Not really an FRE bug.
FRE eliminates the load, and everything we have tells it it can (it asks
may_propagate_copy, etc).
However, eliminating the load replaces a void (*foo) type with a void * type (IE
poitner to function replaced with pointer to void).
Once FRE has eliminated the load, something later copy-props the void * func_4
into the call and then it gets transforms it into a void.
So we end up with a call of a void expression, which makes things angry.
I can't fix this in FRE, it's not doing anything wrong, it's just removing a
load, validly :)
Whatever is copy-prop'ing into the call and transforming it into a call of a
void is wrong, and that's not FRE.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |dnovillo at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21840