fpc/compiler/fpcdefs.inc
Jonas Maebe f36e5411af * split cpu64bit compiler define into
a) cpu64bitaddr, which means that we are generating a compiler which
       will generate code for targets with a 64 bit address space/abi
    b) cpu64bitalu, which means that we are generating a compiler which
       will generate code for a cpu with support for 64 bit integer
       operations (possibly running in a 32 bit address space, depending
       on the cpu64bitaddr define)
   All cpus which had cpu64bit set now have both the above defines set,
   and none of the 32 bit cpus have cpu64bitalu set (and none will
   compile with it currently)
  + pint and puint types, similar to aint/aword (not pword because that
    that conflicts with pword=^word)
  * several changes from aint/aword to pint/pword
  * some changes of tcgsize2size[OS_INT] to sizeof(pint)

git-svn-id: trunk@10320 -
2008-02-13 20:44:00 +00:00

127 lines
2.3 KiB
PHP

{$mode objfpc}
{$asmmode default}
{$H-}
{$goto on}
{$inline on}
{$ifdef win32}
{ 256 MB stack }
{ under windows the stack can't grow }
{$MEMORY 256000000}
{$else win32}
{$ifdef win64}
{ 512 MB stack }
{ under windows the stack can't grow }
{$MEMORY 512000000}
{$else win64}
{ 1 MB stack }
{$MEMORY 1000000}
{$endif win64}
{$endif win32}
{ This reduces the memory requirements a lot }
{$PACKENUM 1}
{$ifdef FPC_HAS_VARSETS}
{$ifndef FPC_BIG_ENDIAN}
{ $define USE_PACKSET1}
{$endif}
{$endif FPC_HAS_VARSETS}
{$ifdef USE_PACKSET1}
{$PACKSET 1}
{$endif USE_PACKSET1}
{ We don't use exceptions, so turn off the implicit
exceptions in the constructors }
{$IMPLICITEXCEPTIONS OFF}
{ Inline small functions, but not when EXTDEBUG is used }
{$ifndef EXTDEBUG}
{$define USEINLINE}
{$endif EXTDEBUG}
{$define USEEXCEPT}
{$ifdef cpuarm}
{$packrecords c}
{$endif cpuarm}
{$ifdef i386}
{$define cpu32bit}
{$define x86}
{$define cpuflags}
{$define cpuextended}
{$define USECMOV}
{$define SUPPORT_MMX}
{$define cpumm}
{$define fewintregisters}
{$endif i386}
{$ifdef x86_64}
{$define x86}
{$define cpuflags}
{$define cpu64bitalu}
{$define cpu64bitaddr}
{$define cpuextended}
{$define cpufloat128}
{$define cputargethasfixedstack}
{$define USECMOV}
{$define cpumm}
{$endif x86_64}
{$ifdef alpha}
{$define cpu64bitalu}
{$define cpu64bitaddr}
{$endif alpha}
{$ifdef sparc}
{$define cpu32bit}
{$define cpuflags}
{$define cputargethasfixedstack}
{$endif sparc}
{$ifdef powerpc}
{$define cpu32bit}
{$define cpuflags}
{$define cputargethasfixedstack}
{$define cpumm}
{$endif powerpc}
{$ifdef powerpc64}
{$define cpu64bitalu}
{$define cpu64bitaddr}
{$define cpuflags}
{$define cputargethasfixedstack}
{$define cpumm}
{$endif powerpc64}
{$ifdef arm}
{$define cpu32bit}
{$define cpuflags}
{$define cpufpemu}
{$define cpuneedsdiv32helper}
{$define cputargethasfixedstack}
{$endif arm}
{$ifdef m68k}
{$define cpu32bit}
{$define cpuflags}
{$define cpufpemu}
{$endif m68k}
{$ifdef avr}
{$define cpu16bit}
{$define cpuflags}
{$define cpunofpu}
{$endif avr}
{$IFDEF MACOS}
{$DEFINE USE_FAKE_SYSUTILS}
{$ENDIF MACOS}
{$define SUPPORT_UNALIGNED}
{$if not defined(cpui386) and defined(i386)}
{$error Cross-compiling from non-i386 to i386 is not yet supported at this time }
{$endif}