Pārlūkot izejas kodu

* old logs removed and tabs fixed

peter 23 gadi atpakaļ
vecāks
revīzija
dcd9e0107c
92 mainītis faili ar 665 papildinājumiem un 2361 dzēšanām
  1. 1 1
      compiler/Makefile.fpc
  2. 5 14
      compiler/alpha/agas.pas
  3. 5 11
      compiler/alpha/aoptcpu.pas
  4. 4 10
      compiler/alpha/aoptcpub.pas
  5. 5 11
      compiler/alpha/aoptcpuc.pas
  6. 4 10
      compiler/alpha/aoptcpud.pas
  7. 5 44
      compiler/alpha/cgcpu.pas
  8. 6 24
      compiler/alpha/cpuasm.pas
  9. 5 63
      compiler/alpha/cpubase.pas
  10. 2 2
      compiler/alpha/cpuinfo.pas
  11. 6 18
      compiler/alpha/tgcpu.pas
  12. 9 6
      compiler/browlog.pas
  13. 16 45
      compiler/cg64f32.pas
  14. 7 4
      compiler/cg64f64.pas
  15. 4 4
      compiler/cgbase.pas
  16. 6 3
      compiler/cginfo.pas
  17. 4 151
      compiler/cgobj.pas
  18. 4 9
      compiler/charset.pas
  19. 4 8
      compiler/defbase.pas
  20. 5 2
      compiler/fpcdefs.inc
  21. 4 21
      compiler/i386/cgcpu.pas
  22. 13 10
      compiler/i386/cpuinfo.pas
  23. 1 1
      compiler/i386/i386ins.dat
  24. 4 57
      compiler/i386/n386cal.pas
  25. 27 24
      compiler/i386/n386inl.pas
  26. 5 2
      compiler/i386/n386mat.pas
  27. 4 24
      compiler/i386/n386mem.pas
  28. 4 7
      compiler/ia64/cpuasm.pas
  29. 11 25
      compiler/ia64/cpubase.pas
  30. 7 11
      compiler/ia64/cpuinfo.pas
  31. 6 3
      compiler/link.pas
  32. 6 3
      compiler/m68k/aasmcpu.pas
  33. 10 7
      compiler/m68k/agcpugas.pas
  34. 129 126
      compiler/m68k/cgcpu.pas
  35. 3 9
      compiler/m68k/cpuasm.pas
  36. 10 7
      compiler/m68k/cpuinfo.pas
  37. 8 5
      compiler/m68k/n68kcnv.pas
  38. 5 2
      compiler/m68k/n68kmat.pas
  39. 6 3
      compiler/m68k/radirect.pas
  40. 14 63
      compiler/m68k/rasm.pas
  41. 15 12
      compiler/m68k/rgcpu.pas
  42. 13 13
      compiler/nadd.pas
  43. 4 112
      compiler/ncal.pas
  44. 4 3
      compiler/ncgcal.pas
  45. 4 36
      compiler/ncgcnv.pas
  46. 4 91
      compiler/ncgflw.pas
  47. 4 46
      compiler/ncgld.pas
  48. 4 29
      compiler/ncgmem.pas
  49. 4 135
      compiler/ncgutil.pas
  50. 4 60
      compiler/ncnv.pas
  51. 8 5
      compiler/ncon.pas
  52. 2 14
      compiler/new/README
  53. 2 14
      compiler/new/agatt.pas
  54. 3 28
      compiler/new/aopt.pas
  55. 3 25
      compiler/new/aoptbase.pas
  56. 4 29
      compiler/new/aoptcs.pas
  57. 4 20
      compiler/new/aoptda.pas
  58. 3 37
      compiler/new/aoptobj.pas
  59. 3 28
      compiler/new/i386/aoptcpu.pas
  60. 2 33
      compiler/new/i386/aoptcpub.pas
  61. 3 19
      compiler/new/i386/aoptcpuc.pas
  62. 2 27
      compiler/new/i386/aoptcpud.pas
  63. 4 35
      compiler/nflw.pas
  64. 4 42
      compiler/nld.pas
  65. 4 4
      compiler/node.pas
  66. 44 41
      compiler/nstate.pas
  67. 10 7
      compiler/oglx.pas
  68. 4 20
      compiler/pdecsub.pas
  69. 4 17
      compiler/pexpr.pas
  70. 4 31
      compiler/pmodules.pas
  71. 5 80
      compiler/powerpc/cgcpu.pas
  72. 4 12
      compiler/powerpc/cpubase.pas
  73. 9 6
      compiler/powerpc/cpuinfo.pas
  74. 5 2
      compiler/powerpc/nppcmat.pas
  75. 4 9
      compiler/ppc.dpr
  76. 4 60
      compiler/pstatmnt.pas
  77. 4 67
      compiler/psub.pas
  78. 2 2
      compiler/sparc/cpubase.pas
  79. 2 2
      compiler/sparc/cpuinfo.pas
  80. 4 53
      compiler/sparc/cpuswtch.pas
  81. 4 7
      compiler/sparc/cputarg.pas
  82. 4 4
      compiler/sparc/ncpucnv.pas
  83. 4 54
      compiler/sparc/tgcpu.pas
  84. 4 61
      compiler/symdef.pas
  85. 4 56
      compiler/symsym.pas
  86. 5 2
      compiler/systems/i_wdosx.pas
  87. 5 2
      compiler/systems/i_win32.pas
  88. 8 3
      compiler/utils/fixlog.pp
  89. 5 2
      compiler/version.pas
  90. 6 3
      compiler/x86_64/cpuinfo.pas
  91. 4 6
      compiler/x86_64/cputarg.pas
  92. 8 5
      compiler/x86_64/rasm.pas

+ 1 - 1
compiler/Makefile.fpc

@@ -540,4 +540,4 @@ localmake:=$(strip $(wildcard makefile.loc))
 
 ifdef localmake
 include ./$(localmake)
-endif
+endif

+ 5 - 14
compiler/alpha/agas.pas

@@ -113,19 +113,10 @@ end.
 
 {
   $Log$
-  Revision 1.1  2002-08-18 09:06:54  florian
-    * alpha files moved compiler/alpha
-
-  Revision 1.1  2000/07/13 06:30:09  michael
-  + Initial import
-
-  Revision 1.5  2000/01/07 01:14:55  peter
-    * updated copyright to 2000
+  Revision 1.2  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.4  1999/08/25 12:00:16  jonas
-    * changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu)
-
-  Revision 1.3  1999/08/05 15:50:31  michael
-  * more changes
+  Revision 1.1  2002/08/18 09:06:54  florian
+    * alpha files moved compiler/alpha
 
-}
+}

+ 5 - 11
compiler/alpha/aoptcpu.pas

@@ -39,16 +39,10 @@ Implementation
 End.
 {
  $Log$
- Revision 1.1  2002-08-18 09:06:54  florian
-   * alpha files moved compiler/alpha
-
- Revision 1.1  2000/07/13 06:30:10  michael
- + Initial import
-
- Revision 1.2  2000/01/07 01:14:55  peter
-   * updated copyright to 2000
+ Revision 1.2  2002-09-07 15:25:10  peter
+   * old logs removed and tabs fixed
 
- Revision 1.1  1999/12/24 22:49:23  jonas
-   + dummy to allow compiling
+ Revision 1.1  2002/08/18 09:06:54  florian
+   * alpha files moved compiler/alpha
 
-}
+}

+ 4 - 10
compiler/alpha/aoptcpub.pas

@@ -117,16 +117,10 @@ End.
 
 {
  $Log$
- Revision 1.1  2002-08-18 09:06:54  florian
-   * alpha files moved compiler/alpha
-
- Revision 1.1  2000/07/13 06:30:10  michael
- + Initial import
+ Revision 1.2  2002-09-07 15:25:10  peter
+   * old logs removed and tabs fixed
 
- Revision 1.2  2000/01/07 01:14:55  peter
-   * updated copyright to 2000
-
- Revision 1.1  1999/11/09 22:57:09  peter
-   * compiles again both i386,alpha both with optimizer
+ Revision 1.1  2002/08/18 09:06:54  florian
+   * alpha files moved compiler/alpha
 
 }

+ 5 - 11
compiler/alpha/aoptcpuc.pas

@@ -39,16 +39,10 @@ Implementation
 End.
 {
   $Log$
-  Revision 1.1  2002-08-18 09:06:54  florian
-    * alpha files moved compiler/alpha
-
-  Revision 1.1  2000/07/13 06:30:10  michael
-  + Initial import
-
-  Revision 1.2  2000/01/07 01:14:55  peter
-    * updated copyright to 2000
+  Revision 1.2  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.1  1999/11/09 22:57:09  peter
-    * compiles again both i386,alpha both with optimizer
+  Revision 1.1  2002/08/18 09:06:54  florian
+    * alpha files moved compiler/alpha
 
-}
+}

+ 4 - 10
compiler/alpha/aoptcpud.pas

@@ -41,16 +41,10 @@ End.
 
 {
   $Log$
-  Revision 1.1  2002-08-18 09:06:54  florian
-    * alpha files moved compiler/alpha
-
-  Revision 1.1  2000/07/13 06:30:10  michael
-  + Initial import
+  Revision 1.2  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.2  2000/01/07 01:14:56  peter
-    * updated copyright to 2000
-
-  Revision 1.1  1999/11/09 22:57:09  peter
-    * compiles again both i386,alpha both with optimizer
+  Revision 1.1  2002/08/18 09:06:54  florian
+    * alpha files moved compiler/alpha
 
 }

+ 5 - 44
compiler/alpha/cgcpu.pas

@@ -67,7 +67,7 @@ constructor tcgalpha.init;
 procedure tcgalpha.g_stackframe_entry(list : paasmoutput;localsize : longint);
 
 begin
-  With List^ do 
+  With List^ do
     begin
     concat(new(paicpu,op_reg_ref(A_LDGP,Global_pointer,new_reference(R_27,0))));
     concat(new(paicpu,op_reg_ref(A_LDA,Stack_Pointer,new_reference(Stack_pointer,-LocalSize))));
@@ -200,49 +200,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.1  2002-08-18 09:06:54  florian
-    * alpha files moved compiler/alpha
-
-  Revision 1.1  2000/07/13 06:30:10  michael
-  + Initial import
-
-  Revision 1.9  2000/01/07 01:14:56  peter
-    * updated copyright to 2000
-
-  Revision 1.8  1999/09/15 20:35:47  florian
-    * small fix to operator overloading when in MMX mode
-    + the compiler uses now fldz and fld1 if possible
-    + some fixes to floating point registers
-    + some math. functions (arctan, ln, sin, cos, sqrt, sqr, pi) are now inlined
-    * .... ???
-
-  Revision 1.7  1999/08/25 12:00:17  jonas
-    * changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu)
-
-  Revision 1.6  1999/08/06 18:05:57  florian
-    * implemented some stuff for assignments
+  Revision 1.2  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.5  1999/08/06 14:15:53  florian
-    * made the alpha version compilable
-
-  Revision 1.4  1999/08/06 13:53:54  michael
-  Empty Virtual methods inserted
-
-  Revision 1.3  1999/08/05 15:50:32  michael
-  * more changes
-
-  Revision 1.2  1999/08/04 00:24:00  florian
-    * renamed i386asm and i386base to cpuasm and cpubase
-
-  Revision 1.1  1999/08/03 22:39:46  florian
-    * initial revision
-
-  Revision 1.2  1999/08/01 23:19:59  florian
-    + make a new makefile using the old compiler makefile
-
-  Revision 1.1  1999/08/01 23:11:24  florian
-    + renamed ot tp cgcpu.pas
+  Revision 1.1  2002/08/18 09:06:54  florian
+    * alpha files moved compiler/alpha
 
-  Revision 1.1  1999/08/01 22:08:26  florian
-    * reorganisation of directory structure
 }

+ 6 - 24
compiler/alpha/cpuasm.pas

@@ -275,7 +275,7 @@ implementation
     end;
 
     Constructor taient.Init (ProcName : String);
-    
+
     begin
       Inherited init;
       typ:=ait_ent;
@@ -285,28 +285,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.1  2002-08-18 09:06:54  florian
-    * alpha files moved compiler/alpha
-
-  Revision 1.1  2000/07/13 06:30:10  michael
-  + Initial import
-
-  Revision 1.6  2000/01/07 01:14:56  peter
-    * updated copyright to 2000
-
-  Revision 1.5  1999/08/25 12:00:18  jonas
-    * changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu)
+  Revision 1.2  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.4  1999/08/06 16:04:07  michael
-  + introduced tainstruction
-
-  Revision 1.3  1999/08/06 14:15:54  florian
-    * made the alpha version compilable
-
-  Revision 1.2  1999/08/05 15:50:33  michael
-  * more changes
-
-  Revision 1.1  1999/08/03 00:24:01  michael
-  + Initial implementation
+  Revision 1.1  2002/08/18 09:06:54  florian
+    * alpha files moved compiler/alpha
 
-}
+}

+ 5 - 63
compiler/alpha/cpubase.pas

@@ -303,68 +303,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.1  2002-08-18 09:06:54  florian
-    * alpha files moved compiler/alpha
-
-  Revision 1.1  2000/07/13 06:30:10  michael
-  + Initial import
-
-  Revision 1.17  2000/03/01 15:36:13  florian
-    * some new stuff for the new cg
-
-  Revision 1.16  2000/01/07 01:14:56  peter
-    * updated copyright to 2000
-
-  Revision 1.15  1999/11/09 22:57:09  peter
-    * compiles again both i386,alpha both with optimizer
-
-  Revision 1.14  1999/08/23 23:27:55  pierre
-   + dummy InitCpu/DoneCpu
-
-  Revision 1.13  1999/08/06 16:41:10  jonas
-    * PowerPC compiles again, several routines implemented in cgcpu.pas
-    * added constant to cpubase of alpha and powerpc for maximum
-      number of operands
-
-  Revision 1.12  1999/08/06 16:04:08  michael
-  + introduced tainstruction
-
-  Revision 1.11  1999/08/06 15:53:52  florian
-    * made the alpha version compilable
-
-  Revision 1.10  1999/08/06 14:15:55  florian
-    * made the alpha version compilable
-
-  Revision 1.9  1999/08/06 13:26:53  florian
-    * more changes ...
+  Revision 1.2  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.8  1999/08/05 17:10:58  florian
-    * some more additions, especially procedure
-      exit code generation
-
-  Revision 1.7  1999/08/05 15:50:34  michael
-  * more changes
-
-  Revision 1.6  1999/08/05 14:58:17  florian
-    * some fixes for the floating point registers
-    * more things for the new code generator
-
-  Revision 1.5  1999/08/03 17:09:48  florian
-    * the alpha compiler can be compiled now
-
-  Revision 1.4  1999/08/03 15:52:40  michael
-  * Additional changes
-
-  Revision 1.3  1999/08/03 00:35:54  michael
-  + Added varregs
-
-  Revision 1.2  1999/08/02 17:16:44  michael
-  + Changes for alpha
-
-  Revision 1.1  1999/08/01 23:18:36  michael
-  + Fixes for new code generator
-
-  Revision 1.2  1998/09/09 20:14:00  peter
-    - dup files already used elsewhere
+  Revision 1.1  2002/08/18 09:06:54  florian
+    * alpha files moved compiler/alpha
 
-}
+}

+ 2 - 2
compiler/alpha/cpuinfo.pas

@@ -29,7 +29,7 @@ Type
 Const
    { Size of native extended type }
    extended_size = 16;
-   
+
 Implementation
 
-end.
+end.

+ 6 - 18
compiler/alpha/tgcpu.pas

@@ -28,7 +28,7 @@ unit tgcpu;
        tgobj;
 
     type
-    
+
        ttgalpha = Object(ttgobj)
        end;
 
@@ -42,22 +42,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.1  2002-08-18 09:06:54  florian
-    * alpha files moved compiler/alpha
-
-  Revision 1.1  2000/07/13 06:30:10  michael
-  + Initial import
-
-  Revision 1.4  2000/01/07 01:14:56  peter
-    * updated copyright to 2000
+  Revision 1.2  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.3  1999/08/03 00:28:24  florian
-    - removed the stuff of the last commit :)
-
-  Revision 1.2  1999/08/03 00:25:28  florian
-    * added reg var stuff
-
-  Revision 1.1  1999/08/03 00:24:01  michael
-  + Initial implementation
+  Revision 1.1  2002/08/18 09:06:54  florian
+    * alpha files moved compiler/alpha
 
-}
+}

+ 9 - 6
compiler/browlog.pas

@@ -415,15 +415,15 @@ implementation
 
     begin
         if assigned(p.defref) then
-	    begin
-        	browserlog.AddLog('***'+p.mangledname);
+            begin
+                browserlog.AddLog('***'+p.mangledname);
                 browserlog.AddLogRefs(p.defref);
                 if (current_module.flags and uf_local_browser)<>0 then
                     begin
                         if assigned(p.parast) then
-                    	    writesymtable(p.parast);
+                            writesymtable(p.parast);
                         if assigned(p.localst) then
-                    	    writesymtable(p.localst);
+                            writesymtable(p.localst);
                     end;
              end;
     end;
@@ -464,7 +464,7 @@ implementation
                       writesymtable(tobjectdef(ttypesym(hp).restype.def).symtable);
                   end;
                 procsym :
-		    Tprocsym(hp).foreach_procdef_static({$IFDEF FPCPROCVAR}@{$ENDIF}writelocalsymtables,nil);
+                    Tprocsym(hp).foreach_procdef_static({$IFDEF FPCPROCVAR}@{$ENDIF}writelocalsymtables,nil);
               end;
               hp:=tstoredsym(hp.indexnext);
             end;
@@ -515,7 +515,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.15  2002-08-20 10:31:26  daniel
+  Revision 1.16  2002-09-07 15:25:00  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.15  2002/08/20 10:31:26  daniel
    * Tcallnode.det_resulttype rewritten
 
   Revision 1.14  2002/07/23 09:51:22  daniel

+ 16 - 45
compiler/cg64f32.pas

@@ -76,7 +76,7 @@ unit cg64f32;
            removing superfluous opcodes. Returns TRUE if normal processing
            must continue in op64_const_reg, otherwise, everything is processed
            entirely in this routine, by emitting the appropriate 32-bit opcodes.
