mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-30 02:51:35 +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
 | |
| }
 | 
