From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21433 invoked by alias); 29 May 2007 08:51:04 -0000 Received: (qmail 21328 invoked by uid 48); 29 May 2007 08:50:29 -0000 Date: Tue, 29 May 2007 08:51:00 -0000 Message-ID: <20070529085029.21326.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/32132] bogus warning at -O3 ( 'r' may be used uninitialized in this function ). In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pluto at agmk dot net" 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: 2007-05/txt/msg02588.txt.bz2 ------- Comment #6 from pluto at agmk dot net 2007-05-29 08:50 ------- (In reply to comment #5) > Which shows for sure r may be used unitialized. yes, but even if i catch possible i/o failure, gcc still produces warning. --- auHexCastTest.ii.orig +++ auHexCastTest.ii @@ -18958,7 +18958,12 @@ R r; stlp_std::istringstream str ( s ); - str >> stlp_std::hex >> r; + str.exceptions ( stlp_std::istringstream::eofbit || stlp_std::istringstream::badbit || stlp_std::istringstream::failbit ); + try { + str >> stlp_std::hex >> r; + } catch ( stlp_std::istringstream::failure ) { + throw; + } return r; } so, is it still an invalid testcase? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32132