From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 301 invoked by alias); 23 Apr 2009 13:46:57 -0000 Received: (qmail 32703 invoked by uid 48); 23 Apr 2009 13:46:40 -0000 Date: Thu, 23 Apr 2009 13:46:00 -0000 Message-ID: <20090423134640.32702.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/39867] [4.4 Regression] Wrong result of conditional operator exp < 2 ? 2U : (unsigned int) exp In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-04/txt/msg02139.txt.bz2 ------- 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 >; 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