Mail Archives: cygwin/2002/03/03/13:02:09
------=_NextPart_000_0005_01C1C29F.26858E00
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
> 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"
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
pws5AAAAAAAA
------=_NextPart_000_0005_01C1C29F.26858E00--
- Raw text -