From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16072 invoked by alias); 3 Mar 2002 18:01:08 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Received: (qmail 15950 invoked from network); 3 Mar 2002 18:01:05 -0000 Received: from unknown (HELO mail1.svr.pol.co.uk) (195.92.193.18) by sources.redhat.com with SMTP; 3 Mar 2002 18:01:05 -0000 Received: from [195.92.198.123] (helo=mail17.svr.pol.co.uk) by mail1.svr.pol.co.uk with esmtp (Exim 3.35 #1) id 16haIC-0001jD-00 for cygwin@cygwin.com; Sun, 03 Mar 2002 18:01:04 +0000 Received: from modem-221.ecthelion.dialup.pol.co.uk ([62.136.168.221] helo=9.140.161.66) by mail17.svr.pol.co.uk with smtp (Exim 3.35 #1) id 16haI8-0007WZ-00 for cygwin@cygwin.com; Sun, 03 Mar 2002 18:01:03 +0000 Received: FROM ukf.net BY 9.140.161.66 ; Sun, 3 Mar 2002 17:59:50 +00:00 Message-ID: <002001c1c2dd$363aaae0$dda8883e@wdg.uk.ibm.com> From: "Max Bowsher" To: References: Subject: w32api bugfix (was: Currently, CVS setup.exe does not compile, due to warnings with 'warnings as errors' in effect. How best to change code to avoid warnings?) Date: Sun, 03 Mar 2002 10:01:00 -0000 MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_0005_01C1C29F.26858E00" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-SW-Source: 2002-03/txt/msg00133.txt.bz2 ------=_NextPart_000_0005_01C1C29F.26858E00 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-length: 1342 > Hmm, does C++ support the same feature? If not then an ifdef __cplusplus > might do it. > Rob Unfortunately not - the problem is the differing interpretation of the line 'typedef int (WINAPI *FARPROC)();' in 3 sets of circumstances: 1) C++ 'int proc();' and 'int proc(void);' are synonyms. No problem. 2) C, -Wstrict-prototypes NOT in effect 'int proc();' means: use no compiler type checking for the parameters if proc 'int proc(void);' means: proc takes no parameters 3) C, -Wstrict-prototypes in effect 'int proc();' means: ditto AND causes a warning (which, since setup is compiled with 'warnings as errors' on, stops the build) 'int proc(void);' means: ditto Summary: The construct 'typedef int (WINAPI *FARPROC)();' in w32api causes an error with -Wstrict-prototypes -Werror. This can be worked around by adding 'void' in the empty brackets. Downside: This breaks C code where people were using the w32api types FARPROC, NEARPROC, PROC, to call procedures without typechecking the arguments. I think this is totally irrelevant, as deliberately bypassing the compiler type checking is very silly, and I doubt anyone does that anymore. Anyway, before I go submitting a patch which breaks backward compatibility, even in such a rare and unused case, I want to raise this issue here. Max. ------=_NextPart_000_0005_01C1C29F.26858E00 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-length: 3644 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 ------=_NextPart_000_0005_01C1C29F.26858E00--