-        }   
+        }
         function optimize64_op_const_reg(list: taasmoutput; var op: topcg; var a : qword; var reg: tregister64): boolean;override;
 
         procedure g_rangecheck64(list: taasmoutput; const p: tnode;
@@ -639,7 +639,7 @@ unit cg64f32;
         case op of
         OP_ADD:
            begin
-             if a = 0 then 
+             if a = 0 then
                 exit;
            end;
         OP_AND:
@@ -648,7 +648,7 @@ unit cg64f32;
                 cg.a_op_const_reg(list,op,lowvalue,reg.reglo);
               if highvalue <> high(cardinal) then
                 cg.a_op_const_reg(list,op,highvalue,reg.reghi);
-              { already emitted correctly }  
+              { already emitted correctly }
               exit;
            end;
         OP_OR:
@@ -657,12 +657,12 @@ unit cg64f32;
                 cg.a_op_const_reg(list,op,lowvalue,reg.reglo);
               if highvalue <> 0 then
                 cg.a_op_const_reg(list,op,highvalue,reg.reghi);
-              { already emitted correctly }  
+              { already emitted correctly }
               exit;
            end;
         OP_SUB:
            begin
-             if a = 0 then 
+             if a = 0 then
                 exit;
            end;
         OP_XOR:
@@ -670,9 +670,9 @@ unit cg64f32;
            end;
         OP_SHL:
            begin
-             if a = 0 then 
+             if a = 0 then
                  exit;
-             { simply clear low-register 
+             { simply clear low-register
                and shift the rest and swap
                registers.
              }
@@ -683,14 +683,14 @@ unit cg64f32;
                  { swap the registers }
                  hreg := reg.reghi;
                  reg.reghi := reg.reglo;
-                 reg.reglo := hreg; 
+                 reg.reglo := hreg;
                  exit;
                end;
            end;
-        OP_SHR:   
+        OP_SHR:
            begin
              if a = 0 then exit;
-             { simply clear high-register 
+             { simply clear high-register
                and shift the rest and swap
                registers.
              }
@@ -701,7 +701,7 @@ unit cg64f32;
                  { swap the registers }
                  hreg := reg.reghi;
                  reg.reghi := reg.reglo;
-                 reg.reglo := hreg; 
+                 reg.reglo := hreg;
                  exit;
                end;
            end;
@@ -715,7 +715,7 @@ unit cg64f32;
             end;
         else
            internalerror(20020817);
-        end;   
+        end;
         optimize64_op_const_reg := false;
       end;
 
@@ -732,7 +732,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.27  2002-08-19 18:17:47  carl
+  Revision 1.28  2002-09-07 15:25:00  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.27  2002/08/19 18:17:47  carl
     + optimize64_op_const_reg implemented (optimizes 64-bit constant opcodes)
     * more fixes to m68k for 64-bit operations
 
@@ -829,36 +832,4 @@ end.
   Revision 1.7  2002/04/07 13:21:18  carl
   + more documentation
 
-  Revision 1.6  2002/04/03 10:41:35  jonas
-    + a_load64_const_loc method
-
-  Revision 1.5  2002/04/02 17:11:27  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.4  2002/03/04 19:10:11  peter
-    * removed compiler warnings
-
-  Revision 1.3  2002/01/24 12:33:52  jonas
-    * adapted ranges of native types to int64 (e.g. high cardinal is no
-      longer longint($ffffffff), but just $fffffff in psystem)
-    * small additional fix in 64bit rangecheck code generation for 32 bit
-      processors
-    * adaption of ranges required the matching talgorithm used for selecting
-      which overloaded procedure to call to be adapted. It should now always
-      select the closest match for ordinal parameters.
-    + inttostr(qword) in sysstr.inc/sysstrh.inc
-    + abs(int64), sqr(int64), sqr(qword) in systemh.inc/generic.inc (previous
-      fixes were required to be able to add them)
-    * is_in_limit() moved from ncal to types unit, should always be used
-      instead of direct comparisons of low/high values of orddefs because
-      qword is a special case
-
 }

+ 7 - 4
compiler/cg64f64.pas

@@ -173,12 +173,12 @@ unit cg64f64;
       const todef: tdef);
       begin
       end;
-      
+
     function tcg64f64.optimize64_op_const_reg(list: taasmoutput; var op: topcg; var a : qword; var reg: tregister64): boolean;
      begin
-       { this should be the same routine as optimize_const_reg!!!!!!!! } 
+       { this should be the same routine as optimize_const_reg!!!!!!!! }
      end;
-      
+
 
     procedure tcg.a_reg_alloc(list : taasmoutput;r : tregister64);
 
@@ -196,7 +196,10 @@ unit cg64f64;
 end.
 {
   $Log$
-  Revision 1.4  2002-08-19 18:17:48  carl
+  Revision 1.5  2002-09-07 15:25:00  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.4  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
 

+ 4 - 4
compiler/cgbase.pas

@@ -655,7 +655,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.27  2002-09-05 19:29:42  peter
+  Revision 1.28  2002-09-07 15:25:01  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.27  2002/09/05 19:29:42  peter
     * memdebug enhancements
 
   Revision 1.26  2002/08/18 20:06:23  peter
@@ -764,7 +767,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.6  2002/03/04 19:10:11  peter
-    * removed compiler warnings
-
 }

+ 6 - 3
compiler/cginfo.pas

@@ -30,8 +30,8 @@ interface
   uses cpuinfo,symconst;
 
     type
-       {# Generic opcodes, which must be supported by all processors 
-       }   
+       {# Generic opcodes, which must be supported by all processors
+       }
        topcg =
        (
           OP_NONE,
@@ -107,7 +107,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.15  2002-08-05 18:27:48  carl
+  Revision 1.16  2002-09-07 15:25:01  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.15  2002/08/05 18:27:48  carl
     + more more more documentation
     + first version include/exclude (can't test though, not enough scratch for i386 :()...
 

+ 4 - 151
compiler/cgobj.pas

@@ -1585,7 +1585,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.56  2002-09-01 21:04:47  florian
+  Revision 1.57  2002-09-07 15:25:01  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.56  2002/09/01 21:04:47  florian
     * several powerpc related stuff fixed
 
   Revision 1.55  2002/09/01 17:05:43  florian
@@ -1666,154 +1669,4 @@ end.
       unit so this would conflicts if D6 programms are compiled
     + Willamette/SSE2 instructions to assembler added
 
-  Revision 1.36  2002/07/11 14:41:27  florian
-    * start of the new generic parameter handling
-
-  Revision 1.35  2002/07/07 10:16:29  florian
-    * problems with last commit fixed
-
-  Revision 1.33  2002/07/07 09:52:32  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
-  Revision 1.32  2002/07/06 20:09:10  carl
-  * updated generic constructor / destructor calling
-
-  Revision 1.31  2002/07/02 11:40:00  jonas
-    * fixed cg64 memory leak
-
-  Revision 1.30  2002/07/01 18:46:22  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.29  2002/07/01 16:23:52  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.28  2002/06/06 18:53:17  jonas
-    * fixed internalerror(10) with -Or for i386 (a_load_ref_ref now saves
-      a general purpose register if it needs one but none are available)
-
-  Revision 1.27  2002/05/22 19:02:16  carl
-  + generic FPC_HELP_FAIL
-  + generic FPC_HELP_DESTRUCTOR instated (original from Pierre)
-  + generic FPC_DISPOSE_CLASS
-  + TEST_GENERIC define
-
-  Revision 1.26  2002/05/20 13:30:40  carl
-  * bugfix of hdisponen (base must be set, not index)
-  * more portability fixes
-
-  Revision 1.25  2002/05/18 13:34:05  peter
-    * readded missing revisions
-
-  Revision 1.24  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.23  2002/05/14 19:34:40  peter
-    * removed old logs and updated copyright year
-
-  Revision 1.22  2002/05/13 19:54:36  peter
-    * removed n386ld and n386util units
-    * maybe_save/maybe_restore added instead of the old maybe_push
-
-  Revision 1.21  2002/05/12 19:57:16  carl
-  * maybe_loadself portable
-
-  Revision 1.20  2002/05/12 16:53:04  peter
-    * moved entry and exitcode to ncgutil and cgobj
-    * foreach gets extra argument for passing local data to the
-      iterator function
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.19  2002/04/26 15:19:04  peter
-    * use saveregisters for incr routines, saves also problems with
-      the optimizer
-
-  Revision 1.18  2002/04/25 20:16:38  peter
-    * moved more routines from cga/n386util
-
-  Revision 1.17  2002/04/22 16:30:05  peter
-    * fixed @methodpointer
-
-  Revision 1.16  2002/04/21 15:25:30  carl
-  + a_jmp_cond -> a_jmp_always (a_jmp_cond is NOT portable)
-  + changeregsize -> rg.makeregsize
-
-  Revision 1.15  2002/04/20 21:32:23  carl
-  + generic FPC_CHECKPOINTER
-  + first parameter offset in stack now portable
-  * rename some constants
-  + move some cpu stuff to other units
-  - remove unused constents
-  * fix stacksize for some targets
-  * fix generic size problems which depend now on EXTEND_SIZE constant
-
-  Revision 1.14  2002/04/15 19:44:18  peter
-    * fixed stackcheck that would be called recursively when a stack
-      error was found
-    * generic changeregsize(reg,size) for i386 register resizing
-    * removed some more routines from cga unit
-    * fixed returnvalue handling
-    * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
-
-  Revision 1.13  2002/04/07 13:22:11  carl
-  + more documentation
-
-  Revision 1.12  2002/04/07 09:12:46  carl
-  + documentation
-
-  Revision 1.11  2002/04/06 18:10:42  jonas
-    * several powerpc-related additions and fixes
-
-  Revision 1.10  2002/04/04 19:05:54  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.9  2002/04/02 17:11:27  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.8  2002/03/31 20:26:33  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.7  2002/03/04 19:10:11  peter
-    * removed compiler warnings
-
 }

+ 4 - 9
compiler/charset.pas

@@ -252,15 +252,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.1  2002-07-20 17:11:48  florian
-    + source code page support
+  Revision 1.2  2002-09-07 15:25:02  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.2  2000/10/21 18:20:17  florian
-    * a lot of small changes:
-       - setlength is internal
-       - win32 graph unit extended
-       ....
+  Revision 1.1  2002/07/20 17:11:48  florian
+    + source code page support
 
-  Revision 1.1  2000/08/17 07:29:39  florian
-    + initial revision
 }

+ 4 - 8
compiler/defbase.pas

@@ -1908,7 +1908,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.8  2002-09-07 09:16:55  carl
+  Revision 1.9  2002-09-07 15:25:02  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.8  2002/09/07 09:16:55  carl
     * fix my stupid copy and paste bug
 
   Revision 1.7  2002/09/06 19:58:31  carl
@@ -2018,11 +2021,4 @@ end.
       instead of direct comparisons of low/high values of orddefs because
       qword is a special case
 
-  Revision 1.62  2002/01/06 21:50:44  peter
-    * proc_to_procvar_equal fixed for procvar-procvar
-
-  Revision 1.61  2002/01/06 12:08:16  peter
-    * removed uauto from orddef, use new range_to_basetype generating
-      the correct ordinal type for a range
-
 }

+ 5 - 2
compiler/fpcdefs.inc

@@ -29,7 +29,7 @@
 
 {$ifdef i386}
   {$define x86}
-{$else}  
+{$else}
   {$define oldset}
 {$endif i386}
 {$ifdef x86_64}
@@ -37,7 +37,10 @@
 {$endif x86_64}
 {
   $Log$
-  Revision 1.8  2002-08-30 13:42:29  mazen
+  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.
 
 

+ 4 - 21
compiler/i386/cgcpu.pas

@@ -170,7 +170,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.29  2002-07-20 19:28:47  florian
+  Revision 1.30  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.29  2002/07/20 19:28:47  florian
     * splitting of i386\cgcpu.pas into x86\cgx86.pas and i386\cgcpu.pas
       cgx86.pas will contain the common code for i386 and x86_64
 
@@ -275,24 +278,4 @@ end.
       with string operations
     * adapted some routines to use the new cg methods
 
-  Revision 1.8  2002/03/31 20:26:37  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.7  2002/03/04 19:10:12  peter
-    * removed compiler warnings
-
 }

+ 13 - 10
compiler/i386/cpuinfo.pas

@@ -37,23 +37,23 @@ Type
    { $fffffffffffffff on a 32bit machine if the compiler uses     }
    { int64 constants internally (JM)                              }
    TConstPtrUInt = cardinal;
-   
+
    bestreal = extended;
    ts32real = single;
    ts64real = double;
    ts80real = extended;
    ts64comp = extended;
-   
+
    pbestreal=^bestreal;
-   
+
    { possible supported processors for this target }
-   tprocessors = 
+   tprocessors =
       (no_processor,
        Class386,
        ClassP5,
        ClassP6
-      ); 
-   
+      );
+
 
 Const
    {# Size of native extended floating point type }
@@ -65,19 +65,22 @@ Const
 
    { target cpu string (used by compiler options) }
    target_cpu_string = 'i386';
-   { size of the buffer used for setjump/longjmp  
+   { size of the buffer used for setjump/longjmp
      the size of this buffer is deduced from the
-     jmp_buf structure in setjumph.inc file 
+     jmp_buf structure in setjumph.inc file
    }
    jmp_buf_size = 24;
-   
+
 
 Implementation
 
 end.
 {
   $Log$
-  Revision 1.13  2002-08-15 15:15:55  carl
+  Revision 1.14  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.13  2002/08/15 15:15:55  carl
     * jmpbuf size allocation for exceptions is now cpu specific (as it should)
     * more generic nodes for maths
     * several fixes for better m68k support

+ 1 - 1
compiler/i386/i386ins.dat

@@ -3316,4 +3316,4 @@ xmmreg,mem              \301\3\x66\x0F\x14\110          WILLAMETTE,SSE2,SM
 [XORPD]
 (Ch_All, Ch_None, Ch_None)
 xmmreg,xmmreg           \3\x66\x0F\x57\110              WILLAMETTE,SSE2
-xmmreg,mem              \301\3\x66\x0F\x57\110          WILLAMETTE,SSE2,SM
+xmmreg,mem              \301\3\x66\x0F\x57\110          WILLAMETTE,SSE2,SM

+ 4 - 57
compiler/i386/n386cal.pas

@@ -1307,7 +1307,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.69  2002-09-01 18:43:27  peter
+  Revision 1.70  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.69  2002/09/01 18:43:27  peter
     * include accumulator in regs_to_push list
 
   Revision 1.68  2002/09/01 12:13:00  peter
@@ -1414,60 +1417,4 @@ end.
     * fixed pascal calling method with reversing also the high tree in
       the parast, detected by tcalcst3 test
 
-  Revision 1.48  2002/04/25 20:16:40  peter
-    * moved more routines from cga/n386util
-
-  Revision 1.47  2002/04/21 19:02:07  peter
-    * removed newn and disposen nodes, the code is now directly
-      inlined from pexpr
-    * -an option that will write the secondpass nodes to the .s file, this
-      requires EXTDEBUG define to actually write the info
-    * fixed various internal errors and crashes due recent code changes
-
-  Revision 1.46  2002/04/21 15:34:25  carl
-  * changeregsize -> rg.makeregsize
-
-  Revision 1.45  2002/04/15 19:44:21  peter
-    * fixed stackcheck that would be called recursively when a stack
-      error was found
-    * generic changeregsize(reg,size) for i386 register resizing
-    * removed some more routines from cga unit
-    * fixed returnvalue handling
-    * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
-
-  Revision 1.44  2002/04/04 19:06:10  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.43  2002/04/02 17:11:35  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.42  2002/03/31 20:26:38  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.41  2002/03/04 19:10:13  peter
-    * removed compiler warnings
-
 }

+ 27 - 24
compiler/i386/n386inl.pas

@@ -31,7 +31,7 @@ interface
 
     type
        ti386inlinenode = class(tcginlinenode)
-          { first pass override 
+          { first pass override
             so that the code generator will actually generate
             these nodes.
           }
@@ -80,8 +80,8 @@ implementation
         registersfpu:=1;
         first_pi := nil;
       end;
-      
-      
+
+
      function ti386inlinenode.first_arctan_real : tnode;
       begin
         location.loc:=LOC_FPUREGISTER;
@@ -92,7 +92,7 @@ implementation
 {$endif SUPPORT_MMX}
         first_arctan_real := nil;
       end;
-      
+
      function ti386inlinenode.first_abs_real : tnode;
       begin
         location.loc:=LOC_FPUREGISTER;
@@ -103,7 +103,7 @@ implementation
 {$endif SUPPORT_MMX}
         first_abs_real := nil;
       end;
-      
+
      function ti386inlinenode.first_sqr_real : tnode;
       begin
         location.loc:=LOC_FPUREGISTER;
@@ -114,7 +114,7 @@ implementation
 {$endif SUPPORT_MMX}
         first_sqr_real := nil;
       end;
-      
+
      function ti386inlinenode.first_sqrt_real : tnode;
       begin
         location.loc:=LOC_FPUREGISTER;
@@ -125,7 +125,7 @@ implementation
 {$endif SUPPORT_MMX}
         first_sqrt_real := nil;
       end;
-      
+
      function ti386inlinenode.first_ln_real : tnode;
       begin
         location.loc:=LOC_FPUREGISTER;
@@ -136,7 +136,7 @@ implementation
 {$endif SUPPORT_MMX}
         first_ln_real := nil;
       end;
-      
+
      function ti386inlinenode.first_cos_real : tnode;
       begin
         location.loc:=LOC_FPUREGISTER;
@@ -147,7 +147,7 @@ implementation
 {$endif SUPPORT_MMX}
         first_cos_real := nil;
       end;
-      
+
      function ti386inlinenode.first_sin_real : tnode;
       begin
         location.loc:=LOC_FPUREGISTER;
@@ -159,16 +159,16 @@ implementation
         first_sin_real := nil;
       end;
 
- 
+
      procedure ti386inlinenode.second_Pi;
        begin
          location_reset(location,LOC_FPUREGISTER,def_cgsize(resulttype.def));
          emit_none(A_FLDPI,S_NO);
          inc(trgcpu(rg).fpuvaroffset);
          location.register:=FPU_RESULT_REG;
-         
+
        end;
-     
+
        { load the FPU into the an fpu register }
        procedure ti386inlinenode.load_fpu_location;
          begin
@@ -194,32 +194,32 @@ implementation
               internalerror(309991);
            end;
          end;
-       
+
      procedure ti386inlinenode.second_arctan_real;
        begin
          load_fpu_location;
          emit_none(A_FLD1,S_NO);
          emit_none(A_FPATAN,S_NO);
        end;
-       
+
      procedure ti386inlinenode.second_abs_real;
        begin
          load_fpu_location;
          emit_none(A_FABS,S_NO);
        end;
-       
+
      procedure ti386inlinenode.second_sqr_real;
        begin
          load_fpu_location;
          emit_reg_reg(A_FMUL,S_NO,R_ST0,R_ST0);
        end;
-       
+
      procedure ti386inlinenode.second_sqrt_real;
        begin
          load_fpu_location;
          emit_none(A_FSQRT,S_NO);
        end;
-       
+
      procedure ti386inlinenode.second_ln_real;
        begin
          load_fpu_location;
@@ -227,13 +227,13 @@ implementation
          emit_none(A_FXCH,S_NO);
          emit_none(A_FYL2X,S_NO);
        end;
-       
+
      procedure ti386inlinenode.second_cos_real;
        begin
          load_fpu_location;
          emit_none(A_FCOS,S_NO);
        end;
-       
+
      procedure ti386inlinenode.second_sin_real;
        begin
          load_fpu_location;
@@ -250,7 +250,7 @@ implementation
          hregister : tregister;
          asmop : tasmop;
          L : cardinal;
-         pushedregs : TMaybesave;         
+         pushedregs : TMaybesave;
          cgop : topcg;
         begin
           location_copy(location,left.location);
@@ -320,15 +320,18 @@ implementation
               if scratch_reg then
                 cg.free_scratch_reg(exprasmlist,hregister);
             end;
-        end;           
-     
-       
+        end;
+
+
 begin
    cinlinenode:=ti386inlinenode;
 end.
 {
   $Log$
-  Revision 1.52  2002-08-02 07:44:31  jonas
+  Revision 1.53  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.52  2002/08/02 07:44:31  jonas
     * made assigned() handling generic
     * add nodes now can also evaluate constant expressions at compile time
       that contain nil nodes

+ 5 - 2
compiler/i386/n386mat.pas

@@ -269,7 +269,7 @@ implementation
 *****************************************************************************}
 
 
-    function ti386shlshrnode.first_shlshr64bitint: tnode; 
+    function ti386shlshrnode.first_shlshr64bitint: tnode;
       begin
         result := nil;
       end;
@@ -838,7 +838,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.39  2002-08-15 15:15:55  carl
+  Revision 1.40  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.39  2002/08/15 15:15:55  carl
     * jmpbuf size allocation for exceptions is now cpu specific (as it should)
     * more generic nodes for maths
     * several fixes for better m68k support

+ 4 - 24
compiler/i386/n386mem.pas

@@ -156,7 +156,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.43  2002-09-01 19:27:35  peter
+  Revision 1.44  2002-09-07 15:25:11  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.43  2002/09/01 19:27:35  peter
     * use index register when available for generating a reference with
       only a signle register. Using the base register could possibly
       destroy the framepointer
@@ -277,27 +280,4 @@ end.
       with string operations
     * adapted some routines to use the new cg methods
 
-  Revision 1.22  2002/04/01 09:44:04  jonas
-    * better fix for new/dispose bug with init/final data
-
-  Revision 1.21  2002/03/31 20:26:39  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.20  2002/03/04 19:10:14  peter
-    * removed compiler warnings
-
 }

+ 4 - 7
compiler/ia64/cpuasm.pas

@@ -297,16 +297,13 @@ implementation
 end.
 {
   $Log$
-  Revision 1.3  2002-05-16 19:46:52  carl
+  Revision 1.4  2002-09-07 15:25:11  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.3  2002/05/16 19:46:52  carl
   + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
   + try to fix temp allocation (still in ifdef)
   + generic constructor calls
   + start of tassembler / tmodulebase class cleanup
 
-  Revision 1.2  2001/01/05 17:36:58  florian
-  * the info about exception frames is stored now on the stack
-  instead on the heap
-
-  Revision 1.1  2000/12/31 16:54:19  florian
-    + initial revision
 }

+ 11 - 25
compiler/ia64/cpubase.pas

@@ -128,7 +128,7 @@ Const
 
   varregs : Array [1..6] of Tregister =
             (R_9,R_10,R_11,R_12,R_13,R_14);
-            
+
 {*****************************************************************************
                        GCC /ABI linking information
 *****************************************************************************}
@@ -136,20 +136,20 @@ Const
   {# Registers which must be saved when calling a routine declared as
      cppdecl, cdecl, stdcall, safecall, palmossyscall. The registers
      saved should be the ones as defined in the target ABI and / or GCC.
-     
+
      This value can be deduced from CALLED_USED_REGISTERS array in the
      GCC source.
   }
   std_saved_registers = [R_9..R_14,R_F2..R_F9];
   {# Required parameter alignment when calling a routine declared as
      stdcall and cdecl. The alignment value should be the one defined
-     by GCC or the target ABI. 
-     
-     The value of this constant is equal to the constant 
+     by GCC or the target ABI.
+
+     The value of this constant is equal to the constant
      PARM_BOUNDARY / BITS_PER_UNIT in the GCC source.
-  }     
+  }
   std_param_align = ???;
-            
+
 
 Type
    TReference = record
@@ -275,24 +275,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.3  2002-04-20 21:38:45  carl
-  * renamed some constants
+  Revision 1.4  2002-09-07 15:25:11  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.2  2001/01/05 17:36:58  florian
-  * the info about exception frames is stored now on the stack
-  instead on the heap
-
-  Revision 1.1  2000/12/31 16:54:19  florian
-    + initial revision
-
-  Revision 1.1  2000/07/13 06:30:11  michael
-  + Initial import
-
-  Revision 1.1  2000/07/09 10:40:12  peter
-    * renamed to lowercase
-
-  Revision 1.1  2000/03/09 20:28:00  florian
-    * initial release derieved from the ALPHA cpubase.pas, the
-      file still contains some ALPHA stuff
+  Revision 1.3  2002/04/20 21:38:45  carl
+  * renamed some constants
 
 }

