Mercurial > projects > ldc
diff dmd/mars.h @ 1367:8026319762be
Merged DMD 1.045 !!!
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Sat, 16 May 2009 22:21:31 +0200 |
parents | 46f6365a50d7 |
children | 229e02867307 |
line wrap: on
line diff
--- a/dmd/mars.h Sat May 16 18:37:16 2009 +0200 +++ b/dmd/mars.h Sat May 16 22:21:31 2009 +0200 @@ -36,6 +36,8 @@ _WIN64 Windows for AMD64 linux Linux __APPLE__ Mac OSX + __FreeBSD__ FreeBSD + __sun&&__SVR4 Solaris, OpenSolaris (yes, both macros are necessary) For the target systems, there are the target operating system and the target object file format: @@ -44,13 +46,15 @@ TARGET_WINDOS Covers 32 bit windows and 64 bit windows TARGET_LINUX Covers 32 and 64 bit linux TARGET_OSX Covers 32 and 64 bit Mac OSX + TARGET_FREEBSD Covers 32 and 64 bit FreeBSD + TARGET_SOLARIS Covers 32 and 64 bit Solaris It is expected that the compiler for each platform will be able to generate 32 and 64 bit code from the same compiler binary. Target object module format: OMFOBJ Intel Object Module Format, used on Windows - ELFOBJ Elf Object Module Format, used on linux + ELFOBJ Elf Object Module Format, used on linux, FreeBSD and Solaris MACHOBJ Mach-O Object Module Format, used on Mac OSX There are currently no macros for byte endianness order. @@ -81,7 +85,8 @@ #define STRUCTTHISREF DMDV2 // if 'this' for struct is a reference, not a pointer #define SNAN_DEFAULT_INIT DMDV2 // if floats are default initialized to signalling NaN -/* Other targets are TARGET_LINUX and TARGET_OSX, which are +/* Other targets are TARGET_LINUX, TARGET_OSX, TARGET_FREEBSD and + * TARGET_SOLARIS, which are * set on the command line via the compiler makefile. */ @@ -90,7 +95,7 @@ #define OMFOBJ 1 #endif -#if TARGET_LINUX +#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS #ifndef ELFOBJ #define ELFOBJ 1 #endif