g++ defines for win32

Gerrit P. Haase gerrit@familiehaase.de
Sun Aug 14 00:51:00 GMT 2005


Angel Tsankov wrote:

> I downloaded g++ from cygwin and installed it. I noticed that it has 
> built-in definitions of __stdcall, __cdecl and __fastcall. I've come 
> across other g++ builds for Windows that do not have definitions for 
> these identifiers, so I had to filter them out from my source code with 
> the help of macros. Now I need to know how to distinguish this build of 
> g++ from others in order to not filter the above identifiers out.
> Here's what I have now:
> 
> #if !(defined (_MSC_VER) || (defined (__GNUC__) && defined (__WIN32__)))
> #define __cdecl
> #define __stdcall
> #define __fastcall
> #endif

gcc -dumpspecs:


*cpp:
%(cpp_cpu) %{posix:-D_POSIX_SOURCE}   %{mno-win32:%{mno-cygwin: 
%emno-cygwin and mno-win32 are not compatible}} 
%{mno-cygwin:-D__MSVCRT__ -D__MINGW32__ %{!ansi:%{mthreads:-D_MT}}} 
%{!mno-cygwin:-D__CYGWIN32__ -D__CYGWIN__ %{!ansi:-Dunix} -D__unix__ 
-D__unix }  %{mwin32|mno-cygwin:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ 
%{!ansi:-DWINNT}}  %{!nostdinc:%{!mno-win32|mno-cygwin:-idirafter 
../include/w32api%s -idirafter ../../include/w32api%s}}


For Cygwin (= -mno-win32 = default):
__CYGWIN32__
__CYGWIN__
__unix
__unix__
unix

For MinGW (= -mno-cygwin):
__MINGW32__
__MSVCRT__
WIN32
_WIN32
__WIN32
__WIN32__

For Cygwin (+ -mwin32):
__CYGWIN32__
__CYGWIN__
WIN32
_WIN32
__WIN32
__WIN32__



Gerrit
-- 
=^..^=

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list