+ 7 - 11
compiler/ia64/cpuinfo.pas

@@ -40,9 +40,9 @@ Type
    ts80real = extended;
    { on the ia64 comp will be mapped to int64 }
    ts64comp = comp;
-   
+
    pbestreal=^bestreal;
-   
+
 
 Const
    { Size of native extended type }
@@ -52,7 +52,7 @@ Const
    c_countusableregsfpu = 95;
    c_countusableregsmm  = 0;
    c_countusableregsqp  = 48;
-   
+
    { target cpu string (used by compiler options) }
    target_cpu_string = 'ia64';
 
@@ -61,7 +61,10 @@ Implementation
 end.
 {
   $Log$
-  Revision 1.6  2002-08-12 15:08:42  carl
+  Revision 1.7  2002-09-07 15:25:11  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.6  2002/08/12 15:08:42  carl
     + stab register indexes for powerpc (moved from gdb to cpubase)
     + tprocessor enumeration moved to cpuinfo
     + linker in target_info is now a class
@@ -83,11 +86,4 @@ end.
   Revision 1.3  2002/04/07 13:42:40  carl
   - moved type constant
 
-  Revision 1.2  2001/01/05 17:36:58  florian
-  * the info about exception frames is stored now on the stack
-  instead on the heap
-
-  Revision 1.1  2000/12/31 16:54:19  florian
-    + initial revision
-
 }

+ 6 - 3
compiler/link.pas

@@ -614,12 +614,12 @@ end;
 *****************************************************************************}
 
 procedure InitLinker;
-var 
+var
  lk : TlinkerClass;
 begin
   if (cs_link_internal in aktglobalswitches) and
      assigned(target_info.link) then
-   begin  
+   begin
      lk:=TLinkerClass(target_info.link);
      linker:=lk.Create;
    end
@@ -660,7 +660,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.30  2002-08-12 15:08:39  carl
+  Revision 1.31  2002-09-07 15:25:02  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.30  2002/08/12 15:08:39  carl
     + stab register indexes for powerpc (moved from gdb to cpubase)
     + tprocessor enumeration moved to cpuinfo
     + linker in target_info is now a class

+ 6 - 3
compiler/m68k/aasmcpu.pas

@@ -73,7 +73,7 @@ type
      { for DBxx opcodes }
      constructor op_reg_sym(op: tasmop; _size : topsize; _op1: tregister; _op2 :tasmsymbol);
      constructor op_sym_ofs_reg(op : tasmop;_size : topsize;_op1 : tasmsymbol;_op1ofs:longint;_op2 : tregister);
-     
+
      constructor op_sym_ofs(op : tasmop;_size : topsize;_op1 : tasmsymbol;_op1ofs:longint);
      constructor op_sym_ofs_ref(op : tasmop;_size : topsize;_op1 : tasmsymbol;_op1ofs:longint;const _op2 : treference);
 
@@ -86,7 +86,7 @@ type
   tai_align = class(tai_align_abstract)
         { nothing to add }
   end;
-  
+
   procedure InitAsm;
   procedure DoneAsm;
 
@@ -409,7 +409,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.4  2002-08-13 18:58:54  carl
+  Revision 1.5  2002-09-07 15:25:11  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.4  2002/08/13 18:58:54  carl
     + m68k problems with cvs fixed?()!
 
   Revision 1.2  2002/08/12 15:08:43  carl

+ 10 - 7
compiler/m68k/agcpugas.pas

@@ -93,10 +93,10 @@ interface
        { Useful for assembly langage output }
        '','','','');
 
-     gas_opsize2str : array[topsize] of string[2] = 
+     gas_opsize2str : array[topsize] of string[2] =
      ('','.b','.w','.l','.s','.d','.x',''
      );
-     
+
      gas_reg2str : reg2strtable =
       ('', '%d0','%d1','%d2','%d3','%d4','%d5','%d6','%d7',
        '%a0','%a1','%a2','%a3','%a4','%a5','%a6','%sp',
@@ -104,7 +104,7 @@ interface
        '%ccr','%fp0','%fp1','%fp2','%fp3','%fp4','%fp5',
        '%fp6','%fp7','%fpcr','%sr','%ssp','%dfc',
        '%sfc','%vbr','%fpsr');
-     
+
 
   implementation
 
@@ -170,10 +170,10 @@ interface
                   else
                     s:=s+'('+basestr+','+indexstr+'.l*'+tostr(scalefactor)+')';
                 end;
-          end;      
+          end;
          getreferencestring:=s;
       end;
-      
+
 
     function getopstr(const o:toper) : string;
     var
@@ -337,7 +337,7 @@ ait_labeled_instruction : begin
          s:=gas_op2str[op]+cond2str[taicpu(hp).condition]+gas_opsize2str[taicpu(hp).opsize]
         else
          s:=gas_op2str[op]+gas_opsize2str[taicpu(hp).opsize];
-        getopcodestring:=s; 
+        getopcodestring:=s;
       end;
 
     procedure TM68kAssembler. WriteInstruction(hp: tai);
@@ -417,7 +417,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.2  2002-08-13 18:58:54  carl
+  Revision 1.3  2002-09-07 15:25:11  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.2  2002/08/13 18:58:54  carl
     + m68k problems with cvs fixed?()!
 
 }

+ 129 - 126
compiler/m68k/cgcpu.pas

@@ -76,7 +76,7 @@ unit cgcpu;
           }
           procedure sign_extend(list: taasmoutput;_oldsize : tcgsize; reg: tregister);
           procedure a_jmp_cond(list : taasmoutput;cond : TOpCmp;l: tasmlabel);
-     
+
      end;
 
      tcg64f68k = class(tcg64f32)
@@ -86,7 +86,7 @@ unit cgcpu;
 
      { This function returns true if the reference+offset is valid.
        Otherwise extra code must be generated to solve the reference.
-       
+
        On the m68k, this verifies that the reference is valid
        (e.g : if index register is used, then the max displacement
         is 256 bytes, if only base is used, then max displacement
@@ -99,9 +99,9 @@ const
         (S_NO,S_B,S_W,S_L,S_L,S_B,S_W,S_L,S_L,
          S_FS,S_FD,S_FX,S_NO,
          S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO);
-         
-         
-         
+
+
+
 
 Implementation
 
@@ -110,12 +110,12 @@ Implementation
        symdef,symsym,defbase,paramgr,
        rgobj,tgobj,rgcpu;
 
-         
-    const     
+
+    const
       { opcode table lookup }
       topcg2tasmop: Array[topcg] of tasmop =
       (
-       A_NONE, 
+       A_NONE,
        A_ADD,
        A_AND,
        A_DIVU,
@@ -131,9 +131,9 @@ Implementation
        A_SUB,
        A_EOR
       );
-       
-        
-      TOpCmp2AsmCond: Array[topcmp] of TAsmCond = 
+
+
+      TOpCmp2AsmCond: Array[topcmp] of TAsmCond =
       (
        C_NONE,
        C_EQ,
@@ -147,7 +147,7 @@ Implementation
        C_CC,
        C_HI
       );
-       
+
 
      function isvalidrefoffset(const ref: treference): boolean;
       begin
@@ -165,7 +165,7 @@ Implementation
                 isvalidrefoffset := false;
            end;
       end;
-      
+
 {****************************************************************************}
 {                               TCG68K                                       }
 {****************************************************************************}
@@ -179,7 +179,7 @@ Implementation
            begin
              if (ref.index <> R_NO) and assigned(ref.symbol) then
                 internalerror(20020814);
-             { base + reg }   
+             { base + reg }
              if ref.index <> R_NO then
                 begin
                    { base + reg + offset }
@@ -202,7 +202,7 @@ Implementation
                end;
            end;
        end;
-      
+
 
 
     procedure tcg68k.a_call_name(list : taasmoutput;const s : string);
@@ -217,7 +217,7 @@ Implementation
        href : treference;
       begin
         href := ref;
-        fixref(list,href); 
+        fixref(list,href);
         list.concat(taicpu.op_ref(A_JSR,S_NO,href));
       end;
 
@@ -235,21 +235,21 @@ Implementation
          begin
            if (longint(a) >= low(shortint)) and (longint(a) <= high(shortint)) then
               list.concat(taicpu.op_const_reg(A_MOVEQ,S_L,a,register))
-           else   
+           else
               list.concat(taicpu.op_const_reg(A_MOVE,S_L,a,register))
          end;
       end;
-      
+
     procedure tcg68k.a_load_reg_ref(list : taasmoutput;size : tcgsize;register : tregister;const ref : treference);
       var
        href : treference;
       begin
          href := ref;
-         fixref(list,href); 
+         fixref(list,href);
          { move to destination reference }
          list.concat(taicpu.op_reg_ref(A_MOVE,TCGSize2OpSize[size],register,href));
       end;
-      
+
     procedure tcg68k.a_load_reg_reg(list : taasmoutput;size : tcgsize;reg1,reg2 : tregister);
       begin
          { move to destination register }
@@ -257,19 +257,19 @@ Implementation
          { zero/sign extend register to 32-bit }
          sign_extend(list, size, reg2);
       end;
-      
+
     procedure tcg68k.a_load_ref_reg(list : taasmoutput;size : tcgsize;const ref : treference;register : tregister);
       var
        href : treference;
       begin
          href := ref;
-         fixref(list,href); 
+         fixref(list,href);
          list.concat(taicpu.op_ref_reg(A_MOVE,TCGSize2OpSize[size],href,register));
          { extend the value in the register }
          sign_extend(list, size, register);
       end;
-      
-      
+
+
     procedure tcg68k.a_loadaddr_ref_reg(list : taasmoutput;const ref : treference;r : tregister);
      var
        href : treference;
@@ -278,12 +278,12 @@ Implementation
           begin
             internalerror(2002072901);
           end;
-        href:=ref;  
+        href:=ref;
         fixref(list, href);
         list.concat(taicpu.op_ref_reg(A_LEA,S_L,href,r));
       end;
-      
-    procedure tcg68k.a_loadfpu_reg_reg(list: taasmoutput; reg1, reg2: tregister); 
+
+    procedure tcg68k.a_loadfpu_reg_reg(list: taasmoutput; reg1, reg2: tregister);
       begin
         { in emulation mode, only 32-bit single is supported }
         if cs_fp_emulation in aktmoduleswitches then
@@ -291,30 +291,30 @@ Implementation
         else
           list.concat(taicpu.op_reg_reg(A_FMOVE,S_FD,reg1,reg2));
       end;
-      
 
-    procedure tcg68k.a_loadfpu_ref_reg(list: taasmoutput; size: tcgsize; const ref: treference; reg: tregister); 
+
+    procedure tcg68k.a_loadfpu_ref_reg(list: taasmoutput; size: tcgsize; const ref: treference; reg: tregister);
      var
       opsize : topsize;
       href : treference;
       begin
-        opsize := tcgsize2opsize[size];   
+        opsize := tcgsize2opsize[size];
         { extended is not supported, since it is not available on Coldfire }
         if opsize = S_FX then
           internalerror(20020729);
-        fixref(list,href);    
+        fixref(list,href);
         { in emulation mode, only 32-bit single is supported }
         if cs_fp_emulation in aktmoduleswitches then
            list.concat(taicpu.op_ref_reg(A_MOVE,S_L,href,reg))
         else
            list.concat(taicpu.op_ref_reg(A_FMOVE,opsize,href,reg));
       end;
-      
-    procedure tcg68k.a_loadfpu_reg_ref(list: taasmoutput; size: tcgsize; reg: tregister; const ref: treference); 
+
+    procedure tcg68k.a_loadfpu_reg_ref(list: taasmoutput; size: tcgsize; reg: tregister; const ref: treference);
       var
        opsize : topsize;
       begin
-        opsize := tcgsize2opsize[size];   
+        opsize := tcgsize2opsize[size];
         { extended is not supported, since it is not available on Coldfire }
         if opsize = S_FX then
           internalerror(20020729);
@@ -324,29 +324,29 @@ Implementation
         else
           list.concat(taicpu.op_reg_ref(A_FMOVE,opsize,reg, ref));
       end;
-      
-    procedure tcg68k.a_loadmm_reg_reg(list: taasmoutput; reg1, reg2: tregister); 
+
+    procedure tcg68k.a_loadmm_reg_reg(list: taasmoutput; reg1, reg2: tregister);
       begin
         internalerror(20020729);
       end;
-      
-    procedure tcg68k.a_loadmm_ref_reg(list: taasmoutput; const ref: treference; reg: tregister); 
+
+    procedure tcg68k.a_loadmm_ref_reg(list: taasmoutput; const ref: treference; reg: tregister);
       begin
         internalerror(20020729);
       end;
-      
-    procedure tcg68k.a_loadmm_reg_ref(list: taasmoutput; reg: tregister; const ref: treference); 
+
+    procedure tcg68k.a_loadmm_reg_ref(list: taasmoutput; reg: tregister; const ref: treference);
       begin
         internalerror(20020729);
       end;
-      
-    procedure tcg68k.a_parammm_reg(list: taasmoutput; reg: tregister); 
+
+    procedure tcg68k.a_parammm_reg(list: taasmoutput; reg: tregister);
       begin
         internalerror(20020729);
       end;
-      
 
-    procedure tcg68k.a_op_const_reg(list : taasmoutput; Op: TOpCG; a: AWord; reg: TRegister); 
+
+    procedure tcg68k.a_op_const_reg(list : taasmoutput; Op: TOpCG; a: AWord; reg: TRegister);
       var
        scratch_reg : tregister;
        scratch_reg2: tregister;
@@ -357,11 +357,11 @@ Implementation
            exit;
         opcode := topcg2tasmop[op];
         case op of
-          OP_ADD : 
+          OP_ADD :
               Begin
                 if (a >= 1) and (a <= 8) then
                     list.concat(taicpu.op_const_reg(A_ADDQ,S_L,a, reg))
-                else  
+                else
                   begin
                     { all others, including coldfire }
                     list.concat(taicpu.op_const_reg(A_ADD,S_L,a, reg));
@@ -369,7 +369,7 @@ Implementation
               end;
           OP_AND,
           OP_OR:
-              Begin  
+              Begin
                  list.concat(taicpu.op_const_reg(topcg2tasmop[op],S_L,a, reg));
               end;
           OP_DIV :
@@ -434,12 +434,12 @@ Implementation
                          list.concat(taicpu.op_const_reg(A_MULU,S_L,a,reg));
                     end;
               end;
-          OP_SAR,    
+          OP_SAR,
           OP_SHL,
           OP_SHR :
               Begin
                 if (a >= 1) and (a <= 8) then
-                 begin 
+                 begin
                    { now allowed to shift an address register }
                    if (rg.isaddressregister(reg)) then
                      begin
@@ -468,14 +468,14 @@ Implementation
                      end
                    else
                      list.concat(taicpu.op_reg_reg(opcode,S_L,scratch_reg, reg));
-                   cg.free_scratch_reg(list,scratch_reg);  
+                   cg.free_scratch_reg(list,scratch_reg);
                  end;
               end;
           OP_SUB :
               Begin
                 if (a >= 1) and (a <= 8) then
                     list.concat(taicpu.op_const_reg(A_SUBQ,S_L,a,reg))
-                else  
+                else
                   begin
                     { all others, including coldfire }
                     list.concat(taicpu.op_const_reg(A_SUB,S_L,a, reg));
@@ -487,15 +487,15 @@ Implementation
               end;
         else
             internalerror(20020729);
-         end;   
+         end;
       end;
-      
-    procedure tcg68k.a_op_reg_reg(list : taasmoutput; Op: TOpCG; size: TCGSize; reg1, reg2: TRegister); 
+
+    procedure tcg68k.a_op_reg_reg(list : taasmoutput; Op: TOpCG; size: TCGSize; reg1, reg2: TRegister);
       var
        hreg1,hreg2: tregister;
       begin
         case op of
-          OP_ADD : 
+          OP_ADD :
               Begin
                  if aktoptprocessor = ColdFire then
                   begin
@@ -518,10 +518,10 @@ Implementation
                    begin
                      hreg1 := cg.get_scratch_reg_int(list);
                      list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg1,hreg1));
