This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/20023] [4.0 Regression] internal compiler error: Segmentation fault
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Feb 2005 14:34:34 -0000
- Subject: [Bug c++/20023] [4.0 Regression] internal compiler error: Segmentation fault
- References: <20050217085409.20023.caolanm@redhat.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From jakub at gcc dot gnu dot org 2005-02-17 14:34 -------
Yeah, it is caused by that part of my patch.
The result of convert_to_integer is in one case
<nop_expr (size_t) <convert_expr (unsigned int) <param_decl (pointer) >>>
and without that part of the patch:
<nop_expr (size_t) <convert_expr (int) <param_decl (pointer) >>>
But fold folds the former into <nop_expr (size_t) <param_decl (pointer) >>
while in the latter case fold does nothing with it.
And expand_case is not prepared to deal with POINTER_TYPE's in SWITCH_COND.
Anyway, as already the other part of the PR middle-end/19857 fix is sufficient
to fix the bug, I'm leaning towards reverting the convert.c (convert_to_integer)
part of the patch and give it a shot after 4.0 branches.
--
What |Removed |Added
----------------------------------------------------------------------------
Component|middle-end |c++
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20023