From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by sourceware.org (Postfix) with ESMTPS id CE7EA3851C33 for ; Thu, 23 Jul 2020 11:46:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CE7EA3851C33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tdevries@suse.de X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id DD791AAC5; Thu, 23 Jul 2020 11:46:35 +0000 (UTC) Date: Thu, 23 Jul 2020 13:46:26 +0200 From: Tom de Vries To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [committed][gdb/tui] Fix Wmaybe-uninitialized warning in tui-winsource.c Message-ID: <20200723114624.GA26119@delia> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jul 2020 11:46:30 -0000 Hi, When compiling with CFLAGS/CXXFLAGS="-O0 -g -Wall" and using g++ 11.0.0, we run into: ... src/gdb/tui/tui-winsource.c: In function \ 'void tui_update_all_breakpoint_info(breakpoint*)': src/gdb/tui/tui-winsource.c:427:58: warning: '' may be used \ uninitialized [-Wmaybe-uninitialized] 427 | for (tui_source_window_base *win : tui_source_windows ()) | ^ In file included from src/gdb/tui/tui-winsource.c:38: src/gdb/tui/tui-winsource.h:236:30: note: by argument 1 of type \ 'const tui_source_windows*' to 'tui_source_window_iterator \ tui_source_windows::begin() const' declared here 236 | tui_source_window_iterator begin () const | ^~~~~ src/gdb/tui/tui-winsource.c:427:58: note: '' declared here 427 | for (tui_source_window_base *win : tui_source_windows ()) | ^ ... The warning doesn't make sense for an empty struct, PR gcc/96295 has been filed about that. For now, work around the warning by defining a default constructor. Build on x86_64-linux. Committed to trunk. Thanks, - Tom [gdb/tui] Fix Wmaybe-uninitialized warning in tui-winsource.c gdb/ChangeLog: 2020-07-23 Tom de Vries PR tui/26282 * tui/tui-winsource.h (struct tui_source_windows::tui_source_windows): New default constructor. --- gdb/tui/tui-winsource.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gdb/tui/tui-winsource.h b/gdb/tui/tui-winsource.h index fab1487f63..ba9c0fd505 100644 --- a/gdb/tui/tui-winsource.h +++ b/gdb/tui/tui-winsource.h @@ -233,6 +233,11 @@ struct tui_source_window_iterator struct tui_source_windows { + /* Work around Wmaybe-uninitalized warning with g++ 11.0.0, see also + PR gcc/96295. Note that "tui_source_windows () = default" doesn't work + around the warning. */ + tui_source_windows () {} + tui_source_window_iterator begin () const { return tui_source_window_iterator (tui_windows.begin (),