From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7061 invoked by alias); 27 Jul 2010 12:58:21 -0000 Received: (qmail 6841 invoked by uid 48); 27 Jul 2010 12:58:01 -0000 Date: Tue, 27 Jul 2010 12:58:00 -0000 Message-ID: <20100727125801.6840.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/45085] incorrect -Wuninitialized warning In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jakub 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: 2010-07/txt/msg02967.txt.bz2 ------- Comment #3 from jakub at gcc dot gnu dot org 2010-07-27 12:58 ------- Seems to be caused by partial inlining. fnsplit splits off the: q.0D.2030_3 = qD.1248; fn7 (q.0D.2030_3); part of fn9 into fn9.part.0: fn9.part.0 () { intD.0 D.2054; voidD.32 * q.0D.2053; struct T tD.2052; struct T xD.2050; intD.0 yD.2051; : : q.0D.2053_1 = qD.1248; fn7 (q.0D.2053_1); : = tD.2052; return ; } and uses: tD.1261 = fn9.part.0 (); [return slot optimization] in fn9 instead. tD.2052 isn't initialized anywhere though (and, it is unclear why it did that at all, as that hunk doesn't modify t). Perhaps with -m32 and aggregate return (where in the end t will be returned via hidden reference) t is addressable? In any case, this is fnsplit bug. -- jakub at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45085