From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17560 invoked by alias); 27 Dec 2005 15:00:13 -0000 Received: (qmail 17522 invoked by alias); 27 Dec 2005 15:00:12 -0000 Date: Tue, 27 Dec 2005 15:00:00 -0000 Message-ID: <20051227150012.17521.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/25125] [4.1 Regression] (short) ((int)(unsigned short) + (int)) is done in the wrong type In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dave at hiauly1 dot hia dot nrc dot ca" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2005-12/txt/msg02643.txt.bz2 List-Id: ------- Comment #17 from dave at hiauly1 dot hia dot nrc dot ca 2005-12-27 15:00 ------- Subject: Re: [4.1 Regression] (short) ((int)(unsigned short) + (int)) is done in the wrong type > Re. comments #14 and #15 -- Dave you really should also say what compiler you > used, or people will just have to make a guess. They'd probably conclude you > are testing GCC 3.3 in this case ;-) The test was only added to 4.2.0 (Kazu's previous comment), so I thought the compiler under test would be obvious. Some day I'll have to update the directory names. I just got used to typing "gcc-3.3" ;-) > Anyway, if the initial RTL is wrong, we either feed wrong code to expand out of > the tree optimizers, or there is a bug in expand itself. Could you check > whether the .vars tree dump is still alright? You can generate it with > -fdump-tree-vars. Here is the .vars tree dump for function f: ;; Function f (f) f (a) { int D.1496; : if (a > 0) goto ; else goto ; :; D.1496 = 32768; goto (); :; D.1496 = 0; :; return D.1496; } Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25125