From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Suspicious warning in W64 build Date: Fri, 15 Sep 2017 11:54:42 +0300 Message-ID: <83efr8mje5.fsf@gnu.org> References: <1017454172.910810.1504618695244@mail.libero.it> <83tw0ezgi1.fsf@gnu.org> <1146932094.13821.1504798935795@mail.libero.it> <83mv66z66p.fsf@gnu.org> <102a4c21-c275-c73e-ec53-0d85975dc968@cs.ucla.edu> <83a825znuf.fsf@gnu.org> <831snhzkgw.fsf@gnu.org> <837ex9x7vf.fsf@gnu.org> <83tw0cwcle.fsf@gnu.org> <83h8wcw3td.fsf@gnu.org> <83377vx3d0.fsf@gnu.org> <83ingnq01t.fsf@gnu.org> <83fubrpxsv.fsf@gnu.org> <83r2v9masw.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1505465960 15378 195.159.176.226 (15 Sep 2017 08:59:20 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 15 Sep 2017 08:59:20 +0000 (UTC) Cc: fabrice.popineau@centralesupelec.fr, emacs-devel@gnu.org To: Richard Copley Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Sep 15 10:59:12 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsmSu-0003lw-6w for ged-emacs-devel@m.gmane.org; Fri, 15 Sep 2017 10:59:12 +0200 Original-Received: from localhost ([::1]:52033 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsmT1-0008LH-9f for ged-emacs-devel@m.gmane.org; Fri, 15 Sep 2017 04:59:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43604) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsmOX-0005Dq-Hn for emacs-devel@gnu.org; Fri, 15 Sep 2017 04:54:42 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dsmOU-0005jz-FM for emacs-devel@gnu.org; Fri, 15 Sep 2017 04:54:41 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43727) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsmOU-0005jv-Bp; Fri, 15 Sep 2017 04:54:38 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2762 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dsmOT-0001wn-KG; Fri, 15 Sep 2017 04:54:38 -0400 In-reply-to: (message from Richard Copley on Thu, 14 Sep 2017 20:34:42 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:218314 Archived-At: > From: Richard Copley > Date: Thu, 14 Sep 2017 20:34:42 +0100 > Cc: Fabrice Popineau , > Emacs Development > > Not much. Here's another transcript. It's a lot better. Thanks, please try the latest master. I hope I fixed most of the warnings in Windows specific code there. I must say that GCC 7 static code analysis is really imperfect, not good enough for producing useful warnings from its results, because some of the warnings are outright wrong. For example this one: w32term.c: In function 'w32_read_socket': w32term.c:4979:10: warning: 'button' is used uninitialized in this function [-Wuninitialized] int button; ^~~~~~ w32term.c:3099:16: warning: 'button' may be used uninitialized in this function [-Wmaybe-uninitialized] result->code = button; ~~~~~~~~~~~~~^~~~~~~~ w32term.c:3090:7: note: 'button' was declared here int button; ^~~~~~ w32term.c:3104:6: warning: 'up' may be used uninitialized in this function [-Wmaybe-uninitialized] | (up ~~~ ? up_modifier ~~~~~~~~~~~~~ : down_modifier)); ^~~~~~~~~~~~~~~~ w32term.c:3091:7: note: 'up' was declared here int up; ^~ w32term.c:5018:9: warning: 'up' may be used uninitialized in this function [-Wmaybe-uninitialized] if (up) ^ Evidently, GCC 7 doesn't see that the function parse_button initializes these 2 variables. About this warning: w32.c:7550:1: warning: no previous prototype for 'sys_strerror' [-Wmissing-prototypes] sys_strerror (int error_no) ^~~~~~~~~~~~ What MinGW64 header has the prototype of strerror? I thought it was string.h, like in mingw.org's headers, but evidently that's not true? If the prototype is in string.h, then why is this warning being displayed? A few warnings are not specific to Windows, I will describe them in a separate message. Thanks for the transcript, it was really useful.