-                   end  
+                   end
                  else
                    hreg1 := reg1;
-                   
+
                  if (rg.isaddressregister(reg2))  then
                    begin
                       hreg2:= cg.get_scratch_reg_int(list);
@@ -529,15 +529,15 @@ Implementation
                    end
                  else
                    hreg2 := reg2;
-                 
+
                  if aktoptprocessor = ColdFire then
                   begin
                     { operation only allowed only a longword }
                     {!***************************************
-                      in the case of shifts, the value to 
+                      in the case of shifts, the value to
                       shift by, should already be valid, so
                       no need to sign extend the value
-                     ! 
+                     !
                     }
                     if op in [OP_AND,OP_OR,OP_SUB,OP_XOR] then
                        sign_extend(list, size, hreg1);
@@ -548,10 +548,10 @@ Implementation
                   begin
                     list.concat(taicpu.op_reg_reg(topcg2tasmop[op],TCGSize2OpSize[size],hreg1, hreg2));
                   end;
-                  
+
                  if reg1 <> hreg1 then
                     cg.free_scratch_reg(list,hreg1);
-                 { move back result into destination register }   
+                 { move back result into destination register }
                  if reg2 <> hreg2 then
                    begin
                       list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
@@ -591,17 +591,17 @@ Implementation
                        hreg2:= cg.get_scratch_reg_int(list)
                      else
                        hreg2 := reg2;
-                 
+
                      if reg1 <> hreg1 then
                           list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg1,hreg1));
                      if reg2 <> hreg2 then
                           list.concat(taicpu.op_reg_reg(A_MOVE,S_L,reg2,hreg2));
-                    
+
                      list.concat(taicpu.op_reg_reg(A_MULS,S_L,reg1,reg2));
-                         
+
                      if reg1 <> hreg1 then
                        cg.free_scratch_reg(list,hreg1);
-                     { move back result into destination register }   
+                     { move back result into destination register }
                      if reg2 <> hreg2 then
                        begin
                           list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
@@ -633,7 +633,7 @@ Implementation
                       end
                      else
                        hreg1 := reg1;
-                       
+
                      if (rg.isaddressregister(reg2))  then
                       begin
                        hreg2:= cg.get_scratch_reg_int(list);
@@ -641,13 +641,13 @@ Implementation
                       end
                      else
                        hreg2 := reg2;
-                 
-                    
+
+
                      list.concat(taicpu.op_reg_reg(A_MULU,S_L,reg1,reg2));
-                         
+
                      if reg1 <> hreg1 then
                        cg.free_scratch_reg(list,hreg1);
-                     { move back result into destination register }   
+                     { move back result into destination register }
                      if reg2 <> hreg2 then
                        begin
                           list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
@@ -660,7 +660,7 @@ Implementation
               Begin
                 if reg1 <> R_NO then
                   internalerror(200112291);
-              
+
                 if (rg.isaddressregister(reg2)) then
                   begin
                      hreg2 := cg.get_scratch_reg_int(list);
@@ -685,15 +685,15 @@ Implementation
                     list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg2,reg2));
                     cg.free_scratch_reg(list,hreg2);
                   end;
-                   
+
               end;
         else
             internalerror(20020729);
-         end;   
+         end;
       end;
-      
-      
-      
+
+
+
     procedure tcg68k.a_cmp_const_reg_label(list : taasmoutput;size : tcgsize;cmp_op : topcmp;a : aword;reg : tregister;
             l : tasmlabel);
       var
@@ -717,7 +717,7 @@ Implementation
                { sign/zero extend the register }
                sign_extend(list, size,hregister);
                list.concat(taicpu.op_const_reg(A_CMPI,S_L,a,hregister));
-               cg.free_scratch_reg(list,hregister);  
+               cg.free_scratch_reg(list,hregister);
              end
            else
              begin
@@ -727,15 +727,15 @@ Implementation
          { emit the actual jump to the label }
          a_jmp_cond(list,cmp_op,l);
       end;
-      
-    procedure tcg68k.a_cmp_reg_reg_label(list : taasmoutput;size : tcgsize;cmp_op : topcmp;reg1,reg2 : tregister;l : tasmlabel); 
+
+    procedure tcg68k.a_cmp_reg_reg_label(list : taasmoutput;size : tcgsize;cmp_op : topcmp;reg1,reg2 : tregister;l : tasmlabel);
       begin
          list.concat(taicpu.op_reg_reg(A_CMP,tcgsize2opsize[size],reg1,reg2));
          { emit the actual jump to the label }
          a_jmp_cond(list,cmp_op,l);
       end;
-      
-    procedure tcg68k.a_jmp_always(list : taasmoutput;l: tasmlabel); 
+
+    procedure tcg68k.a_jmp_always(list : taasmoutput;l: tasmlabel);
       var
        ai: taicpu;
       begin
@@ -743,8 +743,8 @@ Implementation
          ai.is_jmp := true;
          list.concat(ai);
       end;
-      
-    procedure tcg68k.a_jmp_flags(list : taasmoutput;const f : TResFlags;l: tasmlabel); 
+
+    procedure tcg68k.a_jmp_flags(list : taasmoutput;const f : TResFlags;l: tasmlabel);
        var
          ai : taicpu;
        begin
@@ -753,8 +753,8 @@ Implementation
          ai.is_jmp := true;
          list.concat(ai);
        end;
-      
-    procedure tcg68k.g_flags2reg(list: taasmoutput; size: TCgSize; const f: tresflags; reg: TRegister); 
+
+    procedure tcg68k.g_flags2reg(list: taasmoutput; size: TCgSize; const f: tresflags; reg: TRegister);
        var
          ai : taicpu;
          hreg : tregister;
@@ -767,11 +767,11 @@ Implementation
               ai:=Taicpu.Op_reg(A_Sxx,S_B,hreg);
               ai.SetCondition(flags_to_cond(f));
               list.concat(ai);
-              
+
               if (aktoptprocessor = ColdFire) then
                 begin
-                 { neg.b does not exist on the Coldfire 
-                   so we need to sign extend the value 
+                 { neg.b does not exist on the Coldfire
+                   so we need to sign extend the value
                    before doing a neg.l
                  }
                  list.concat(taicpu.op_reg(A_EXTB,S_L,hreg));
@@ -784,17 +784,17 @@ Implementation
              list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hreg,reg));
              free_scratch_reg(list,hreg);
             end
-          else  
+          else
           begin
             a_load_const_reg(list,size,0,reg);
             ai:=Taicpu.Op_reg(A_Sxx,S_B,reg);
             ai.SetCondition(flags_to_cond(f));
             list.concat(ai);
-            
+
             if (aktoptprocessor = ColdFire) then
               begin
