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

Reply via email to