mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 08:19:36 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			200 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			200 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
{$ifdef FPC}
 | 
						|
  {$ifdef DELPHI}
 | 
						|
    {$mode delphi}
 | 
						|
    {$asmmode intel}
 | 
						|
  {$else}
 | 
						|
    {$mode objfpc}
 | 
						|
    {$H-}
 | 
						|
    {$goto on}
 | 
						|
    {$inline on}
 | 
						|
 | 
						|
    { This reduces the memory requirements a lot }
 | 
						|
    {$PACKENUM 1}
 | 
						|
 | 
						|
    {$ifndef VER1_0}
 | 
						|
      { We don't use exceptions, so turn off the implicit
 | 
						|
        exceptions in the constructors }
 | 
						|
      {$IMPLICITEXCEPTIONS OFF}
 | 
						|
      { Inline small functions }
 | 
						|
      {$define USEINLINE}
 | 
						|
    {$else}
 | 
						|
      { Optimizer is broken when compiling with optimizations using 1.0.x }
 | 
						|
      {$ifndef USEOPT}
 | 
						|
        {$define NOOPT}
 | 
						|
      {$endif}
 | 
						|
    {$endif VER1_0}
 | 
						|
 | 
						|
    {$define FPCPROCVAR}
 | 
						|
    {$ifdef I386}
 | 
						|
      {$define USEEXCEPT}
 | 
						|
    {$endif}
 | 
						|
  {$endif}
 | 
						|
{$endif}
 | 
						|
 | 
						|
{$ifdef DELPHI}
 | 
						|
  {$H-}
 | 
						|
  {$J+}
 | 
						|
 | 
						|
  {$Z1}
 | 
						|
 | 
						|
  {$undef FPCPROCVAR}
 | 
						|
{$endif}
 | 
						|
 | 
						|
 | 
						|
{ assume a processor with flags }
 | 
						|
{$define cpuflags}
 | 
						|
 | 
						|
{$ifdef i386}
 | 
						|
  {$ifdef delphi}
 | 
						|
    {$define oldset}
 | 
						|
  {$endif}
 | 
						|
  {$define x86}
 | 
						|
  {$define cpuextended}
 | 
						|
{$endif i386}
 | 
						|
 | 
						|
{$ifdef x86_64}
 | 
						|
  {$define x86}
 | 
						|
  {$define cpu64bit}
 | 
						|
  {$define cpuextended}
 | 
						|
  {$define cpufloat128}
 | 
						|
{$endif x86_64}
 | 
						|
 | 
						|
{$ifdef alpha}
 | 
						|
  {$define cpu64bit}
 | 
						|
  {$undef cpuflags}
 | 
						|
  {$define noopt}
 | 
						|
  {$define oldset}
 | 
						|
{$endif alpha}
 | 
						|
 | 
						|
{$ifdef sparc}
 | 
						|
  {$define noopt}
 | 
						|
  {$define oldset}
 | 
						|
{$endif sparc}
 | 
						|
 | 
						|
{$ifdef powerpc}
 | 
						|
  {$define noopt}
 | 
						|
  {$define oldset}
 | 
						|
{$endif powerpc}
 | 
						|
 | 
						|
{$ifdef arm}
 | 
						|
  {$define cpuneedsdiv32helper}
 | 
						|
  {$define noopt}
 | 
						|
  {$define oldset}
 | 
						|
{$endif arm}
 | 
						|
 | 
						|
{$ifdef m68k}
 | 
						|
  {$define cpufpemu}
 | 
						|
  {$define noopt}
 | 
						|
  {$define oldset}
 | 
						|
{$endif m68k}
 | 
						|
 | 
						|
{
 | 
						|
  $Log$
 | 
						|
  Revision 1.30  2003-12-14 22:41:46  peter
 | 
						|
    * USEOPT to override NOOPT for 1.0.x
 | 
						|
 | 
						|
  Revision 1.29  2003/12/14 20:20:14  peter
 | 
						|
    * disable optimizer again for 1.0.x
 | 
						|
 | 
						|
  Revision 1.28  2003/12/14 14:18:59  peter
 | 
						|
    * optimizer works again with 1.0.x
 | 
						|
    * fixed wrong loop in FindRegWithConst
 | 
						|
 | 
						|
  Revision 1.27  2003/11/22 13:11:10  jonas
 | 
						|
    - disable the optimizer if compiling with 1.0, because it has a code
 | 
						|
      generator (not optimizer) bug that causes crashes in the 1.1
 | 
						|
      optimizer
 | 
						|
 | 
						|
  Revision 1.26  2003/10/31 15:51:11  peter
 | 
						|
    * USEINLINE directive added (not enabled yet)
 | 
						|
 | 
						|
  Revision 1.25  2003/09/06 16:47:24  florian
 | 
						|
    + support of NaN and Inf in the compiler as values of real constants
 | 
						|
 | 
						|
  Revision 1.24  2003/09/03 15:55:00  peter
 | 
						|
    * NEWRA branch merged
 | 
						|
 | 
						|
  Revision 1.23  2003/09/03 11:18:36  florian
 | 
						|
    * fixed arm concatcopy
 | 
						|
    + arm support in the common compiler sources added
 | 
						|
    * moved some generic cg code around
 | 
						|
    + tfputype added
 | 
						|
    * ...
 | 
						|
 | 
						|
  Revision 1.22.2.2  2003/08/31 21:07:44  daniel
 | 
						|
    * callparatemp ripped
 | 
						|
 | 
						|
  Revision 1.22.2.1  2003/08/27 20:11:29  peter
 | 
						|
    * newra default
 | 
						|
 | 
						|
  Revision 1.22  2003/08/11 21:18:20  peter
 | 
						|
    * start of sparc support for newra
 | 
						|
 | 
						|
  Revision 1.21  2003/07/21 11:52:57  florian
 | 
						|
    * very basic stuff for the arm
 | 
						|
 | 
						|
  Revision 1.20  2003/05/24 21:12:57  florian
 | 
						|
    * if something doesn't work with callparatemp, the define callparatemp
 | 
						|
      should be used because other processors with reigster calling conventions
 | 
						|
      depend on this as well
 | 
						|
 | 
						|
  Revision 1.19  2003/05/09 17:47:02  peter
 | 
						|
    * self moved to hidden parameter
 | 
						|
    * removed hdisposen,hnewn,selfn
 | 
						|
 | 
						|
  Revision 1.18  2003/04/30 09:42:42  florian
 | 
						|
    + first changes to make self a hidden parameter
 | 
						|
 | 
						|
  Revision 1.17  2003/04/24 22:29:57  florian
 | 
						|
    * fixed a lot of PowerPC related stuff
 | 
						|
 | 
						|
  Revision 1.16  2003/04/23 13:47:41  peter
 | 
						|
    * optimizer is x86
 | 
						|
 | 
						|
  Revision 1.15  2003/04/23 12:35:34  florian
 | 
						|
    * fixed several issues with powerpc
 | 
						|
    + applied a patch from Jonas for nested function calls (PowerPC only)
 | 
						|
    * ...
 | 
						|
 | 
						|
  Revision 1.14  2002/12/06 16:56:57  peter
 | 
						|
    * only compile cs_fp_emulation support when cpufpuemu is defined
 | 
						|
    * define cpufpuemu for m68k only
 | 
						|
 | 
						|
  Revision 1.13  2002/10/16 19:01:43  peter
 | 
						|
    + $IMPLICITEXCEPTIONS switch to turn on/off generation of the
 | 
						|
      implicit exception frames for procedures with initialized variables
 | 
						|
      and for constructors. The default is on for compatibility
 | 
						|
 | 
						|
  Revision 1.12  2002/10/05 12:43:24  carl
 | 
						|
    * fixes for Delphi 6 compilation
 | 
						|
     (warning : Some features do not work under Delphi)
 | 
						|
 | 
						|
  Revision 1.11  2002/09/30 07:00:45  florian
 | 
						|
    * fixes to common code to get the alpha compiler compiled applied
 | 
						|
 | 
						|
  Revision 1.10  2002/09/29 23:19:05  florian
 | 
						|
    + added define 64bit
 | 
						|
 | 
						|
  Revision 1.9  2002/09/07 15:25:02  peter
 | 
						|
    * old logs removed and tabs fixed
 | 
						|
 | 
						|
  Revision 1.8  2002/08/30 13:42:29  mazen
 | 
						|
  - undefining win32 when SPARC defined removed, no more needed.
 | 
						|
 | 
						|
 | 
						|
  Revision 1.6  2002/08/19 18:17:48  carl
 | 
						|
    + optimize64_op_const_reg implemented (optimizes 64-bit constant opcodes)
 | 
						|
    * more fixes to m68k for 64-bit operations
 | 
						|
 | 
						|
  Revision 1.5  2002/08/15 15:11:53  carl
 | 
						|
    * oldset define is now correct for all cpu's except i386
 | 
						|
    * correct compilation problems because of the above
 | 
						|
 | 
						|
  Revision 1.4  2002/07/23 12:34:29  daniel
 | 
						|
  * Readded old set code. To use it define 'oldset'. Activated by default
 | 
						|
    for ppc.
 | 
						|
 | 
						|
  Revision 1.3  2002/07/04 18:56:50  florian
 | 
						|
    + log added
 | 
						|
}
 |