-                 { neg.b does not exist on the Coldfire 
-                   so we need to sign extend the value 
+                 { neg.b does not exist on the Coldfire
+                   so we need to sign extend the value
                    before doing a neg.l
                  }
                  list.concat(taicpu.op_reg(A_EXTB,S_L,reg));
@@ -807,7 +807,7 @@ Implementation
           end;
        end;
 
-      
+
 
     procedure tcg68k.g_concatcopy(list : taasmoutput;const source,dest : treference;len : aword;delsource,loadref : boolean);
      var
@@ -827,7 +827,7 @@ Implementation
 
       begin
          popaddress := false;
-         
+
          { this should never occur }
          if len > 65535 then
            internalerror(0);
@@ -943,15 +943,15 @@ Implementation
 
            free_scratch_reg(list,hregister);
     end;
-      
-    procedure tcg68k.g_overflowcheck(list: taasmoutput; const p: tnode); 
+
+    procedure tcg68k.g_overflowcheck(list: taasmoutput; const p: tnode);
       begin
       end;
-      
-    procedure tcg68k.g_copyvaluepara_openarray(list : taasmoutput;const ref:treference;elesize:integer); 
+
+    procedure tcg68k.g_copyvaluepara_openarray(list : taasmoutput;const ref:treference;elesize:integer);
       begin
       end;
-      
+
     procedure tcg68k.g_stackframe_entry(list : taasmoutput;localsize : longint);
       begin
         if localsize<>0 then
@@ -969,12 +969,12 @@ Implementation
              list.concat(taicpu.op_reg_reg(A_MOVE,S_L,stack_pointer_reg,frame_pointer_reg));
            end;
       end;
-      
+
     procedure tcg68k.g_restore_frame_pointer(list : taasmoutput);
       begin
         list.concat(taicpu.op_reg(A_UNLK,S_NO,frame_pointer_reg));
       end;
-      
+
     procedure tcg68k.g_return_from_proc(list : taasmoutput;parasize : aword);
       var
        hregister : tregister;
@@ -1015,16 +1015,16 @@ Implementation
                    list.concat(taicpu.op_const_reg(A_ADDQ,S_L,parasize,R_SP))
                 else { nope ... }
                    list.concat(taicpu.op_const_reg(A_ADD,S_L,parasize,R_SP));
-                    
+
                 { restore the PC counter (push it on the stack)       }
                 list.concat(taicpu.op_reg_reg(A_MOVE,S_L,hregister,R_SPPUSH));
                 list.concat(taicpu.op_none(A_RTS,S_NO));
                 free_scratch_reg(list,hregister);
                end;
            end;
-      
+
       end;
-      
+
     procedure tcg68k.g_save_standard_registers(list : taasmoutput; usedinproc : tregisterset);
       var
         tosave : tregisterlist;
@@ -1035,7 +1035,7 @@ Implementation
          if tosave<>[] then
            list.concat(taicpu.op_reglist_reg(A_MOVEM,S_L,tosave,R_SPPUSH));
       end;
-      
+
     procedure tcg68k.g_restore_standard_registers(list : taasmoutput; usedinproc : tregisterset);
       var
        torestore : tregisterset;
@@ -1046,15 +1046,15 @@ Implementation
          if torestore<>[] then
            list.concat(taicpu.op_reg_reglist(A_MOVEM,S_L,R_SPPULL,torestore));
       end;
-      
+
     procedure tcg68k.g_save_all_registers(list : taasmoutput);
       begin
       end;
-      
+
     procedure tcg68k.g_restore_all_registers(list : taasmoutput;selfused,accused,acchiused:boolean);
       begin
       end;
-      
+
     procedure tcg68k.sign_extend(list: taasmoutput;_oldsize : tcgsize; reg: tregister);
       begin
         case _oldsize of
@@ -1122,7 +1122,7 @@ Implementation
   begin
     opcode := topcg2tasmop[op];
     case op of
-      OP_ADD :  
+      OP_ADD :
          begin
             { if one of these three registers is an address
               register, we'll really get into problems!
@@ -1147,8 +1147,8 @@ Implementation
             cg.a_op_reg_reg(list,op,OS_32,regsrc.reghi,regdst.reghi);
           end;
       { this is handled in 1st pass for 32-bit cpu's (helper call) }
-      OP_IDIV,OP_DIV, 
-      OP_IMUL,OP_MUL: internalerror(2002081701); 
+      OP_IDIV,OP_DIV,
+      OP_IMUL,OP_MUL: internalerror(2002081701);
       { this is also handled in 1st pass for 32-bit cpu's (helper call) }
       OP_SAR,OP_SHL,OP_SHR: internalerror(2002081702);
       OP_SUB:
@@ -1175,8 +1175,8 @@ Implementation
         end;
     end; { end case }
   end;
-  
-  
+
+
  procedure tcg64f68k.a_op64_const_reg(list : taasmoutput;op:TOpCG;value : qword;reg : tregister64);
   var
    lowvalue : cardinal;
@@ -1185,16 +1185,16 @@ Implementation
     { is it optimized out ? }
     if optimize64_op_const_reg(list,op,value,reg) then
        exit;
-    
+
     lowvalue := cardinal(value);
     highvalue:= value shr 32;
-    
+
    { the destination registers must be data registers }
    if  rg.isaddressregister(reg.reglo) or
        rg.isaddressregister(reg.reghi) then
          internalerror(20020817);
-   case op of      
-      OP_ADD :  
+   case op of
+      OP_ADD :
          begin
             list.concat(taicpu.op_const_reg(A_ADD,S_L,lowvalue,reg.reglo));
             list.concat(taicpu.op_const_reg(A_ADDX,S_L,highvalue,reg.reglo));
@@ -1210,8 +1210,8 @@ Implementation
             internalerror(2002081802);
           end;
       { this is handled in 1st pass for 32-bit cpu's (helper call) }
-      OP_IDIV,OP_DIV, 
-      OP_IMUL,OP_MUL: internalerror(2002081701); 
+      OP_IDIV,OP_DIV,
+      OP_IMUL,OP_MUL: internalerror(2002081701);
       { this is also handled in 1st pass for 32-bit cpu's (helper call) }
       OP_SAR,OP_SHL,OP_SHR: internalerror(2002081702);
       OP_SUB:
@@ -1224,17 +1224,20 @@ Implementation
             list.concat(taicpu.op_const_reg(A_EOR,S_L,lowvalue,reg.reglo));
             list.concat(taicpu.op_const_reg(A_EOR,S_L,highvalue,reg.reglo));
         end;
-    end; { end case }    
+    end; { end case }
   end;
-  
+
 begin
   cg := tcg68k.create;
   cg64 :=tcg64f68k.create;
 end.
 
-{ 
+{
   $Log$
-  Revision 1.5  2002-08-19 18:17:48  carl
+  Revision 1.6  2002-09-07 15:25:12  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.5  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
 
@@ -1273,6 +1276,6 @@ end.
   Revision 1.1  2002/07/29 17:51:32  carl
     + restart m68k support
 
-}  
-          
+}
+
 

+ 3 - 9
compiler/m68k/cpuasm.pas

@@ -27,13 +27,7 @@ unit cpuasm;
 end.
 {
   $Log$
-  Revision 1.1  2000-07-13 06:30:05  michael
-  + Initial import
+  Revision 1.2  2002-09-07 15:25:13  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.2  2000/01/07 01:14:50  peter
-    * updated copyright to 2000
-
-  Revision 1.1  1999/09/16 23:05:57  florian
-    * m68k compiler is again compilable (only gas writer, no assembler reader)
-
-}
+}

+ 10 - 7
compiler/m68k/cpuinfo.pas

@@ -36,16 +36,16 @@ Type
    ts64real = double;
    ts80real = extended;
    ts64comp = extended;
-   
+
    pbestreal=^bestreal;
-   
+
    { possible supported processors for this target }
-   tprocessors = 
+   tprocessors =
       (no_processor,
        MC68000,
        MC68020,
        Coldfire
-      ); 
+      );
 
 Const
    {# Size of native extended floating point type }
@@ -54,9 +54,9 @@ Const
    pointer_size  = 4;
    {# Size of a multimedia register               }
    mmreg_size = 16;
-   { size of the buffer used for setjump/longjmp  
+   { size of the buffer used for setjump/longjmp
      the size of this buffer is deduced from the
-     jmp_buf structure in setjumph.inc file 
+     jmp_buf structure in setjumph.inc file
    }
    jmp_buf_size = 28;
    { target cpu string (used by compiler options) }
@@ -67,7 +67,10 @@ Implementation
 end.
 {
   $Log$
-  Revision 1.3  2002-08-15 15:15:55  carl
+  Revision 1.4  2002-09-07 15:25:13  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.3  2002/08/15 15:15:55  carl
     * jmpbuf size allocation for exceptions is now cpu specific (as it should)
     * more generic nodes for maths
     * several fixes for better m68k support

+ 8 - 5
compiler/m68k/n68kcnv.pas

@@ -61,7 +61,7 @@ implementation
       begin
         { In case we are in emulation mode, we must
           always call the helpers
-        }  
+        }
         if (cs_fp_emulation in aktmoduleswitches) then
           begin
             result := inherited first_int_to_real;
@@ -87,8 +87,8 @@ implementation
             if is_signed(left.resulttype.def) then
               inserttypeconv(left,s32bittype)
             else
-              { the fpu always considers 32-bit values as signed 
-                therefore we need to call the helper in case of 
+              { the fpu always considers 32-bit values as signed
+                therefore we need to call the helper in case of
                 a cardinal value.
               }
               begin
@@ -134,7 +134,7 @@ implementation
         { has to be handled by a helper }
         if not signed then
            internalerror(20020814);
-          
+
         location.register := rg.getregisterfpu(exprasmlist);
         case left.location.loc of
           LOC_REGISTER, LOC_CREGISTER:
@@ -292,7 +292,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.2  2002-08-14 19:31:26  carl
+  Revision 1.3  2002-09-07 15:25:13  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.2  2002/08/14 19:31:26  carl
     * fix small compilation problem
 
   Revision 1.1  2002/08/14 19:16:34  carl

+ 5 - 2
compiler/m68k/n68kmat.pas

@@ -35,7 +35,7 @@ interface
       tm68knotnode = class(tnotnode)
          procedure pass_2;override;
       end;
-      
+
 
 implementation
 
@@ -128,7 +128,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.3  2002-08-15 15:15:55  carl
+  Revision 1.4  2002-09-07 15:25:13  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.3  2002/08/15 15:15:55  carl
     * jmpbuf size allocation for exceptions is now cpu specific (as it should)
     * more generic nodes for maths
     * several fixes for better m68k support

+ 6 - 3
compiler/m68k/radirect.pas

@@ -33,8 +33,8 @@ interface
      function assemble : tnode;
 
   implementation
-  
-  uses 
+
+  uses
     verbose;
 
 
@@ -52,7 +52,10 @@ interface
 end.
 {
   $Log$
-  Revision 1.1  2002-08-13 18:01:52  carl
+  Revision 1.2  2002-09-07 15:25:13  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.1  2002/08/13 18:01:52  carl
     * rename swatoperands to swapoperands
     + m68k first compilable version (still needs a lot of testing):
         assembler generator, system information , inline

+ 14 - 63
compiler/m68k/rasm.pas

@@ -1229,8 +1229,8 @@ type
     Until false;
   end;
 
-  
-  
+
+
   Procedure TM68kOperand.BuildReference;
   {*********************************************************************}
   { PROCEDURE BuildBracketExpression                                    }
@@ -1349,7 +1349,7 @@ type
        end;
      end; { end case }
   end;
-  
+
 
 
 
@@ -1411,7 +1411,7 @@ type
               Begin
                  if actasmpattern = '@RESULT' then
                     SetUpResult
-                 else 
+                 else
                  if actasmpattern = 'SELF' then
                     SetUpSelf
                  else
@@ -1471,7 +1471,7 @@ type
                         end
                        else
                           Message1(sym_e_unknown_id,actasmpattern);
-                   end;       
+                   end;
                    expr := actasmpattern;
                    Consume(AS_ID);
                    case actasmtoken of
@@ -1863,17 +1863,17 @@ type
           p.concat((taicpu.op_none(opcode,S_NO)));
      1: Begin
           case operands[1].opr.typ of
-           OPR_SYMBOL: 
+           OPR_SYMBOL:
               Begin
                 p.concat((taicpu.op_sym_ofs(opcode,
                   opsize, operands[1].opr.symbol,operands[1].opr.symofs)));
               end;
-           OPR_CONSTANT: 
+           OPR_CONSTANT:
               Begin
                 p.concat((taicpu.op_const(opcode,
                   opsize, operands[1].opr.val)));
               end;
-           OPR_REGISTER:  
+           OPR_REGISTER:
               p.concat((taicpu.op_reg(opcode,opsize,operands[1].opr.reg)));
            OPR_REFERENCE:
               if opsize <> S_NO then
@@ -1893,7 +1893,7 @@ type
                   else
                     Message(asmr_e_invalid_opcode_and_operand);
                 end;
-           OPR_NONE: 
+           OPR_NONE:
                 Message(asmr_e_invalid_opcode_and_operand);
           else
            Begin
@@ -2177,7 +2177,7 @@ type
                     else
                       instr.ConcatInstruction(curlist);
                     instr.Free;
-{        
+{
                    instr.init;
                    BuildOpcode;
                    instr.ops := operandnum;
@@ -2225,7 +2225,10 @@ Begin
 end.
 {
   $Log$
-  Revision 1.7  2002-09-03 19:04:18  daniel
+  Revision 1.8  2002-09-07 15:25:13  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.7  2002/09/03 19:04:18  daniel
     * Fixed PowerPC & M68000 compilation
 
   Revision 1.6  2002/08/13 18:58:54  carl
@@ -2253,57 +2256,5 @@ end.
   Revision 1.1  2002/08/06 15:15:42  carl
     + more m68k fixes
 
-  Revision 1.1.2.7  2001/08/09 11:41:08  pierre
-   + add more errors
-
-  Revision 1.1.2.6  2001/08/08 12:21:49  pierre
-   * generate correct labeled instruction for DBRA
-   * improoved checking of operands
-   + support for OPR_SYMBOL in generic instructions like MOVE
-   + support for labels in constants like movel #datalabel + const,d0
-
-  Revision 1.1.2.5  2001/08/07 15:55:33  pierre
-   + new code for NetBSD, behaves like FreeBSD for now
-
-  Revision 1.1.2.4  2001/08/01 10:58:50  pierre
-   * avoid warning about supposed external in asm label is already known
-
-  Revision 1.1.2.3  2001/07/24 23:41:32  pierre
-   * firstreg and lastreg renamed firstasmreg and lastasmreg to aviod confusions
-
-  Revision 1.1.2.2  2001/04/24 11:58:37  carl
-  * correction of DBRA problems
-
-  Revision 1.1.2.1  2001/03/04 02:19:54  carl
-  - renamefest!
-
-  Revision 1.1.2.1  2001/02/25 01:32:56  carl
-  - imported from mian directory
-
-  Revision 1.1.2.2  2001/02/23 11:20:40  pierre
-   * fix an update problem
-
-  Revision 1.1.2.1  2001/02/23 10:05:19  pierre
-   * first bunch of m68k cpu updates
-
-  Revision 1.1  2000/07/13 06:29:56  michael
-  + Initial import
-
-  Revision 1.13  2000/02/09 13:23:02  peter
-    * log truncated
-
-  Revision 1.12  2000/01/07 01:14:37  peter
-    * updated copyright to 2000
-
-  Revision 1.11  1999/11/10 00:06:08  pierre
-   * adapted to procinfo as pointer
-
-  Revision 1.10  1999/11/09 23:06:46  peter
-    * esi_offset -> selfpointer_offset to be newcg compatible
-    * hcogegen -> cgbase fixes for newcg
-
-  Revision 1.9  1999/09/16 23:05:56  florian
-    * m68k compiler is again compilable (only gas writer, no assembler reader)
-
 }
 

+ 15 - 12
compiler/m68k/rgcpu.pas

@@ -46,7 +46,7 @@ unit rgcpu;
              const saved : tpushedsaved);override;
           procedure saveusedregisters(list: taasmoutput;
         var saved : tpushedsaved; const s: tregisterset);override;
-             
+
        end;
 
   implementation
@@ -59,21 +59,21 @@ unit rgcpu;
          ungetregistergen(list,r,usableregsaddr,unusedregsaddr,
            countunusedregsaddr);
        end;
-       
-       
-     function trgcpu.getaddressregister(list: taasmoutput): tregister; 
+
+
+     function trgcpu.getaddressregister(list: taasmoutput): tregister;
        begin
          result := getregistergen(list,firstsaveaddrreg,lastsaveaddrreg,
                    unusedregsaddr,countunusedregsaddr);
        end;
-       
+
 
      function trgcpu.isaddressregister(reg: tregister): boolean;
        begin
          isaddressregister := reg in addrregs;
        end;
-       
-       
+
+
     procedure trgcpu.resetusableregisters;
 
       begin
@@ -82,8 +82,8 @@ unit rgcpu;
         countusableregsaddr := cpubase.c_countusableregsaddr;
         usableregsaddr := cpubase.usableregsaddr;
       end;
-       
-       
+
+
     procedure trgcpu.restoreusedregisters(list : taasmoutput;
         const saved : tpushedsaved);
       var
@@ -141,9 +141,9 @@ unit rgcpu;
                 inc(countunusedregsint);
               end;
           end;
-        
+
       end;
-         
+
 
 initialization
   rg := trgcpu.create;
@@ -151,7 +151,10 @@ end.
 
 {
   $Log$
-  Revision 1.3  2002-08-23 16:14:50  peter
+  Revision 1.4  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.3  2002/08/23 16:14:50  peter
     * tempgen cleanup
     * tt_noreuse temp type added that will be used in genentrycode
 

+ 13 - 13
compiler/nadd.pas

@@ -50,7 +50,7 @@ interface
             where the emulation switches is on. Otherwise
             returns nil, and everything must be done in
             the code generation phase.
-          }  
+          }
           function first_addfloat : tnode; virtual;
        end;
        taddnodeclass = class of taddnode;
@@ -1422,8 +1422,8 @@ implementation
         right := nil;
         firstpass(result);
       end;
-      
-      
+
+
     function taddnode.first_addfloat: tnode;
       var
         procname: string[31];
@@ -1436,11 +1436,11 @@ implementation
         notnode := false;
         { In non-emulation mode, real opcodes are
           emitted for floating point values.
-        }  
+        }
         if not (cs_fp_emulation in aktmoduleswitches) then
           exit;
-          
-        procname := 'FPC_REAL_';  
+
+        procname := 'FPC_REAL_';
         case nodetype of
           addn : procname := procname + 'ADD';
           muln : procname := procname + 'MUL';
@@ -1448,7 +1448,7 @@ implementation
           slashn : procname := procname + 'DIV';
           ltn : procname := procname + 'LESS_THAN';
           lten: procname := procname + 'LESS_EQUAL_THAN';
-          gtn: 
+          gtn:
             begin
              procname := procname + 'LESS_EQUAL_THAN';
              notnode := true;
@@ -1459,7 +1459,7 @@ implementation
               notnode := true;
             end;
           equaln: procname := procname + 'EQUAL';
-          unequaln : 
+          unequaln :
             begin
               procname := procname + 'EQUAL';
               notnode := true;
@@ -1478,7 +1478,7 @@ implementation
         right := nil;
         firstpass(result);
       end;
-      
+
 
     function taddnode.pass_1 : tnode;
       var
@@ -1814,7 +1814,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.64  2002-09-07 12:16:05  carl
+  Revision 1.65  2002-09-07 15:25:02  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.64  2002/09/07 12:16:05  carl
     * second part bug report 1996 fix, testrange in cordconstnode
       only called if option is set (also make parsing a tiny faster)
 
@@ -1927,7 +1930,4 @@ end.
       with string operations
     * adapted some routines to use the new cg methods
 
-  Revision 1.43  2002/03/30 23:12:09  carl
-  * avoid crash with procinfo ('merged')
-
 }

+ 4 - 112
compiler/ncal.pas

@@ -2595,7 +2595,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.97  2002-09-07 12:16:05  carl
+  Revision 1.98  2002-09-07 15:25:02  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.97  2002/09/07 12:16:05  carl
     * second part bug report 1996 fix, testrange in cordconstnode
       only called if option is set (also make parsing a tiny faster)
 
@@ -2685,115 +2688,4 @@ end.
   Revision 1.78  2002/07/04 20:43:00  florian
     * first x86-64 patches
 
-  Revision 1.77  2002/07/01 16:23:52  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.76  2002/05/18 13:34:09  peter
-    * readded missing revisions
-
-  Revision 1.75  2002/05/16 19:46:37  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.73  2002/05/12 16:53:06  peter
-    * moved entry and exitcode to ncgutil and cgobj
-    * foreach gets extra argument for passing local data to the
-      iterator function
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.72  2002/04/25 20:16:38  peter
-    * moved more routines from cga/n386util
-
-  Revision 1.71  2002/04/20 21:32:23  carl
-  + generic FPC_CHECKPOINTER
-  + first parameter offset in stack now portable
-  * rename some constants
-  + move some cpu stuff to other units
-  - remove unused constents
-  * fix stacksize for some targets
-  * fix generic size problems which depend now on EXTEND_SIZE constant
-
-  Revision 1.70  2002/04/16 16:09:08  peter
-    * allow passing the address of a procedure to a formal parameter
-      in delphi mode
-
-  Revision 1.69  2002/04/15 19:44:19  peter
-    * fixed stackcheck that would be called recursively when a stack
-      error was found
-    * generic changeregsize(reg,size) for i386 register resizing
-    * removed some more routines from cga unit
-    * fixed returnvalue handling
-    * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
-
-  Revision 1.68  2002/04/15 18:57:22  carl
-  + target_info.size_of_pointer -> POINTER_SIZE
-
-  Revision 1.67  2002/04/02 17:11:28  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.66  2002/03/31 20:26:33  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.65  2002/03/30 23:02:42  carl
-  * avoid crash with inline routines
-
-  Revision 1.64  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
-
-  Revision 1.63  2002/01/24 12:33:52  jonas
-    * adapted ranges of native types to int64 (e.g. high cardinal is no
-      longer longint($ffffffff), but just $fffffff in psystem)
-    * small additional fix in 64bit rangecheck code generation for 32 bit
-      processors
-    * adaption of ranges required the matching talgorithm used for selecting
-      which overloaded procedure to call to be adapted. It should now always
-      select the closest match for ordinal parameters.
-    + inttostr(qword) in sysstr.inc/sysstrh.inc
-    + abs(int64), sqr(int64), sqr(qword) in systemh.inc/generic.inc (previous
-      fixes were required to be able to add them)
-    * is_in_limit() moved from ncal to types unit, should always be used
-      instead of direct comparisons of low/high values of orddefs because
-      qword is a special case
-
-  Revision 1.62  2002/01/19 11:57:05  peter
-    * fixed path appending for lib
-
 }

+ 4 - 3
compiler/ncgcal.pas

@@ -1483,7 +1483,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.21  2002-09-07 11:50:02  jonas
+  Revision 1.22  2002-09-07 15:25:02  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.21  2002/09/07 11:50:02  jonas
     * fixed small regalloction info bug
 
   Revision 1.20  2002/09/02 11:25:20  florian
@@ -1575,6 +1578,4 @@ end.
   Revision 1.2  2002/07/13 19:38:43  florian
     * some more generic calling stuff fixed
 
-  Revision 1.1  2002/07/11 14:41:28  florian
-    * start of the new generic parameter handling
 }

+ 4 - 36
compiler/ncgcnv.pas

@@ -496,7 +496,10 @@ end.
 
 {
   $Log$
-  Revision 1.29  2002-09-02 18:46:00  peter
+  Revision 1.30  2002-09-07 15:25:02  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.29  2002/09/02 18:46:00  peter
     * reuse a reference when resizing ordinal values to smaller sizes,
       this is required for constructions like byte(w):=1 that are
       allowed in tp mode only
@@ -604,39 +607,4 @@ end.
     * fixed returnvalue handling
     * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
 
-  Revision 1.8  2002/04/06 18:10:42  jonas
-    * several powerpc-related additions and fixes
-
-  Revision 1.7  2002/04/04 19:05:57  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.6  2002/04/02 17:11:28  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.5  2002/03/31 20:26:34  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
 }

+ 4 - 91
compiler/ncgflw.pas

@@ -1238,7 +1238,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.41  2002-09-01 18:47:00  peter
+  Revision 1.42  2002-09-07 15:25:02  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.41  2002/09/01 18:47:00  peter
     * assignn check in exitnode changed to use a separate boolean as the
       assignn can be changed to a calln
 
@@ -1331,94 +1334,4 @@ end.
   Revision 1.22  2002/07/04 20:43:01  florian
     * first x86-64 patches
 
-  Revision 1.21  2002/07/01 18:46:22  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.20  2002/07/01 16:23:53  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.19  2002/05/20 13:30:40  carl
-  * bugfix of hdisponen (base must be set, not index)
-  * more portability fixes
-
-  Revision 1.18  2002/05/18 13:34:09  peter
-    * readded missing revisions
-
-  Revision 1.17  2002/05/16 19:46:37  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.15  2002/05/13 19:54:37  peter
-    * removed n386ld and n386util units
-    * maybe_save/maybe_restore added instead of the old maybe_push
-
-  Revision 1.14  2002/05/12 16:53:07  peter
-    * moved entry and exitcode to ncgutil and cgobj
-    * foreach gets extra argument for passing local data to the
-      iterator function
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.13  2002/04/21 15:24:38  carl
-  + a_jmp_cond -> a_jmp_always (a_jmp_cond is NOT portable)
-  + changeregsize -> rg.makeregsize
-
-  Revision 1.12  2002/04/15 19:44:19  peter
-    * fixed stackcheck that would be called recursively when a stack
-      error was found
-    * generic changeregsize(reg,size) for i386 register resizing
-    * removed some more routines from cga unit
-    * fixed returnvalue handling
-    * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
-
-  Revision 1.11  2002/04/04 19:05:57  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.10  2002/04/02 17:11:28  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.9  2002/03/31 20:26:34  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.8  2002/03/04 19:10:11  peter
-    * removed compiler warnings
-
 }

+ 4 - 46
compiler/ncgld.pas

@@ -946,7 +946,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.28  2002-09-01 19:26:32  peter
+  Revision 1.29  2002-09-07 15:25:03  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.28  2002/09/01 19:26:32  peter
     * fixed register variable loading from parasymtable, the call by
       reference code was moved wrong
 
@@ -1031,49 +1034,4 @@ end.
   * bugfix of hdisponen (base must be set, not index)
   * more portability fixes
 
-  Revision 1.8  2002/05/18 13:34:09  peter
-    * readded missing revisions
-
-  Revision 1.7  2002/05/18 11:17:03  peter
-    * fixed internalerror due to releasing an not initialized register
-
-  Revision 1.6  2002/05/16 19:46:37  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.5  2002/05/14 19:34:42  peter
-    * removed old logs and updated copyright year
-
-  Revision 1.4  2002/05/13 19:54:37  peter
-    * removed n386ld and n386util units
-    * maybe_save/maybe_restore added instead of the old maybe_push
-
-  Revision 1.3  2002/05/12 16:53:07  peter
-    * moved entry and exitcode to ncgutil and cgobj
-    * foreach gets extra argument for passing local data to the
-      iterator function
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.2  2002/04/21 15:24:38  carl
-  + a_jmp_cond -> a_jmp_always (a_jmp_cond is NOT portable)
-  + changeregsize -> rg.makeregsize
-
-  Revision 1.1  2002/04/19 15:39:34  peter
-    * removed some more routines from cga
-    * moved location_force_reg/mem to ncgutil
-    * moved arrayconstructnode secondpass to ncgld
-
 }

+ 4 - 29
compiler/ncgmem.pas

@@ -864,7 +864,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.26  2002-09-01 18:46:01  peter
+  Revision 1.27  2002-09-07 15:25:03  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.26  2002/09/01 18:46:01  peter
     * fixed generic tcgvecnode
     * move code that updates a reference with index register and multiplier
       to separate method so it can be overriden for scaled indexing
@@ -968,32 +971,4 @@ end.
     * removed unused units
     * use tlocation.size in cg.a_*loc*() routines
 
-  Revision 1.5  2002/04/02 17:11:28  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.4  2002/03/31 20:26:34  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
 }

+ 4 - 135
compiler/ncgutil.pas

@@ -1792,7 +1792,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.47  2002-09-02 18:44:48  peter
+  Revision 1.48  2002-09-07 15:25:03  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.47  2002/09/02 18:44:48  peter
     * fixed (not) pushing of empty parameters
     * fixed implicit initialization/finalization generation
     * fixed/optimized local copy of value arguments init/final
@@ -1888,138 +1891,4 @@ end.
     * more fixes for the ppc
     + wrappers for the tcnvnode.first_* stuff introduced
 
-  Revision 1.27  2002/07/28 15:59:57  jonas
-    * fixed bug in location_force_reg32() when converting smaller values to
-      64 bit locations
-    * use cg.op_const_reg_reg() instead of a move and then cg.op_const_reg()
-      in location_force_reg32()
-
-  Revision 1.26  2002/07/27 19:53:51  jonas
-    + generic implementation of tcg.g_flags2ref()
-    * tcg.flags2xxx() now also needs a size parameter
-
-  Revision 1.25  2002/07/26 21:15:38  florian
-    * rewrote the system handling
-
-  Revision 1.24  2002/07/25 17:58:24  carl
-    + FPURESULTREG -> FPU_RESULT_REG
-
-  Revision 1.23  2002/07/20 11:57:54  florian
-    * types.pas renamed to defbase.pas because D6 contains a types
-      unit so this would conflicts if D6 programms are compiled
-    + Willamette/SSE2 instructions to assembler added
-
-  Revision 1.22  2002/07/11 14:41:28  florian
-    * start of the new generic parameter handling
-
-  Revision 1.21  2002/07/11 07:33:25  jonas
-    * big-endian fixes for location_force_reg*()
-
-  Revision 1.20  2002/07/07 09:52:32  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
-  Revision 1.19  2002/07/01 18:46:23  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.18  2002/07/01 16:23:53  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.17  2002/05/20 13:30:40  carl
-  * bugfix of hdisponen (base must be set, not index)
-  * more portability fixes
-
-  Revision 1.16  2002/05/18 13:34:09  peter
-    * readded missing revisions
-
-  Revision 1.15  2002/05/16 19:46:37  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.13  2002/05/13 19:54:37  peter
-    * removed n386ld and n386util units
-    * maybe_save/maybe_restore added instead of the old maybe_push
-
-  Revision 1.12  2002/05/12 19:58:36  carl
-  * some small portability fixes
-
-  Revision 1.11  2002/05/12 16:53:07  peter
-    * moved entry and exitcode to ncgutil and cgobj
-    * foreach gets extra argument for passing local data to the
-      iterator function
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.10  2002/04/21 19:02:03  peter
-    * removed newn and disposen nodes, the code is now directly
-      inlined from pexpr
-    * -an option that will write the secondpass nodes to the .s file, this
-      requires EXTDEBUG define to actually write the info
-    * fixed various internal errors and crashes due recent code changes
-
-  Revision 1.9  2002/04/21 15:24:38  carl
-  + a_jmp_cond -> a_jmp_always (a_jmp_cond is NOT portable)
-  + changeregsize -> rg.makeregsize
-
-  Revision 1.8  2002/04/19 15:39:34  peter
-    * removed some more routines from cga
-    * moved location_force_reg/mem to ncgutil
-    * moved arrayconstructnode secondpass to ncgld
-
-  Revision 1.7  2002/04/15 18:58:47  carl
-  + target_info.size_of_pointer -> pointer_Size
-
-  Revision 1.6  2002/04/06 18:10:42  jonas
-    * several powerpc-related additions and fixes
-
-  Revision 1.5  2002/04/04 19:05:57  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.4  2002/04/02 17:11:28  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.3  2002/03/31 20:26:34  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.2  2002/03/04 19:10:11  peter
-    * removed compiler warnings
-
 }

+ 4 - 60
compiler/ncnv.pas

@@ -2037,7 +2037,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.78  2002-09-07 12:16:04  carl
+  Revision 1.79  2002-09-07 15:25:03  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.78  2002/09/07 12:16:04  carl
     * second part bug report 1996 fix, testrange in cordconstnode
       only called if option is set (also make parsing a tiny faster)
 
@@ -2118,63 +2121,4 @@ end.
   Revision 1.58  2002/05/18 13:34:09  peter
     * readded missing revisions
 
-  Revision 1.57  2002/05/16 19:46:37  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.55  2002/05/12 16:53:07  peter
-    * moved entry and exitcode to ncgutil and cgobj
-    * foreach gets extra argument for passing local data to the
-      iterator function
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.54  2002/04/25 20:16:38  peter
-    * moved more routines from cga/n386util
-
-  Revision 1.53  2002/04/23 19:16:34  peter
-    * add pinline unit that inserts compiler supported functions using
-      one or more statements
-    * moved finalize and setlength from ninl to pinline
-
-  Revision 1.52  2002/04/21 19:02:03  peter
-    * removed newn and disposen nodes, the code is now directly
-      inlined from pexpr
-    * -an option that will write the secondpass nodes to the .s file, this
-      requires EXTDEBUG define to actually write the info
-    * fixed various internal errors and crashes due recent code changes
-
-  Revision 1.51  2002/04/06 18:10:42  jonas
-    * several powerpc-related additions and fixes
-
-  Revision 1.50  2002/04/04 19:05:58  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.49  2002/04/02 17:11:28  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.48  2002/02/03 09:30:03  peter
-    * more fixes for protected handling
-
 }

