------- Comment #2 from rguenth at gcc dot gnu dot org 2009-04-23 13:46 ------- We fold it to
return (int) MAX_EXPR <(unsigned int) exp, 2>; which is obviously bogus. 4.3 produced return NON_LVALUE_EXPR <MAX_EXPR <exp, 2>>; which is correct (well, but has likely mismatched types if the 2 is still unsigned). Confirmed. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu dot | |org Status|UNCONFIRMED |NEW Component|c |middle-end Ever Confirmed|0 |1 Keywords| |wrong-code Last reconfirmed|0000-00-00 00:00:00 |2009-04-23 13:46:39 date| | Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39867