------- Additional Comments From jakub at gcc dot gnu dot org 2005-01-06 15:52 ------- Yeah, this is fold_widened_comparison "optimizing": (short intD.7) (short unsigned intD.8) (intD.0) (short unsigned intD.8) uD.1124 < 0 into 1 (for unsigned int uD.1124). get_unwidened returns (unsigned short) uD.1124 (note different sign; and that seems to be what get_unwidened documents: If we have not stripped any zero-extensions (uns is 0), we can strip any kind of extension.). But I guess fold_widened_comparison relies on shorter_type really being a shorter type. Will look into this further.
-- What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2005-01-06 00:27:06 |2005-01-06 15:52:31 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19283