+ 8 - 5
compiler/ncon.pas

@@ -52,10 +52,10 @@ interface
           restype : ttype;
           value : TConstExprInt;
           rangecheck : boolean;
-          { create an ordinal constant node of the specified type and value. 
+          { create an ordinal constant node of the specified type and value.
             _rangecheck determines if the value of the ordinal should be checked
             against the ranges of the type definition.
-          }  
+          }
           constructor create(v : tconstexprint;const t:ttype; _rangecheck : boolean);virtual;
           constructor ppuload(t:tnodetype;ppufile:tcompilerppufile);override;
           procedure ppuwrite(ppufile:tcompilerppufile);override;
@@ -430,9 +430,9 @@ implementation
         inherited ppuload(t,ppufile);
         ppufile.gettype(restype);
         value:=ppufile.getexprint;
-        { normally, the value is already compiled, so we don't need 
+        { normally, the value is already compiled, so we don't need
           to do once again a range check
-        }  
+        }
         rangecheck := false;
       end;
 
@@ -924,7 +924,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.41  2002-09-07 12:16:04  carl
+  Revision 1.42  2002-09-07 15:25:03  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.41  2002/09/07 12:16:04  carl
     * second part bug report 1996 fix, testrange in cordconstnode
       only called if option is set (also make parsing a tiny faster)
 

+ 2 - 14
compiler/new/README

@@ -320,18 +320,6 @@ CVS Log
 -------
 
 $Log$
-Revision 1.2  2000-11-30 22:16:51  florian
-  * moved to i386
-
-Revision 1.1  2000/07/13 06:30:07  michael
-+ Initial import
-
-Revision 1.6  2000/03/02 03:22:16  carl
-  + More information and suggestions
-
-Revision 1.5  2000/03/01 15:36:12  florian
-  * some new stuff for the new cg
-
-Revision 1.4  1999/10/14 14:57:54  florian
-  - removed the hcodegen use in the new cg, use cgbase instead
+Revision 1.3  2002-09-07 15:25:14  peter
+  * old logs removed and tabs fixed
 

+ 2 - 14
compiler/new/agatt.pas

@@ -620,19 +620,7 @@ unit agatt;
 end.
 {
  $Log$
- Revision 1.1  2000-07-13 06:30:07  michael
- + Initial import
-
- Revision 1.4  2000/05/01 11:03:32  jonas
-   * some fixes, does not yet compile
-
- Revision 1.3  2000/01/07 01:14:50  peter
-   * updated copyright to 2000
-
- Revision 1.2  1999/09/03 13:08:36  jonas
-   * defined some necessary virtual helper methods
-
- Revision 1.1  1999/08/03 13:48:50  michael
- + Initial implementation
+ Revision 1.2  2002-09-07 15:25:14  peter
+   * old logs removed and tabs fixed
 
 }

+ 3 - 28
compiler/new/aopt.pas

@@ -241,32 +241,7 @@ End.
 
 {
  $Log$
- Revision 1.1  2000-07-13 06:30:07  michael
- + Initial import
+ Revision 1.2  2002-09-07 15:25:14  peter
+   * old logs removed and tabs fixed
 
- Revision 1.5  2000/01/07 01:14:51  peter
-   * updated copyright to 2000
-
- Revision 1.4  1999/11/09 22:57:08  peter
-   * compiles again both i386,alpha both with optimizer
-
- Revision 1.3  1999/08/18 14:32:20  jonas
-   + compilable!
-   + dataflow analyzer finished
-   + start of CSE units
-   + aoptbase which contains a base object for all optimizer objects
-   * some constants and type definitions moved around to avoid circular
-     dependencies
-   * moved some methods from base objects to specialized objects because
-     they're not used anywhere else
-
- Revision 1.2  1999/08/09 14:07:22  jonas
- commit.msg
-
- Revision 1.1  1999/08/08 13:24:50  jonas
-   + added copyright header/GNU license info
-   * made the assembler optimizer almost completely OOP
-   * some code style clean up and extra comments
-   * moved from the new/aopt to the /new and /new/i386 dirs
-
-}
+}

+ 3 - 25
compiler/new/aoptbase.pas

@@ -263,29 +263,7 @@ End.
 
 {
   $Log$
-  Revision 1.1  2000-07-13 06:30:07  michael
-  + Initial import
+  Revision 1.2  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.5  2000/01/07 01:14:51  peter
-    * updated copyright to 2000
-
-  Revision 1.4  1999/11/09 22:57:08  peter
-    * compiles again both i386,alpha both with optimizer
-
-  Revision 1.3  1999/09/08 15:01:31  jonas
-    * some small changes so the noew optimizer is again compilable
-
-  Revision 1.2  1999/08/23 14:41:12  jonas
-    + checksequence (processor independent)\n  + processor independent part of docse
-
-  Revision 1.1  1999/08/18 14:32:21  jonas
-    + compilable!
-    + dataflow analyzer finished
-    + start of CSE units
-    + aoptbase which contains a base object for all optimizer objects
-    * some constants and type definitions moved around to avoid circular
-      dependencies
-    * moved some methods from base objects to specialized objects because
-      they're not used anywhere else
-
-}
+}

+ 4 - 29
compiler/new/aoptcs.pas

@@ -850,32 +850,7 @@ End.
 
 {
   $Log$
-  Revision 1.1  2000-07-13 06:30:07  michael
-  + Initial import
-
-  Revision 1.5  2000/02/28 17:23:58  daniel
-  * Current work of symtable integration committed. The symtable can be
-    activated by defining 'newst', but doesn't compile yet. Changes in type
-    checking and oop are completed. What is left is to write a new
-    symtablestack and adapt the parser to use it.
-
-  Revision 1.4  2000/01/07 01:14:51  peter
-    * updated copyright to 2000
-
-  Revision 1.3  1999/08/25 12:00:10  jonas
-    * changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu)
-
-  Revision 1.2  1999/08/23 14:41:13  jonas
-    + checksequence (processor independent)\n  + processor independent part of docse
-
-  Revision 1.1  1999/08/18 14:32:21  jonas
-    + compilable!
-    + dataflow analyzer finished
-    + start of CSE units
-    + aoptbase which contains a base object for all optimizer objects
-    * some constants and type definitions moved around to avoid circular
-      dependencies
-    * moved some methods from base objects to specialized objects because
-      they're not used anywhere else
-
-}
+  Revision 1.2  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
+
+}

+ 4 - 20
compiler/new/aoptda.pas

@@ -177,23 +177,7 @@ End.
 
 {
   $Log$
-  Revision 1.1  2000-07-13 06:30:07  michael
-  + Initial import
-
-  Revision 1.6  2000/01/07 01:14:52  peter
-    * updated copyright to 2000
-
-  Revision 1.5  1999/11/09 22:57:08  peter
-    * compiles again both i386,alpha both with optimizer
-
-  Revision 1.4  1999/08/18 14:32:21  jonas
-    + compilable!
-    + dataflow analyzer finished
-    + start of CSE units
-    + aoptbase which contains a base object for all optimizer objects
-    * some constants and type definitions moved around to avoid circular
-      dependencies
-    * moved some methods from base objects to specialized objects because
-      they're not used anywhere else
-
-}
+  Revision 1.2  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
+
+}

+ 3 - 37
compiler/new/aoptobj.pas

@@ -787,41 +787,7 @@ End.
 
 {
  $Log$
- Revision 1.2  2000-07-14 05:11:49  michael
- + Patch to 1.1
+ Revision 1.3  2002-09-07 15:25:14  peter
+   * old logs removed and tabs fixed
 
- Revision 1.1  2000/07/13 06:30:07  michael
- + Initial import
-
- Revision 1.8  2000/01/07 01:14:52  peter
-   * updated copyright to 2000
-
- Revision 1.7  1999/11/09 22:57:08  peter
-   * compiles again both i386,alpha both with optimizer
-
- Revision 1.6  1999/09/29 13:50:34  jonas
-   * fixes from daopt386.pas integrated
-
- Revision 1.5  1999/08/26 14:50:52  jonas
-   * fixed small type in TP conditional
-
- Revision 1.4  1999/08/18 14:32:22  jonas
-   + compilable!
-   + dataflow analyzer finished
-   + start of CSE units
-   + aoptbase which contains a base object for all optimizer objects
-   * some constants and type definitions moved around to avoid circular
-     dependencies
-   * moved some methods from base objects to specialized objects because
-     they're not used anywhere else
-
- Revision 1.2  1999/08/09 14:07:24  jonas
- commit.msg
-
- Revision 1.1  1999/08/08 13:24:50  jonas
-   + added copyright header/GNU license info
-   * made the assembler optimizer almost completely OOP
-   * some code style clean up and extra comments
-   * moved from the new/aopt to the /new and /new/i386 dirs
-
-}
+}

+ 3 - 28
compiler/new/i386/aoptcpu.pas

@@ -39,32 +39,7 @@ Implementation
 End.
 {
  $Log$
- Revision 1.1  2000-07-13 06:30:10  michael
- + Initial import
+ Revision 1.2  2002-09-07 15:25:14  peter
+   * old logs removed and tabs fixed
 
- Revision 1.6  2000/01/07 01:14:56  peter
-   * updated copyright to 2000
-
- Revision 1.5  1999/08/18 14:32:24  jonas
-   + compilable!
-   + dataflow analyzer finished
-   + start of CSE units
-   + aoptbase which contains a base object for all optimizer objects
-   * some constants and type definitions moved around to avoid circular
-     dependencies
-   * moved some methods from base objects to specialized objects because
-     they're not used anywhere else
-
- Revision 1.4  1999/08/11 14:23:39  jonas
-   * some fixes to RegReadByInstr
-
- Revision 1.3  1999/08/10 12:40:20  jonas
-   + implemented RegReadByInstr
-
- Revision 1.1  1999/08/08 13:24:50  jonas
-   + added copyright header/GNU license info
-   * made the assembler optimizer almost completely OOP
-   * some code style clean up and extra comments
-   * moved from the new/aopt to the /new and /new/i386 dirs
-
-}
+}

+ 2 - 33
compiler/new/i386/aoptcpub.pas

@@ -214,38 +214,7 @@ End.
 
 {
  $Log$
- Revision 1.1  2000-07-13 06:30:10  michael
- + Initial import
-
- Revision 1.8  2000/01/07 01:14:56  peter
-   * updated copyright to 2000
-
- Revision 1.7  1999/11/09 22:57:09  peter
-   * compiles again both i386,alpha both with optimizer
-
- Revision 1.6  1999/09/08 15:05:43  jonas
-   * some small changes so the new optimizer is again compilable
-
- Revision 1.5  1999/08/25 12:00:19  jonas
-   * changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu)
-
- Revision 1.4  1999/08/23 14:41:14  jonas
-   + checksequence (processor independent)\n  + processor independent part of docse
-
- Revision 1.3  1999/08/18 14:32:25  jonas
-   + compilable!
-   + dataflow analyzer finished
-   + start of CSE units
-   + aoptbase which contains a base object for all optimizer objects
-   * some constants and type definitions moved around to avoid circular
-     dependencies
-   * moved some methods from base objects to specialized objects because
-     they're not used anywhere else
-
- Revision 1.2  1999/08/11 14:24:38  jonas
-   - removed RefsHaveSymbol define (I think references on all processors can have a symbol)
-
- Revision 1.1  1999/08/09 14:07:28  jonas
- commit.msg
+ Revision 1.2  2002-09-07 15:25:14  peter
+   * old logs removed and tabs fixed
 
 }

+ 3 - 19
compiler/new/i386/aoptcpuc.pas

@@ -85,23 +85,7 @@ End;
 End.
 {
   $Log$
-  Revision 1.1  2000-07-13 06:30:10  michael
-  + Initial import
+  Revision 1.2  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.3  2000/01/07 01:14:57  peter
-    * updated copyright to 2000
-
-  Revision 1.2  1999/11/09 22:57:09  peter
-    * compiles again both i386,alpha both with optimizer
-
-  Revision 1.1  1999/08/18 14:32:26  jonas
-    + compilable!
-    + dataflow analyzer finished
-    + start of CSE units
-    + aoptbase which contains a base object for all optimizer objects
-    * some constants and type definitions moved around to avoid circular
-      dependencies
-    * moved some methods from base objects to specialized objects because
-      they're not used anywhere else
-
-}
+}

+ 2 - 27
compiler/new/i386/aoptcpud.pas

@@ -235,32 +235,7 @@ End.
 
 {
   $Log$
-  Revision 1.2  2000-07-14 05:11:49  michael
-  + Patch to 1.1
-
-  Revision 1.1  2000/07/13 06:30:10  michael
-  + Initial import
-
-  Revision 1.5  2000/01/07 01:14:57  peter
-    * updated copyright to 2000
-
-  Revision 1.4  1999/11/09 22:57:09  peter
-    * compiles again both i386,alpha both with optimizer
-
-  Revision 1.3  1999/09/08 15:01:31  jonas
-    * some small changes so the noew optimizer is again compilable
-
-  Revision 1.2  1999/08/18 14:32:26  jonas
-    + compilable!
-    + dataflow analyzer finished
-    + start of CSE units
-    + aoptbase which contains a base object for all optimizer objects
-    * some constants and type definitions moved around to avoid circular
-      dependencies
-    * moved some methods from base objects to specialized objects because
-      they're not used anywhere else
-
-  Revision 1.1  1999/08/11 14:22:56  jonas
-    + first version, added TAsmDFACpu object and CpuDFA method
+  Revision 1.3  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
 
 }

+ 4 - 35
compiler/nflw.pas

@@ -1405,7 +1405,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.51  2002-09-07 12:16:04  carl
+  Revision 1.52  2002-09-07 15:25:03  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.51  2002/09/07 12:16:04  carl
     * second part bug report 1996 fix, testrange in cordconstnode
       only called if option is set (also make parsing a tiny faster)
 
