Signed-off-by: Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxxx> --- Hi Luc, This is marked RFC because it only improves the situation on 64-bit cygwin. Without access to a (up-to-date) 32-bit cygwin, I can't experiment to find a means to determine what platform I am on. I don't recall what the output of 'uname' is on 32-bit cygwin, but I have a hunch that you can't tell which is which from it's output. On 64-bit cygwin: $ uname -a CYGWIN_NT-10.0 satellite 3.0.7(0.338/5/3) 2019-04-30 18:08 x86_64 Cygwin $ uname -s CYGWIN_NT-10.0 $ uname -o Cygwin $ [ie. I don't think 'uname -o' returns Cygwin32 or similar. :( ] So, I don't know. ATB, Ramsay Jones cgcc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cgcc b/cgcc index 87f4fc3e..2223c97d 100755 --- a/cgcc +++ b/cgcc @@ -254,7 +254,8 @@ sub add_specs { } elsif ( $spec =~ /^cygwin/) { return &add_specs ('unix') . ' -fshort-wchar' . - ' -D__CYGWIN__=1 -D__CYGWIN32__=1' . + ' -D__CYGWIN__=1' . + ($m32 ? ' -D__CYGWIN32__=1' : '') . " -D'_cdecl=__attribute__((__cdecl__))'" . " -D'__cdecl=__attribute__((__cdecl__))'" . " -D'_stdcall=__attribute__((__stdcall__))'" . -- 2.24.0