From cbe6e197292a2ab819d1aa783ce3c22fa9f1a2d0 Mon Sep 17 00:00:00 2001 From: carl Date: Sun, 24 Mar 2002 19:04:31 +0000 Subject: [PATCH] + patch for SPARC from Mazen NEIFER --- compiler/aasm.pas | 8 +++++++- compiler/compiler.pas | 12 +++++++++++- compiler/globtype.pas | 12 +++++++++++- compiler/pp.pas | 11 ++++++++++- compiler/symdef.pas | 8 +++++++- compiler/version.pas | 8 +++++++- 6 files changed, 53 insertions(+), 6 deletions(-) diff --git a/compiler/aasm.pas b/compiler/aasm.pas index 8857a6cb9f..14c6500d7a 100644 --- a/compiler/aasm.pas +++ b/compiler/aasm.pas @@ -73,6 +73,9 @@ interface ait_bundle, ait_stop, {$endif ia64} +{$ifdef SPARC} + ait_labeled_instruction, +{$endif SPARC} { never used, makes insertation of new ait_ easier to type } { lazy guy !!!! ;-) (FK) } ait_dummy); @@ -1160,7 +1163,10 @@ uses end. { $Log$ - Revision 1.19 2001-12-31 16:54:14 peter + Revision 1.20 2002-03-24 19:04:31 carl + + patch for SPARC from Mazen NEIFER + + Revision 1.19 2001/12/31 16:54:14 peter * fixed inline crash with assembler routines Revision 1.18 2001/08/30 19:43:50 peter diff --git a/compiler/compiler.pas b/compiler/compiler.pas index 76a687714e..f9c1c1b7d2 100644 --- a/compiler/compiler.pas +++ b/compiler/compiler.pas @@ -64,6 +64,13 @@ unit compiler; {$fatal cannot define two CPU switches} {$endif} {$endif} + {$ifdef SPARC} + {$ifndef CPUOK} + {$DEFINE CPUOK} + {$else} + {$fatal cannot define two CPU switches} + {$endif} + {$endif} {$ifndef CPUOK} {$fatal One of the switches I386, iA64, Alpha, PowerPC or M68K must be defined} @@ -330,7 +337,10 @@ end; end. { $Log$ - Revision 1.22 2001-09-18 11:30:47 michael + Revision 1.23 2002-03-24 19:05:31 carl + + patch for SPARC from Mazen NEIFER + + Revision 1.22 2001/09/18 11:30:47 michael * Fixes win32 linking problems with import libraries * LINKLIB Libraries are now looked for using C file extensions * get_exepath fix diff --git a/compiler/globtype.pas b/compiler/globtype.pas index 1f301a224d..6177489312 100644 --- a/compiler/globtype.pas +++ b/compiler/globtype.pas @@ -66,6 +66,13 @@ interface { on the ia64 comp will be mapped to int64 } ts64comp = comp; {$endif} +{$ifdef SPARC} + bestreal = real; + ts32real = single; + ts64real = double; + ts80real = extended; + ts64comp = extended; +{$endif} pbestreal=^bestreal; @@ -246,7 +253,10 @@ implementation end. { $Log$ - Revision 1.20 2002-01-24 18:25:48 peter + Revision 1.21 2002-03-24 19:05:59 carl + + patch for SPARC from Mazen NEIFER + + Revision 1.20 2002/01/24 18:25:48 peter * implicit result variable generation for assembler routines * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead diff --git a/compiler/pp.pas b/compiler/pp.pas index e946b6caed..4ea151e005 100644 --- a/compiler/pp.pas +++ b/compiler/pp.pas @@ -86,6 +86,12 @@ program pp; {$endif CPUDEFINED} {$define CPUDEFINED} {$endif ALPHA} + {$ifdef SPARC} + {$ifdef CPUDEFINED} + {$fatal ONLY one of the switches for the CPU type must be defined} + {$endif CPUDEFINED} + {$define CPUDEFINED} + {$endif SPARC} {$ifndef CPUDEFINED} {$fatal A CPU type switch must be defined} {$endif CPUDEFINED} @@ -162,7 +168,10 @@ begin end. { $Log$ - Revision 1.9 2001-11-14 01:12:45 florian + Revision 1.10 2002-03-24 19:06:29 carl + + patch for SPARC from Mazen NEIFER + + Revision 1.9 2001/11/14 01:12:45 florian * variant paramter passing and functions results fixed Revision 1.8 2001/08/26 13:36:46 florian diff --git a/compiler/symdef.pas b/compiler/symdef.pas index 431a3eb2ff..bca0e82325 100644 --- a/compiler/symdef.pas +++ b/compiler/symdef.pas @@ -690,6 +690,9 @@ interface {$ifdef ia64} pbestrealtype : ^ttype = @s64floattype; {$endif} +{$ifdef SPARC} + pbestrealtype : ^ttype = @s64floattype; +{$endif SPARC} {$ifdef GDB} @@ -5475,7 +5478,10 @@ implementation end. { $Log$ - Revision 1.65 2002-02-04 08:16:07 jonas + Revision 1.66 2002-03-24 19:10:14 carl + + patch for SPARC from Mazen NEIFER + + Revision 1.65 2002/02/04 08:16:07 jonas * fixed severe slowdown when compiling a program with arrays that have a lot (15+) dimensions ("merged") diff --git a/compiler/version.pas b/compiler/version.pas index 104eee9129..44e5909ec1 100644 --- a/compiler/version.pas +++ b/compiler/version.pas @@ -51,6 +51,9 @@ interface {$ifdef i386} target_cpu_string = 'i386'; {$endif} +{$ifdef sparc} + target_cpu_string = 'sparc'; +{$endif} {$ifdef m68k} target_cpu_string = 'm68k'; {$endif} @@ -101,7 +104,10 @@ end; end. { $Log$ - Revision 1.8 2002-03-01 12:47:21 pierre + Revision 1.9 2002-03-24 19:12:11 carl + + patch for SPARC from Mazen NEIFER + + Revision 1.8 2002/03/01 12:47:21 pierre * used shl 7 for release number Revision 1.7 2000/11/29 00:30:43 florian