@@ -1495,38 +1498,4 @@ end.
   + generic constructor calls
   + start of tassembler / tmodulebase class cleanup
 
-  Revision 1.29  2002/05/12 16:53:07  peter
-    * moved entry and exitcode to ncgutil and cgobj
-    * foreach gets extra argument for passing local data to the
-      iterator function
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.28  2002/03/31 20:26:34  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
 }

+ 4 - 42
compiler/nld.pas

@@ -1143,7 +1143,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.57  2002-09-03 16:26:26  daniel
+  Revision 1.58  2002-09-07 15:25:03  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.57  2002/09/03 16:26:26  daniel
     * Make Tprocdef.defs protected
 
   Revision 1.56  2002/09/01 13:28:37  daniel
@@ -1254,45 +1257,4 @@ end.
       one or more statements
     * moved finalize and setlength from ninl to pinline
 
-  Revision 1.36  2002/04/22 16:30:06  peter
-    * fixed @methodpointer
-
-  Revision 1.35  2002/04/21 19:02:04  peter
-    * removed newn and disposen nodes, the code is now directly
-      inlined from pexpr
-    * -an option that will write the secondpass nodes to the .s file, this
-      requires EXTDEBUG define to actually write the info
-    * fixed various internal errors and crashes due recent code changes
-
-  Revision 1.34  2002/04/02 17:11:29  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.33  2002/03/31 20:26:34  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.32  2002/01/19 11:52:32  peter
-    * dynarr:=nil support added
-
 }

+ 4 - 4
compiler/node.pas

@@ -978,7 +978,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.42  2002-09-03 16:26:26  daniel
+  Revision 1.43  2002-09-07 15:25:03  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.42  2002/09/03 16:26:26  daniel
     * Make Tprocdef.defs protected
 
   Revision 1.41  2002/09/01 13:28:38  daniel
@@ -1085,7 +1088,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.21  2002/01/19 11:52:32  peter
-    * dynarr:=nil support added
-
 }

+ 44 - 41
compiler/nstate.pas

@@ -27,23 +27,23 @@ unit nstate;
 
 interface
 
-uses	cclasses,node;
+uses    cclasses,node;
 
-type	Tstate_entry=class(Tlinkedlistitem)
-	    what:Tnode;
-	    value:Tnode;
-	    constructor create(w,v:Tnode);
-	end;
+type    Tstate_entry=class(Tlinkedlistitem)
+            what:Tnode;
+            value:Tnode;
+            constructor create(w,v:Tnode);
+        end;
 
-	Tstate_storage=class
-	    storage:Tlinkedlist;
-	    constructor create;
-	    procedure store_fact(w,v:Tnode);
-	    function find_fact(what:Tnode):Tnode;
-	    procedure delete_fact(what:Tnode);
-	end;
+        Tstate_storage=class
+            storage:Tlinkedlist;
+            constructor create;
+            procedure store_fact(w,v:Tnode);
+            function find_fact(what:Tnode):Tnode;
+            procedure delete_fact(what:Tnode);
+        end;
 
-var	aktstate:Tstate_storage;
+var     aktstate:Tstate_storage;
 
 implementation
 
@@ -72,15 +72,15 @@ begin
     writenode(v);}
     se:=Tstate_entry(storage.first);
     while assigned(se) do
-	begin
-	    if se.what.isequal(w) then
-		begin
-	    	    storage.remove(se);
-	    	    se.destroy;
-	    	    break;
-		end;
-	    se:=Tstate_entry(se.next);
-	end;
+        begin
+            if se.what.isequal(w) then
+                begin
+                    storage.remove(se);
+                    se.destroy;
+                    break;
+                end;
+            se:=Tstate_entry(se.next);
+        end;
     se:=Tstate_entry.create(w,v);
     storage.concat(se);
 end;
@@ -93,14 +93,14 @@ begin
     find_fact:=nil;
     se:=storage.first as Tstate_entry;
     while assigned(se) do
-	begin
-	    if se.what.isequal(what) then
-		begin
-		    find_fact:=se.value;
-		    break;
-		end;
-	    se:=se.next as Tstate_entry;
-	end;
+        begin
+            if se.what.isequal(what) then
+                begin
+                    find_fact:=se.value;
+                    break;
+                end;
+            se:=se.next as Tstate_entry;
+        end;
 end;
 
 procedure Tstate_storage.delete_fact(what:Tnode);
@@ -110,22 +110,25 @@ var se:Tstate_entry;
 begin
     se:=storage.first as Tstate_entry;
     while assigned(se) do
-	begin
-	    if se.what.isequal(what) then
-		begin
-		    storage.remove(se);
-		    se.destroy;
-		    break;
-		end;
-	    se:=se.next as Tstate_entry;
-	end;
+        begin
+            if se.what.isequal(what) then
+                begin
+                    storage.remove(se);
+                    se.destroy;
+                    break;
+                end;
+            se:=se.next as Tstate_entry;
+        end;
 end;
 
 end.
 
 {
   $Log$
-  Revision 1.2  2002-07-15 18:03:15  florian
+  Revision 1.3  2002-09-07 15:25:05  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.2  2002/07/15 18:03:15  florian
     * readded removed changes
 
   Revision 1.1  2002/07/14 18:00:44  daniel

+ 10 - 7
compiler/oglx.pas

@@ -43,12 +43,12 @@ uses
 
 { An LX executable is called a module; it can be either an executable
   or a DLL.
-  
+
   A module consists of objects. In other executable formats, these
   are usually called sections.
-  
+
   Objects consist of pages.
-  
+
   The objects are numbered, numbers do not have any special meaning. The
   pages of the object are loaded into memory with the access rights specified
   the object table entry. (DM)}
@@ -115,12 +115,12 @@ type    Tlxheader = packed record
         inst_demand_count:cardinal;
         heapsize:cardinal;          {Only used for 16-bit programs.}
     end;
-    
+
     Tlxobject_flags = (ofreadable,ofwriteable,ofexecutable,ofresource,
                ofdiscardable,ofshared,ofpreload,ofinvalid,
                ofzerofilled);
     Tlxobject_flag_set = set of Tlxobject_flags;
-    
+
     Tlxobject_table_entry = packed record
         virtual_size:cardinal;
         reloc_base_addr:cardinal;
@@ -317,7 +317,7 @@ function gen_section_header(sec:Tsection;obj:cardinal):Tlxobject_table_entry;
 
 begin
     gen_section_header.virtual_size:=sections[sec.memsize];
-    
+
 end;
 
 function Tlxexeoutput.writedata:boolean;
@@ -399,7 +399,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.4  2002-08-12 15:08:40  carl
+  Revision 1.5  2002-09-07 15:25:05  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.4  2002/08/12 15:08:40  carl
     + stab register indexes for powerpc (moved from gdb to cpubase)
     + tprocessor enumeration moved to cpuinfo
     + linker in target_info is now a class

+ 4 - 20
compiler/pdecsub.pas

@@ -1976,7 +1976,10 @@ const
 end.
 {
   $Log$
-  Revision 1.70  2002-09-03 16:26:27  daniel
+  Revision 1.71  2002-09-07 15:25:06  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.70  2002/09/03 16:26:27  daniel
     * Make Tprocdef.defs protected
 
   Revision 1.69  2002/09/01 12:11:33  peter
@@ -2091,23 +2094,4 @@ end.
     * removed static procprefix since the mangledname is now build only
       on demand from tprocdef.mangledname
 
-  Revision 1.49  2002/04/15 19:00:33  carl
-  + target_info.size_of_pointer -> pointer_Size
-
-  Revision 1.48  2002/03/29 13:29:32  peter
-    * fixed memory corruption created by previous fix
-
-  Revision 1.47  2002/03/29 11:23:24  michael
-  + Patch from Pavel Ozerski
-
-  Revision 1.46  2002/01/24 18:25:49  peter
-   * implicit result variable generation for assembler routines
-   * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
-
-  Revision 1.45  2002/01/09 07:38:03  michael
-  + Patch from peter for library imports
-
-  Revision 1.44  2002/01/06 21:54:07  peter
-    * fixed external <dll> name <c-name> manglednames
-
 }

+ 4 - 17
compiler/pexpr.pas

@@ -2248,7 +2248,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.79  2002-09-07 12:16:03  carl
+  Revision 1.80  2002-09-07 15:25:07  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.79  2002/09/07 12:16:03  carl
     * second part bug report 1996 fix, testrange in cordconstnode
       only called if option is set (also make parsing a tiny faster)
 
@@ -2356,20 +2359,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.58  2002/03/01 14:08:26  peter
-    * fixed sizeof(TClass) to return only 4
-
-  Revision 1.57  2002/02/03 09:30:04  peter
-    * more fixes for protected handling
-
-  Revision 1.56  2002/01/29 21:25:22  peter
-    * more checks for private and protected
-
-  Revision 1.55  2002/01/24 18:25:49  peter
-   * implicit result variable generation for assembler routines
-   * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
-
-  Revision 1.54  2002/01/06 21:47:32  peter
-    * removed getprocvar, use only getprocvardef
-
 }

+ 4 - 31
compiler/pmodules.pas

@@ -1386,7 +1386,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.77  2002-09-03 16:26:27  daniel
+  Revision 1.78  2002-09-07 15:25:07  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.77  2002/09/03 16:26:27  daniel
     * Make Tprocdef.defs protected
 
   Revision 1.76  2002/09/02 18:46:26  peter
@@ -1496,34 +1499,4 @@ end.
     * removed unused units
     * use tlocation.size in cg.a_*loc*() routines
 
-  Revision 1.57  2002/04/04 18:42:49  carl
-  + added wdosx support (patch from Pavel)
-
-  Revision 1.56  2002/04/02 17:11:29  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.55  2002/04/01 13:43:32  armin
-  addToLocalThreadvarList used '_'+name instead of mangledname to find asm symbol
-
-  Revision 1.54  2002/03/29 17:19:50  armin
-  + allow exports for netware
-
-  Revision 1.53  2002/03/29 09:00:56  armin
-  + forgot to delete a debug writeln
-
-  Revision 1.52  2002/03/28 16:07:52  armin
-  + initialize threadvars defined local in units
-
-  Revision 1.51  2002/01/24 18:25:49  peter
-   * implicit result variable generation for assembler routines
-   * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
-
 }

+ 5 - 80
compiler/powerpc/cgcpu.pas

@@ -270,7 +270,7 @@ const
         list.concat(taicpu.op_reg_ref(A_STW,R_TOC,href));
         list.concat(taicpu.op_none(A_BCCTRL));
         list.concat(taicpu.op_reg_ref(A_LWZ,R_TOC,href));
-        procinfo.flags:=procinfo.flags or pi_do_call;        
+        procinfo.flags:=procinfo.flags or pi_do_call;
       end;
 
 
@@ -1703,7 +1703,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.52  2002-09-02 10:14:51  jonas
+  Revision 1.53  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.52  2002/09/02 10:14:51  jonas
     + a_call_reg()
     * small fix in a_call_ref()
 
@@ -1778,82 +1781,4 @@ end.
   Revision 1.33  2002/08/04 12:57:55  jonas
     * more misc. fixes, mostly constant-related
 
-  Revision 1.32  2002/08/02 11:10:42  jonas
-    * some misc constant fixes
-
-  Revision 1.31  2002/07/30 20:50:44  florian
-    * the code generator knows now if parameters are in registers
-
-  Revision 1.30  2002/07/29 21:23:44  florian
-    * more fixes for the ppc
-    + wrappers for the tcnvnode.first_* stuff introduced
-
-  Revision 1.29  2002/07/28 21:38:30  florian
-    - removed debug code which was commited by accident
-
-  Revision 1.28  2002/07/28 21:34:31  florian
-    * more powerpc fixes
-    + dummy tcgvecnode
-
-  Revision 1.27  2002/07/28 16:01:59  jonas
-    + tcg64fppc.a_op64_const_reg_reg() and tcg64fppc.a_op64_reg_reg_reg()
-    * several fixes, most notably in a_load_reg_reg(): it didn't do any
-      conversion from smaller to larger sizes or vice versa
-    * some small optimizations
-
-  Revision 1.26  2002/07/27 19:59:29  jonas
-    * fixed a_loadaddr_ref_reg()
-    * fixed g_flags2reg()
-    * optimized g_concatcopy()
-
-  Revision 1.25  2002/07/26 21:15:45  florian
-    * rewrote the system handling
-
-  Revision 1.24  2002/07/21 17:00:23  jonas
-    * make sure we use rlwi* when possible instead of andi.
-
-  Revision 1.23  2002/07/11 14:41:34  florian
-    * start of the new generic parameter handling
-
-  Revision 1.22  2002/07/11 07:38:28  jonas
-    + tcg64fpc implementation (only a_op64_reg_reg and a_op64_const_reg for
-      now)
-    * fixed and improved tcgppc.a_load_const_reg
-    * improved tcgppc.a_op_const_reg, tcgppc.a_cmp_const_reg_label
-    * A_CMP* -> A_CMPW* (this means that 32bit compares should be done)
-
-  Revision 1.21  2002/07/09 19:45:01  jonas
-    * unarynminus and shlshr node fixed for 32bit and smaller ordinals
-    * small fixes in the assembler writer
-    * changed scratch registers, because they were used by the linker (r11
-      and r12) and by the abi under linux (r31)
-
-  Revision 1.20  2002/07/07 09:44:31  florian
-    * powerpc target fixed, very simple units can be compiled
-
-  Revision 1.19  2002/05/20 13:30:41  carl
-  * bugfix of hdisponen (base must be set, not index)
-  * more portability fixes
-
-  Revision 1.18  2002/05/18 13:34:26  peter
-    * readded missing revisions
-
-  Revision 1.17  2002/05/16 19:46:53  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.14  2002/05/13 19:52:46  peter
-    * a ppcppc can be build again
-
-  Revision 1.13  2002/04/20 21:41:51  carl
-  * renamed some constants
-
-  Revision 1.12  2002/04/06 18:13:01  jonas
-    * several powerpc-related additions and fixes
-
-  Revision 1.11  2002/01/02 14:53:04  jonas
-    * fixed small bug in a_jmp_flags
-
 }

+ 4 - 12
compiler/powerpc/cpubase.pas

@@ -710,7 +710,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.31  2002-09-01 21:04:49  florian
+  Revision 1.32  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.31  2002/09/01 21:04:49  florian
     * several powerpc related stuff fixed
 
   Revision 1.30  2002/08/18 22:16:15  florian
@@ -785,15 +788,4 @@ end.
     * tai_align_abstract moved to tainst, cpuasm must define
       the tai_align class now, which may be empty
 
-  Revision 1.10  2002/05/13 19:52:46  peter
-    * a ppcppc can be build again
-
-  Revision 1.9  2002/04/21 15:48:39  carl
-  * some small updates according to i386 version
-
-  Revision 1.8  2002/04/20 21:41:51  carl
-  * renamed some constants
-
-  Revision 1.7  2002/04/06 18:13:02  jonas
-    * several powerpc-related additions and fixes
 }

+ 9 - 6
compiler/powerpc/cpuinfo.pas

@@ -38,9 +38,9 @@ Type
    ts64comp = comp;
 
    pbestreal=^bestreal;
-   
+
    { possible supported processors for this target }
