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++/20023] [4.0 Regression] internal compiler error: Segmentation fault


------- 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


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