-   tprocessors = 
+   tprocessors =
       (no_processor,
        ppc601,
        ppc604
@@ -55,11 +55,11 @@ Const
    mmreg_size = 16;
    { target cpu string (used by compiler options) }
    target_cpu_string = 'powerpc';
-   { size of the buffer used for setjump/longjmp  
+   { size of the buffer used for setjump/longjmp
      the size of this buffer is deduced from the
-     jmp_buf structure in setjumph.inc file 
+     jmp_buf structure in setjumph.inc file
    }
-{$warning setjmp buf_size unknown!}   
+{$warning setjmp buf_size unknown!}
    jmp_buf_size = 0;
 
 Implementation
@@ -67,7 +67,10 @@ Implementation
 end.
 {
   $Log$
-  Revision 1.10  2002-08-15 15:15:55  carl
+  Revision 1.11  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.10  2002/08/15 15:15:55  carl
     * jmpbuf size allocation for exceptions is now cpu specific (as it should)
     * more generic nodes for maths
     * several fixes for better m68k support

+ 5 - 2
compiler/powerpc/nppcmat.pas

@@ -163,7 +163,7 @@ implementation
                              TPPCSHLRSHRNODE
 *****************************************************************************}
 
-    function tppcshlshrnode.first_shlshr64bitint: tnode; 
+    function tppcshlshrnode.first_shlshr64bitint: tnode;
       begin
         result := nil;
       end;
@@ -502,7 +502,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.17  2002-08-15 15:15:55  carl
+  Revision 1.18  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.17  2002/08/15 15:15:55  carl
     * jmpbuf size allocation for exceptions is now cpu specific (as it should)
     * more generic nodes for maths
     * several fixes for better m68k support

+ 4 - 9
compiler/ppc.dpr

@@ -158,19 +158,14 @@ begin
 end.
 {
   $Log$
-  Revision 1.4  2002-08-12 15:08:40  carl
+  Revision 1.5  2002-09-07 15:25:07  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.4  2002/08/12 15:08:40  carl
     + stab register indexes for powerpc (moved from gdb to cpubase)
     + tprocessor enumeration moved to cpuinfo
     + linker in target_info is now a class
     * many many updates for m68k (will soon start to compile)
     - removed some ifdef or correct them for correct cpu
 
-  Revision 1.3  2000/11/13 15:43:07  marco
-   * Renamefest
-
-  Revision 1.2  2000/09/24 15:06:24  peter
-    * use defines.inc
-
-  Revision 1.1  2000/07/13 06:29:54  michael
-  + Initial import
 }

+ 4 - 60
compiler/pstatmnt.pas

@@ -1146,7 +1146,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.76  2002-09-07 12:16:03  carl
+  Revision 1.77  2002-09-07 15:25:07  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.76  2002/09/07 12:16:03  carl
     * second part bug report 1996 fix, testrange in cordconstnode
       only called if option is set (also make parsing a tiny faster)
 
@@ -1242,63 +1245,4 @@ end.
   + generic constructor calls
   + start of tassembler / tmodulebase class cleanup
 
-  Revision 1.55  2002/05/06 19:56:42  carl
-  + added more patches from Mazen for SPARC port
-
-  Revision 1.54  2002/04/21 19:02:05  peter
-    * removed newn and disposen nodes, the code is now directly
-      inlined from pexpr
-    * -an option that will write the secondpass nodes to the .s file, this
-      requires EXTDEBUG define to actually write the info
-    * fixed various internal errors and crashes due recent code changes
-
-  Revision 1.53  2002/04/20 21:32:24  carl
-  + generic FPC_CHECKPOINTER
-  + first parameter offset in stack now portable
-  * rename some constants
-  + move some cpu stuff to other units
-  - remove unused constents
-  * fix stacksize for some targets
-  * fix generic size problems which depend now on EXTEND_SIZE constant
-
-  Revision 1.52  2002/04/16 16:11:17  peter
-    * using inherited; without a parent having the same function
-      will do nothing like delphi
-
-  Revision 1.51  2002/04/15 19:01:28  carl
-  + target_info.size_of_pointer -> pointer_Size
-
-  Revision 1.50  2002/04/14 16:53:54  carl
-  + asm statement uses ALL_REGISTERS
-
-  Revision 1.49  2002/03/31 20:26:36  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.48  2002/03/11 19:10:28  peter
-    * Regenerated with updated fpcmake
-
-  Revision 1.47  2002/03/04 17:54:59  peter
-    * allow oridinal labels again
-
-  Revision 1.46  2002/01/29 21:32:03  peter
-    * allow accessing locals in other lexlevel when the current assembler
-      routine doesn't have locals.
-
-  Revision 1.45  2002/01/24 18:25:49  peter
-   * implicit result variable generation for assembler routines
-   * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
 }

+ 4 - 67
compiler/psub.pas

@@ -788,7 +788,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.70  2002-09-03 16:26:27  daniel
+  Revision 1.71  2002-09-07 15:25:07  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.70  2002/09/03 16:26:27  daniel
     * Make Tprocdef.defs protected
 
   Revision 1.69  2002/08/25 19:25:20  peter
@@ -882,70 +885,4 @@ end.
   Revision 1.51  2002/05/14 19:34:49  peter
     * removed old logs and updated copyright year
 
-  Revision 1.50  2002/05/12 16:53:09  peter
-    * moved entry and exitcode to ncgutil and cgobj
-    * foreach gets extra argument for passing local data to the
-      iterator function
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.49  2002/04/20 21:32:24  carl
-  + generic FPC_CHECKPOINTER
-  + first parameter offset in stack now portable
-  * rename some constants
-  + move some cpu stuff to other units
-  - remove unused constents
-  * fix stacksize for some targets
-  * fix generic size problems which depend now on EXTEND_SIZE constant
-
-  Revision 1.48  2002/04/19 15:46:02  peter
-    * mangledname rewrite, tprocdef.mangledname is now created dynamicly
-      in most cases and not written to the ppu
-    * add mangeledname_prefix() routine to generate the prefix of
-      manglednames depending on the current procedure, object and module
-    * removed static procprefix since the mangledname is now build only
-      on demand from tprocdef.mangledname
-
-  Revision 1.47  2002/04/15 19:01:28  carl
-  + target_info.size_of_pointer -> pointer_Size
-
-  Revision 1.46  2002/04/04 18:45:19  carl
-  + added wdosx support (patch from Pavel)
-
-  Revision 1.45  2002/03/31 20:26:36  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.44  2002/01/19 15:37:24  peter
-    * commited the wrong file :(
-
-  Revision 1.43  2002/01/19 15:20:09  peter
-    * also check at the end of the implementation for incomplete classes
-
-  Revision 1.42  2002/01/19 15:12:34  peter
-    * check for unresolved forward classes in the interface
-
 }

+ 2 - 2
compiler/sparc/cpubase.pas

@@ -32,7 +32,7 @@ USES globals,cutils,cclasses,aasmbase,cpuinfo,cginfo;
 CONST
 {Size of the instruction table converted by nasmconv.pas}
   maxinfolen    = 8;
-{Defines the default address size for a processor}  
+{Defines the default address size for a processor}
   OS_ADDR=OS_32;{$WARNING "OS_ADDR" was set to "OS_32" but not verified!}
 {the natural int size for a processor}
   OS_INT=OS_32;{$WARNING "OS_INT" was set to "OS_32" but not verified!}
@@ -264,7 +264,7 @@ CONST
 TYPE
   { enumeration for registers, don't change the order }
   { it's used by the register size conversions        }
-  TRegister=({$INCLUDE registers.inc}); 
+  TRegister=({$INCLUDE registers.inc});
   TRegister64=PACKED RECORD
   {A type to store register locations for 64 Bit values.}
      RegLo,RegHi:TRegister;

+ 2 - 2
compiler/sparc/cpuinfo.pas

@@ -50,7 +50,7 @@ TYPE
   ts64comp = extended;
   pbestreal=^bestreal;
 { possible supported processors for this target }
-  tprocessors=(no_processor,SPARC_V8,SPARC_V9); 
+  tprocessors=(no_processor,SPARC_V8,SPARC_V9);
 CONST
 {# Size of native extended floating point type }
   extended_size = 10;
@@ -60,7 +60,7 @@ CONST
   mmreg_size = 8;
 { target cpu string (used by compiler options) }
   target_cpu_string = 'SPARC';
-{ size of the buffer used for setjump/longjmp  
+{ size of the buffer used for setjump/longjmp
   the size of this buffer is deduced from the
   jmp_buf structure in setjumph.inc file }
   jmp_buf_size = 24;

+ 4 - 53
compiler/sparc/cpuswtch.pas

@@ -129,62 +129,13 @@ initialization
 end.
 {
   $Log$
-  Revision 1.2  2002-08-23 10:08:28  mazen
+  Revision 1.3  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.2  2002/08/23 10:08:28  mazen
   *** empty log message ***
 
   Revision 1.1  2002/08/22 08:30:50  mazen
   first insertion 2002\08\22
 
-  Revision 1.4  2001/07/01 20:16:20  peter
-    * alignmentinfo record added
-    * -Oa argument supports more alignment settings that can be specified
-      per type: PROC,LOOP,VARMIN,VARMAX,CONSTMIN,CONSTMAX,RECORDMIN
-      RECORDMAX,LOCALMIN,LOCALMAX. It is possible to set the mimimum
-      required alignment and the maximum usefull alignment. The final
-      alignment will be choosen per variable size dependent on these
-      settings
-
-  Revision 1.3  2001/05/12 12:11:31  peter
-    * simplify_ppu is now the default, a recompile of the compiler now
-      only compiles pp.pas
-
-  Revision 1.2  2000/12/23 19:46:49  peter
-    * object to class conversion
-    * more verbosity for -vt and -vd
-    * -i options can be put after eachother so the Makefiles only need
-      to call fpc once for all info (will be twice as the first one will
-      be to check the version if fpc supports multiple info)
-
-  Revision 1.1  2000/11/30 22:42:50  florian
-  * renamed
-
-  Revision 1.1  2000/11/30 22:21:56  florian
-    * moved to iSPARC
-
-  Revision 1.6  2000/10/24 10:40:53  jonas
-    + register renaming ("fixes" bug1088)
-    * changed command line options meanings for optimizer:
-        O2 now means peepholopts, CSE and register renaming in 1 pass
-        O3 is the same, but repeated until no further optimizations are
-          possible or until 5 passes have been done (to avoid endless loops)
-    * changed aoptSPARC so it does this looping
-    * added some procedures from csoptSPARC to the interface because they're
-      used by rroptSPARC as well
-    * some changes to csoptSPARC and daoptSPARC so that newly added instructions
-      by the CSE get optimizer info (they were simply skipped previously),
-      this fixes some bugs
-
-  Revision 1.5  2000/09/24 15:06:20  peter
-    * use defines.inc
-
-  Revision 1.4  2000/08/27 16:11:51  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.3  2000/07/27 13:03:36  jonas
-    * release alignopts
-
-  Revision 1.2  2000/07/13 11:32:44  michael
-  + removed logs
-
 }

+ 4 - 7
compiler/sparc/cputarg.pas

@@ -61,16 +61,13 @@ implementation
 end.
 {
   $Log$
-  Revision 1.1  2002-08-22 08:30:50  mazen
+  Revision 1.2  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.1  2002/08/22 08:30:50  mazen
   first insertion 2002\08\22
 
   Revision 1.3  2002/03/28 20:48:04  carl
   - remove go32v1 support
 
-  Revision 1.2  2001/06/03 15:12:47  peter
-    * t_beos target inclusion
-
-  Revision 1.1  2001/04/18 22:02:01  peter
-    * registration of targets and assemblers
-
 }

+ 4 - 4
compiler/sparc/ncpucnv.pas

@@ -421,7 +421,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.2  2002-08-30 06:15:27  mazen
+  Revision 1.3  2002-09-07 15:25:14  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.2  2002/08/30 06:15:27  mazen
   ncgcall.pas moved to ncpucall.pas (I'd like ncpu* insteade of nsparc* since it
   provides processor independent units naming)
 
@@ -494,7 +497,4 @@ end.
   + generic constructor calls
   + start of tassembler / tmodulebase class cleanup
 
-  Revision 1.5  2002/04/06 18:13:02  jonas
-    * several powerpc-related additions and fixes
-
 }

+ 4 - 54
compiler/sparc/tgcpu.pas

@@ -690,60 +690,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.1  2002-08-22 08:30:50  mazen
-  first insertion 2002\08\22
-
-  Revision 1.8  2001/12/31 09:53:16  jonas
-    * changed remaining "getregister32" calls to "getregisterint"
-
-  Revision 1.7  2001/12/29 15:29:59  jonas
-    * powerpc/cgcpu.pas compiles :)
-    * several powerpc-related fixes
-    * cpuasm unit is now based on common tainst unit
-    + nppcmat unit for powerpc (almost complete)
-
-  Revision 1.5  2001/08/26 13:37:03  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.4  2001/04/13 01:22:21  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.3  2000/12/25 00:07:34  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.2  2000/12/05 11:44:34  jonas
-    + new integer regvar handling, should be much more efficient
-
-  Revision 1.1  2000/11/29 00:30:51  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
+  Revision 1.2  2002-09-07 15:25:15  peter
+    * old logs removed and tabs fixed
 
-  Revision 1.9  2000/10/31 22:30:13  peter
-    * merged asm result patch part 2
-
-  Revision 1.8  2000/10/14 10:14:56  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.7  2000/09/30 16:08:46  peter
-    * more cg11 updates
-
-  Revision 1.6  2000/09/24 15:06:32  peter
-    * use defines.inc
-
-  Revision 1.5  2000/08/27 16:11:55  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.4  2000/08/05 13:32:39  peter
-    * fixed build prob without support_mmx
-
-  Revision 1.3  2000/08/04 05:09:49  jonas
-    * forgot to commit :( (part of regvar changes)
+  Revision 1.1  2002/08/22 08:30:50  mazen
+  first insertion 2002\08\22
 
-  Revision 1.2  2000/07/13 11:32:52  michael
-  + removed logs
 }

+ 4 - 61
compiler/symdef.pas

@@ -5537,7 +5537,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.92  2002-09-05 19:29:42  peter
+  Revision 1.93  2002-09-07 15:25:07  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.92  2002/09/05 19:29:42  peter
     * memdebug enhancements
 
   Revision 1.91  2002/08/25 19:25:20  peter
@@ -5650,64 +5653,4 @@ end.
   * fix stacksize for some targets
   * fix generic size problems which depend now on EXTEND_SIZE constant
 
-  Revision 1.71  2002/04/19 15:46:03  peter
-    * mangledname rewrite, tprocdef.mangledname is now created dynamicly
-      in most cases and not written to the ppu
-    * add mangeledname_prefix() routine to generate the prefix of
-      manglednames depending on the current procedure, object and module
-    * removed static procprefix since the mangledname is now build only
-      on demand from tprocdef.mangledname
-
-  Revision 1.70  2002/04/15 19:06:34  carl
-  + target_info.size_of_pointer -> pointer_Size
-
-  Revision 1.69  2002/04/14 16:55:43  carl
-  + replace some stuff by ALL_REGISTERS
-
-  Revision 1.68  2002/04/02 17:11:29  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.67  2002/03/31 20:26:36  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  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")
-
-  Revision 1.64  2002/01/19 15:12:34  peter
-    * check for unresolved forward classes in the interface
-
-  Revision 1.63  2002/01/06 21:52:30  peter
-
-    * fixed previous commit
-
-  Revision 1.62  2002/01/06 12:08:15  peter
-    * removed uauto from orddef, use new range_to_basetype generating
-      the correct ordinal type for a range
-
 }

+ 4 - 56
compiler/symsym.pas

@@ -2496,7 +2496,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.61  2002-09-05 19:29:45  peter
+  Revision 1.62  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.61  2002/09/05 19:29:45  peter
     * memdebug enhancements
 
   Revision 1.60  2002/09/05 14:51:42  peter
@@ -2590,59 +2593,4 @@ end.
   Revision 1.42  2002/07/11 14:41:31  florian
     * start of the new generic parameter handling
 
-  Revision 1.41  2002/07/10 07:24:40  jonas
-    * memory leak fixes from Sergey Korshunoff
-
-  Revision 1.40  2002/07/01 18:46:27  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.39  2002/05/18 13:34:18  peter
-    * readded missing revisions
-
-  Revision 1.38  2002/05/16 19:46:45  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.36  2002/05/12 16:53:15  peter
-    * moved entry and exitcode to ncgutil and cgobj
-    * foreach gets extra argument for passing local data to the
-      iterator function
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.35  2002/04/19 15:46:03  peter
-    * mangledname rewrite, tprocdef.mangledname is now created dynamicly
-      in most cases and not written to the ppu
-    * add mangeledname_prefix() routine to generate the prefix of
-      manglednames depending on the current procedure, object and module
-    * removed static procprefix since the mangledname is now build only
-      on demand from tprocdef.mangledname
-
-  Revision 1.34  2002/04/16 16:12:47  peter
-    * give error when using enums with jumps as array index
-    * allow char as enum value
-
-  Revision 1.33  2002/04/15 19:08:22  carl
-  + target_info.size_of_pointer -> pointer_size
-  + some cleanup of unused types/variables
-
-  Revision 1.32  2002/04/07 13:37:29  carl
-  + change unit use
-
-  Revision 1.31  2002/02/03 09:30:04  peter
-    * more fixes for protected handling
-
 }

+ 5 - 2
compiler/systems/i_wdosx.pas

@@ -105,7 +105,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.1  2002-09-06 15:03:51  carl
+  Revision 1.2  2002-09-07 15:25:15  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.1  2002/09/06 15:03:51  carl
     * moved files to systems directory
 
   Revision 1.2  2002/08/12 15:08:39  carl
@@ -117,4 +120,4 @@ end.
 
   Revision 1.1  2002/07/26 21:15:38  florian
     * rewrote the system handling
-}
+}

+ 5 - 2
compiler/systems/i_win32.pas

@@ -120,7 +120,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.1  2002-09-06 15:03:51  carl
+  Revision 1.2  2002-09-07 15:25:15  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.1  2002/09/06 15:03:51  carl
     * moved files to systems directory
 
   Revision 1.2  2002/08/12 15:08:39  carl
@@ -132,4 +135,4 @@ end.
 
   Revision 1.1  2002/07/26 21:15:38  florian
     * rewrote the system handling
-}
+}

+ 8 - 3
compiler/utils/fixlog.pp

@@ -153,8 +153,9 @@ end;
 var
   dir : tsearchrec;
   i   : integer;
+  path : string;
 begin
-  writeln('fixlog v1.00 (C) 1999-2002 Peter Vreman');
+  writeln('fixlog v1.01 (C) 1999-2002 Peter Vreman');
   if paramcount<3 then
    begin
      writeln('usage: fixlog <revisions> <yyyy-mm-dd> <files> [files]');
@@ -164,16 +165,20 @@ begin
   Date2Int(ParamStr(2),MYear,MMonth,MDay);
   for i:=3 to paramcount do
    begin
+     path:=ExtractFilePath(paramstr(i));
      if findfirst(paramstr(i),faAnyFile,dir)=0 then
       repeat
-        dofile(dir.name);
+        dofile(path+dir.name);
       until findnext(dir)<>0;
      findclose(dir);
    end;
 end.
 {
   $Log$
-  Revision 1.6  2002-05-18 13:34:27  peter
+  Revision 1.7  2002-09-07 15:25:15  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.6  2002/05/18 13:34:27  peter
     * readded missing revisions
 
   Revision 1.5  2002/05/16 19:46:53  carl

+ 5 - 2
compiler/version.pas

@@ -84,7 +84,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.15  2002-08-10 14:46:31  carl
+  Revision 1.16  2002-09-07 15:25:10  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.15  2002/08/10 14:46:31  carl
     + moved target_cpu_string to cpuinfo
     * renamed asmmode enum.
     * assembler reader has now less ifdef's
@@ -110,4 +113,4 @@ end.
 
   Revision 1.8  2002/03/01 12:47:21  pierre
    * used shl 7 for release number
-}
+}

+ 6 - 3
compiler/x86_64/cpuinfo.pas

@@ -41,13 +41,13 @@ Type
    { $fffffffffffffff on a 32bit machine if the compiler uses     }
    { int64 constants internally (JM)                              }
    TConstPtrUInt = qword;
-   
+
    bestreal = extended;
    ts32real = single;
    ts64real = double;
    ts80real = extended;
    ts64comp = extended;
-   
+
    pbestreal=^bestreal;
 
 Const
@@ -66,7 +66,10 @@ Implementation
 end.
 {
   $Log$
-  Revision 1.4  2002-08-12 15:08:45  carl
+  Revision 1.5  2002-09-07 15:25:15  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.4  2002/08/12 15:08:45  carl
     + stab register indexes for powerpc (moved from gdb to cpubase)
     + tprocessor enumeration moved to cpuinfo
     + linker in target_info is now a class

+ 4 - 6
compiler/x86_64/cputarg.pas

@@ -62,15 +62,13 @@ implementation
 end.
 {
   $Log$
-  Revision 1.2  2002-07-25 22:55:34  florian
+  Revision 1.3  2002-09-07 15:25:15  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.2  2002/07/25 22:55:34  florian
     * several fixes, small test units can be compiled
 
   Revision 1.1  2002/07/24 22:38:15  florian
     + initial release of x86-64 target code
 
-  Revision 1.2  2001/06/03 15:12:47  peter
-    * t_beos target inclusion
-
-  Revision 1.1  2001/04/18 22:02:01  peter
-    * registration of targets and assemblers
 }

+ 8 - 5
compiler/x86_64/rasm.pas

@@ -30,10 +30,10 @@ Interface
 uses
   node;
 
-   { 
+   {
      This routine is called to parse the instructions in assembler
      blocks. It returns a complete list of directive and instructions
-   }  
+   }
    function assemble: tnode;
 
 
@@ -59,15 +59,18 @@ Implementation
     function assemble : tnode;
      begin
      end;
-     
+
 Begin
 end.
 {
   $Log$
-  Revision 1.1  2002-08-10 14:53:38  carl
+  Revision 1.2  2002-09-07 15:25:15  peter
+    * old logs removed and tabs fixed
+
+  Revision 1.1  2002/08/10 14:53:38  carl
     + moved target_cpu_string to cpuinfo
     * renamed asmmode enum.
     * assembler reader has now less ifdef's
     * move from nppcmem.pas -> ncgmem.pas vec. node.
 
-}  
+}