Răsfoiți Sursa

* removed old logs and updated copyright year

peter 23 ani în urmă
părinte
comite
2992e1819c
100 a modificat fișierele cu 754 adăugiri și 7745 ștergeri
  1. 5 66
      compiler/aasm.pas
  2. 16 13
      compiler/aggas.pas
  3. 4 33
      compiler/aopt.pas
  4. 5 31
      compiler/aoptbase.pas
  5. 6 35
      compiler/aoptcs.pas
  6. 6 26
      compiler/aoptda.pas
  7. 3 41
      compiler/aoptobj.pas
  8. 5 107
      compiler/assemble.pas
  9. 4 118
      compiler/browcol.pas
  10. 3 31
      compiler/browlog.pas
  11. 3 20
      compiler/catch.pas
  12. 5 35
      compiler/cclasses.pas
  13. 5 22
      compiler/cg64f32.pas
  14. 5 71
      compiler/cgbase.pas
  15. 5 2
      compiler/cginfo.pas
  16. 5 55
      compiler/cgobj.pas
  17. 5 37
      compiler/cmsgs.pas
  18. 3 49
      compiler/comphook.pas
  19. 5 72
      compiler/compiler.pas
  20. 3 29
      compiler/compinnr.inc
  21. 5 33
      compiler/comprsrc.pas
  22. 2 13
      compiler/crc.pas
  23. 3 31
      compiler/cresstr.pas
  24. 3 8
      compiler/cstreams.pas
  25. 15 12
      compiler/cutils.pas
  26. 3 15
      compiler/dmisc.pas
  27. 3 51
      compiler/export.pas
  28. 5 41
      compiler/finput.pas
  29. 5 68
      compiler/fmodule.pas
  30. 5 35
      compiler/fppu.pas
  31. 5 30
      compiler/gdb.pas
  32. 5 21
      compiler/gendef.pas
  33. 5 174
      compiler/globals.pas
  34. 5 65
      compiler/globtype.pas
  35. 5 148
      compiler/htypechk.pas
  36. 5 61
      compiler/i386/ag386att.pas
  37. 5 53
      compiler/i386/ag386bin.pas
  38. 5 67
      compiler/i386/ag386int.pas
  39. 5 62
      compiler/i386/ag386nsm.pas
  40. 3 33
      compiler/i386/aopt386.pas
  41. 5 226
      compiler/i386/cga.pas
  42. 5 35
      compiler/i386/cgcpu.pas
  43. 5 84
      compiler/i386/cpuasm.pas
  44. 5 75
      compiler/i386/cpubase.pas
  45. 5 30
      compiler/i386/cpuinfo.pas
  46. 4 40
      compiler/i386/cpunode.pas
  47. 3 52
      compiler/i386/cpuswtch.pas
  48. 4 7
      compiler/i386/cputarg.pas
  49. 5 157
      compiler/i386/csopt386.pas
  50. 5 177
      compiler/i386/daopt386.pas
  51. 4 152
      compiler/i386/n386add.pas
  52. 5 174
      compiler/i386/n386cal.pas
  53. 5 130
      compiler/i386/n386cnv.pas
  54. 5 43
      compiler/i386/n386con.pas
  55. 5 82
      compiler/i386/n386flw.pas
  56. 7 159
      compiler/i386/n386inl.pas
  57. 5 99
      compiler/i386/n386mat.pas
  58. 5 84
      compiler/i386/n386mem.pas
  59. 5 40
      compiler/i386/n386obj.pas
  60. 5 23
      compiler/i386/n386opt.pas
  61. 5 91
      compiler/i386/n386set.pas
  62. 5 122
      compiler/i386/popt386.pas
  63. 5 67
      compiler/i386/ra386.pas
  64. 5 77
      compiler/i386/ra386att.pas
  65. 5 56
      compiler/i386/ra386dir.pas
  66. 5 96
      compiler/i386/ra386int.pas
  67. 5 43
      compiler/i386/rropt386.pas
  68. 3 16
      compiler/impdef.pas
  69. 3 45
      compiler/import.pas
  70. 5 85
      compiler/link.pas
  71. 5 176
      compiler/nadd.pas
  72. 95 332
      compiler/nbas.pas
  73. 5 254
      compiler/ncal.pas
  74. 4 49
      compiler/ncgbas.pas
  75. 4 19
      compiler/ncgcnv.pas
  76. 5 53
      compiler/ncgflw.pas
  77. 5 2
      compiler/ncgld.pas
  78. 5 12
      compiler/ncgmem.pas
  79. 5 9
      compiler/ncgutil.pas
  80. 5 195
      compiler/ncnv.pas
  81. 4 94
      compiler/ncon.pas
  82. 5 97
      compiler/nflw.pas
  83. 5 266
      compiler/ninl.pas
  84. 4 111
      compiler/nld.pas
  85. 4 94
      compiler/nmat.pas
  86. 4 87
      compiler/nmem.pas
  87. 5 109
      compiler/nobj.pas
  88. 187 522
      compiler/node.pas
  89. 5 20
      compiler/nopt.pas
  90. 5 69
      compiler/nset.pas
  91. 3 30
      compiler/ogbase.pas
  92. 6 66
      compiler/ogcoff.pas
  93. 5 37
      compiler/ogelf.pas
  94. 5 247
      compiler/options.pas
  95. 5 23
      compiler/owar.pas
  96. 3 17
      compiler/owbase.pas
  97. 5 92
      compiler/parser.pas
  98. 5 60
      compiler/pass_1.pas
  99. 5 78
      compiler/pass_2.pas
  100. 5 44
      compiler/pbase.pas

+ 5 - 66
compiler/aasm.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit implements an abstract asmoutput class for all processor types
 
@@ -1070,7 +1070,10 @@ uses
 end.
 {
   $Log$
-  Revision 1.24  2002-05-14 17:28:08  peter
+  Revision 1.25  2002-05-14 19:34:38  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.24  2002/05/14 17:28:08  peter
     * synchronized cpubase between powerpc and i386
     * moved more tables from cpubase to cpuasm
     * tai_align_abstract moved to tainst, cpuasm must define
@@ -1089,68 +1092,4 @@ end.
   Revision 1.20  2002/03/24 19:04:31  carl
   + patch for SPARC from Mazen NEIFER
 
-  Revision 1.19  2001/12/31 16:54:14  peter
-    * fixed inline crash with assembler routines
-
-  Revision 1.18  2001/08/30 19:43:50  peter
-    * detect duplicate labels
-
-  Revision 1.17  2001/04/13 01:22:06  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.16  2001/02/20 21:36:39  peter
-    * tasm/masm fixes merged
-
-  Revision 1.15  2000/12/25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.14  2000/11/29 00:30:30  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.13  2000/09/24 15:06:10  peter
-    * use defines.inc
-
-  Revision 1.12  2000/08/27 20:19:38  peter
-    * store strings with case in ppu, when an internal symbol is created
-      a '$' is prefixed so it's not automatic uppercased
-
-  Revision 1.11  2000/08/27 16:11:48  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.10  2000/08/20 17:38:21  peter
-    * smartlinking fixed for linux (merged)
-
-  Revision 1.9  2000/08/16 18:33:53  peter
-    * splitted namedobjectitem.next into indexnext and listnext so it
-      can be used in both lists
-    * don't allow "word = word" type definitions (merged)
-
-  Revision 1.8  2000/08/12 19:14:58  peter
-    * ELF writer works now also with -g
-    * ELF writer is default again for linux
-
-  Revision 1.7  2000/08/12 15:34:21  peter
-    + usedasmsymbollist to check and reset only the used symbols (merged)
-
-  Revision 1.6  2000/08/09 19:49:44  peter
-    * packenumfixed things so it compiles with 1.0.0 again
-
-  Revision 1.5  2000/08/05 13:25:06  peter
-    * packenum 1 fixes (merged)
-
-  Revision 1.4  2000/07/21 15:14:01  jonas
-    + added is_addr field for labels, if they are only used for getting the address
-       (e.g. for io checks) and corresponding getaddrlabel() procedure
-
-  Revision 1.3  2000/07/13 12:08:24  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:28  michael
-  + removed logs
-
 }

+ 16 - 13
compiler/aggas.pas

@@ -20,7 +20,7 @@
 
  ****************************************************************************
 }
-{# Base unit for writing GNU assembler output. 
+{# Base unit for writing GNU assembler output.
 }
 unit aggas;
 
@@ -34,12 +34,12 @@ interface
       aasm,assemble;
 
 
-    
+
     type
-    
+
       {# This is a derived class which is used to write
-         GAS styled assembler. 
-         
+         GAS styled assembler.
+
          The WriteInstruction() method must be overriden
          to write a single instruction to the assembler
          file.
@@ -54,7 +54,7 @@ interface
 {$endif}
         procedure WriteInstruction(hp: tai);  virtual; abstract;
       end;
-      
+
 implementation
 
     uses
@@ -153,8 +153,8 @@ var
           hs[1]:='+';
          extended2str:='0d'+hs
       end;
-      
-      
+
+
   { convert floating point values }
   { to correct endian             }
   procedure swap64bitarray(var t: t64bitarray);
@@ -197,7 +197,7 @@ var
      {!!!!!!!!!!!!}
     end;
 
-      
+
 
     const
       ait_const2str : array[ait_const_32bit..ait_const_8bit] of string[8]=
@@ -645,7 +645,7 @@ var
 
            ait_instruction :
              begin
-               WriteInstruction(hp); 
+               WriteInstruction(hp);
              end;
 
 {$ifdef GDB}
@@ -791,11 +791,14 @@ var
        comment(v_info,'Done writing gas-styled assembler output for '+current_module.mainsource^);
 {$endif EXTDEBUG}
     end;
-      
-end.      
+
+end.
 {
   $Log$
-  Revision 1.2  2002-04-15 18:53:48  carl
+  Revision 1.3  2002-05-14 19:34:38  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.2  2002/04/15 18:53:48  carl
   + comments in register allocator uses std_Reg2str
 
   Revision 1.1  2002/04/14 16:51:54  carl

+ 4 - 33
compiler/aopt.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Jonas Maebe, member of the Free Pascal
+    Copyright (c) 1998-2002 by Jonas Maebe, member of the Free Pascal
     Development Team
 
     This unit contains the interface routines between the code generator
@@ -241,36 +241,7 @@ End.
 
 {
  $Log$
- Revision 1.1  2001-08-26 13:36:35  florian
-   * some cg reorganisation
-   * some PPC updates
+ Revision 1.2  2002-05-14 19:34:38  peter
+   * removed old logs and updated copyright year
 
- Revision 1.1  2000/07/13 06:30:07  michael
- + Initial import
-
- 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
-
-}
+}

+ 5 - 31
compiler/aoptbase.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Jonas Maebe, member of the Free Pascal
+    Copyright (c) 1998-2002 by Jonas Maebe, member of the Free Pascal
     Development Team
 
     This unit contains the base of all optimizer related objects
@@ -261,39 +261,13 @@ End.
 
 {
   $Log$
-  Revision 1.2  2002-05-14 17:28:09  peter
+  Revision 1.3  2002-05-14 19:34:38  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.2  2002/05/14 17:28:09  peter
     * synchronized cpubase between powerpc and i386
     * moved more tables from cpubase to cpuasm
     * tai_align_abstract moved to tainst, cpuasm must define
       the tai_align class now, which may be empty
 
-  Revision 1.1  2001/08/26 13:36:35  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.1  2000/07/13 06:30:07  michael
-  + Initial import
-
-  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
-
 }

+ 6 - 35
compiler/aoptcs.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Jonas Maebe, member of the Free Pascal
+    Copyright (c) 1998-2002 by Jonas Maebe, member of the Free Pascal
     Development Team
 
     This unit contains the common subexpression elimination object of the
@@ -850,7 +850,10 @@ End.
 
 {
   $Log$
-  Revision 1.4  2002-04-20 21:32:23  carl
+  Revision 1.5  2002-05-14 19:34:39  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.4  2002/04/20 21:32:23  carl
   + generic FPC_CHECKPOINTER
   + first parameter offset in stack now portable
   * rename some constants
@@ -865,36 +868,4 @@ End.
   Revision 1.2  2002/04/14 16:49:30  carl
   + att_reg2str -> gas_reg2str
 
-  Revision 1.1  2001/08/26 13:36:35  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  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
-
-}
+}

+ 6 - 26
compiler/aoptda.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Jonas Maebe, member of the Free Pascal
+    Copyright (c) 1998-2002 by Jonas Maebe, member of the Free Pascal
     Development Team
 
     This unit contains the data flow analyzer object of the assembler
@@ -177,33 +177,13 @@ End.
 
 {
   $Log$
-  Revision 1.3  2002-04-15 18:55:40  carl
+  Revision 1.4  2002-05-14 19:34:39  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.3  2002/04/15 18:55:40  carl
   + change reg2str array use
 
   Revision 1.2  2002/04/14 16:49:30  carl
   + att_reg2str -> gas_reg2str
 
-  Revision 1.1  2001/08/26 13:36:35  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  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
-
-}
+}

+ 3 - 41
compiler/aoptobj.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Jonas Maebe, member of the Free Pascal
+    Copyright (c) 1998-2002 by Jonas Maebe, member of the Free Pascal
     Development Team
 
     This unit contains the processor independent assembler optimizer
@@ -787,45 +787,7 @@ End.
 
 {
  $Log$
- Revision 1.1  2001-08-26 13:36:35  florian
-   * some cg reorganisation
-   * some PPC updates
-
- Revision 1.2  2000/07/14 05:11:49  michael
- + Patch to 1.1
-
- 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
+ Revision 1.2  2002-05-14 19:34:39  peter
+   * removed old logs and updated copyright year
 
 }

+ 5 - 107
compiler/assemble.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Peter Vreman
+    Copyright (c) 1998-2002 by Peter Vreman
 
     This unit handles the assemblerfile write and assembler calls of FPC
 
@@ -1581,7 +1581,10 @@ Implementation
 end.
 {
   $Log$
-  Revision 1.33  2002-04-10 08:07:55  jonas
+  Revision 1.34  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.33  2002/04/10 08:07:55  jonas
     * fix for the ie9999 under Linux (patch from Peter)
 
   Revision 1.32  2002/04/07 13:19:14  carl
@@ -1602,109 +1605,4 @@ end.
       with string operations
     * adapted some routines to use the new cg methods
 
-  Revision 1.29  2001/11/06 14:53:48  jonas
-    * compiles again with -dmemdebug
-
-  Revision 1.28  2001/09/18 11:30:47  michael
-  * Fixes win32 linking problems with import libraries
-  * LINKLIB Libraries are now looked for using C file extensions
-  * get_exepath fix
-
-  Revision 1.27  2001/09/17 21:29:10  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.26  2001/08/30 20:57:09  peter
-    * asbsd merged
-
-  Revision 1.25  2001/08/30 19:43:50  peter
-    * detect duplicate labels
-
-  Revision 1.24  2001/08/26 13:36:35  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.23  2001/08/07 18:47:12  peter
-    * merged netbsd start
-    * profile for win32
-
-  Revision 1.22  2001/07/01 20:16:15  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.21  2001/06/18 20:36:23  peter
-    * -Ur switch (merged)
-    * masm fixes (merged)
-    * quoted filenames for go32v2 and win32
-
-  Revision 1.20  2001/06/13 18:31:57  peter
-    * smartlink with dll fixed (merged)
-
-  Revision 1.19  2001/04/21 15:34:49  peter
-    * used target_asm.id instead of target_info.assem
-
-  Revision 1.18  2001/04/18 22:01:53  peter
-    * registration of targets and assemblers
-
-  Revision 1.17  2001/04/13 01:22:06  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.16  2001/03/13 18:42:39  peter
-    * don't create temporary smartlink dir for internalassembler
-
-  Revision 1.15  2001/03/05 21:39:11  peter
-    * changed to class with common TAssembler also for internal assembler
-
-  Revision 1.14  2001/02/26 08:08:16  michael
-  * bug correction: pipes must be closed by pclose (not close);
-    There was too many not closed processes under Linux before patch.
-    Test this by making a compiler under Linux with command
-      OPT="-P" make
-    and check a list of processes in another shell with
-      ps -xa
-
-  Revision 1.13  2001/02/20 21:36:39  peter
-    * tasm/masm fixes merged
-
-  Revision 1.12  2001/02/09 23:06:17  peter
-    * fixed uninited var
-
-  Revision 1.11  2001/02/05 20:46:59  peter
-    * support linux unit for ver1_0 compilers
-
-  Revision 1.10  2001/01/21 20:32:45  marco
-   * Renamefest. Compiler part. Not that hard.
-
-  Revision 1.9  2001/01/12 19:19:44  peter
-    * fixed searching for utils
-
-  Revision 1.8  2000/12/25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.7  2000/11/13 15:26:12  marco
-   * Renamefest
-
-  Revision 1.6  2000/10/01 19:48:23  peter
-    * lot of compile updates for cg11
-
-  Revision 1.5  2000/09/24 15:06:11  peter
-    * use defines.inc
-
-  Revision 1.4  2000/08/27 16:11:49  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.3  2000/07/13 12:08:24  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:32  michael
-  + removed logs
-
 }

+ 4 - 118
compiler/browcol.pas

@@ -1,7 +1,7 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Berczi Gabor
-    Modifications Copyright (c) 1999-2000 Florian Klaempfl and Pierre Muller
+    Copyright (c) 1998-2002 by Berczi Gabor
+    Modifications Copyright (c) 1999-2002 Florian Klaempfl and Pierre Muller
 
     Support routines for getting browser info in collections
 
@@ -2125,121 +2125,7 @@ begin
 end.
 {
   $Log$
-  Revision 1.22  2001-11-02 22:58:00  peter
-    * procsym definition rewrite
-
-  Revision 1.21  2001/09/04 11:53:48  jonas
-    * fixed compiling errors
-
-  Revision 1.20  2001/08/07 17:08:49  peter
-    * fixed rettype->returntype renaming
-
-  Revision 1.19  2001/08/04 11:06:29  peter
-    * browcol has no depends on ide/fv
-
-  Revision 1.18  2001/08/04 10:23:54  peter
-    * updates so it works with the ide
-
-  Revision 1.1.2.6  2001/03/22 17:30:11  pierre
-   * fix an error introduced in last change
-
-  Revision 1.1.2.5  2001/03/17 23:13:01  pierre
-   * fix several memory leaks
-
-  Revision 1.1.2.4  2001/03/16 17:48:19  pierre
-   * try to remove memory leaks
-
-  Revision 1.1.2.3  2000/11/06 16:56:46  pierre
-   * fix source file list
-
-  Revision 1.1.2.2  2000/08/18 13:18:52  pierre
-   * restore next instead of indexnext field for dc local var in GetAbsProcParmDefStr
-
-  Revision 1.1.2.1  2000/08/16 18:25:59  peter
-    * splitted namedobjectitem.next into indexnext and listnext so it
-      can be used in both lists
-    * don't allow "word = word" type definitions
-
-  Revision 1.1  2000/07/13 06:29:44  michael
-  + Initial import
-
-  Revision 1.43  2000/07/05 21:20:48  pierre
-   + Register TModuleSymbol
-
-  Revision 1.42  2000/07/05 10:17:38  pierre
-   * avoid internalerror on open arrays
-
-  Revision 1.41  2000/06/19 19:56:43  pierre
-   * small error fix
-
-  Revision 1.40  2000/06/16 06:08:44  pierre
-   *Gabor's changes
-
-  Revision 1.39  2000/05/29 10:04:40  pierre
-    * New bunch of Gabor changes
-
-  Revision 1.38  2000/04/20 08:52:01  pierre
-   * allow to view objects having the same name
-
-  Revision 1.37  2000/03/14 15:04:19  pierre
-   * DebuggerValue moved to fpsymbol unit
-
-  Revision 1.36  2000/03/13 20:28:12  pierre
-   * X was not found in TSortedSymbolCollection.LookUp
-
-  Revision 1.35  2000/03/08 12:25:29  pierre
-   * more fixes for TSymbol
-
-  Revision 1.34  2000/03/07 21:55:59  pierre
-    * Tsymbol and Ancestor fixes
-
-  Revision 1.33  2000/02/09 13:22:45  peter
-    * log truncated
-
-  Revision 1.32  2000/01/20 00:24:06  pierre
-   * StoreBrowserCol changed to boolean function
-
-  Revision 1.31  2000/01/07 01:14:19  peter
-    * updated copyright to 2000
-
-  Revision 1.30  1999/12/01 11:11:19  pierre
-   * don't redefine sw_integer for FPC : corrected version
-
-  Revision 1.29  1999/12/01 11:05:47  pierre
-   * don't redefine sw_integer for FPC
-
-  Revision 1.28  1999/11/30 10:40:42  peter
-    + ttype, tsymlist
-
-  Revision 1.27  1999/11/10 00:42:42  pierre
-    * LookUp function now returns the complete name in browcol
-      and fpsymbol only yakes a part of LoopUpStr
-
-  Revision 1.26  1999/11/06 14:34:17  peter
-    * truncated log to 20 revs
-
-  Revision 1.25  1999/10/26 12:30:40  peter
-    * const parameter is now checked
-    * better and generic check if a node can be used for assigning
-    * export fixes
-    * procvar equal works now (it never had worked at least from 0.99.8)
-    * defcoll changed to linkedlist with tparaitem so it can easily be
-      walked both directions
-
-  Revision 1.24  1999/09/16 07:54:48  pierre
-   * BuildSourceList allways called for dependency in FP
-
-  Revision 1.23  1999/09/07 15:07:49  pierre
-   * avoid some infinite recursions
-
-  Revision 1.22  1999/08/16 18:25:49  peter
-    * fixes from gabor
-
-  Revision 1.21  1999/08/09 14:09:04  peter
-    * updated for symtable updates
-
-  Revision 1.20  1999/08/03 22:02:29  peter
-    * moved bitmask constants to sets
-    * some other type/const renamings
+  Revision 1.23  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
 
 }

+ 3 - 31
compiler/browlog.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl and Pierre Muller
+    Copyright (c) 1998-2002 by Florian Klaempfl and Pierre Muller
 
     Support routines for creating the browser log
 
@@ -514,35 +514,7 @@ implementation
 end.
 {
   $Log$
-  Revision 1.10  2001-11-02 22:58:01  peter
-    * procsym definition rewrite
-
-  Revision 1.9  2001/08/19 09:39:27  peter
-    * local browser support fixed
-
-  Revision 1.8  2001/04/18 22:01:53  peter
-    * registration of targets and assemblers
-
-  Revision 1.7  2001/04/13 01:22:06  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.6  2000/12/25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.5  2000/10/31 22:02:46  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.4  2000/09/24 15:06:11  peter
-    * use defines.inc
-
-  Revision 1.3  2000/08/27 16:11:49  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.2  2000/07/13 11:32:32  michael
-  + removed logs
+  Revision 1.11  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
 
 }

+ 3 - 20
compiler/catch.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Michael Van Canneyt
+    Copyright (c) 1998-2002 by Michael Van Canneyt
 
     Unit to catch segmentation faults and Ctrl-C and exit gracefully
     under linux and go32v2
@@ -107,24 +107,7 @@ end.
 
 {
   $Log$
-  Revision 1.8  2001-02-26 19:44:52  peter
-    * merged generic m68k updates from fixes branch
+  Revision 1.9  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
 
-  Revision 1.7  2001/02/05 20:47:00  peter
-    * support linux unit for ver1_0 compilers
-
-  Revision 1.6  2001/01/21 20:32:45  marco
-   * Renamefest. Compiler part. Not that hard.
-
-  Revision 1.5  2000/11/13 15:26:12  marco
-   * Renamefest
-
-  Revision 1.4  2000/09/24 15:06:11  peter
-    * use defines.inc
-
-  Revision 1.3  2000/09/10 20:26:55  peter
-    * bsd patches from marco
-
-  Revision 1.2  2000/07/13 11:32:32  michael
-  + removed logs
 }

+ 5 - 35
compiler/cclasses.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl and Peter Vreman
+    Copyright (c) 1998-2002 by Florian Klaempfl and Peter Vreman
 
     This module provides some basic classes
 
@@ -1728,7 +1728,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.10  2002-05-12 16:53:04  peter
+  Revision 1.11  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.10  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
@@ -1745,37 +1748,4 @@ end.
     * fixed pascal calling method with reversing also the high tree in
       the parast, detected by tcalcst3 test
 
-  Revision 1.9  2001/11/18 18:43:13  peter
-    * overloading supported in child classes
-    * fixed parsing of classes with private and virtual and overloaded
-      so it is compatible with delphi
-
-  Revision 1.8  2001/11/05 14:16:25  jonas
-    * reduced memory usage by about 10% and increased speed by about 15%
-
-  Revision 1.7  2001/05/04 19:50:04  peter
-    * fixed dynamicarray.seek() with pos equals multiple of $10000
-
-  Revision 1.6  2001/04/13 01:22:06  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.5  2001/03/13 18:45:06  peter
-    * fixed some memory leaks
-
-  Revision 1.4  2001/03/05 21:40:01  peter
-    * fixed tdynamicarray.readstream
-
-  Revision 1.3  2000/12/29 21:57:27  peter
-    * 'classified' tdictionary, but leave it within an define
-
-  Revision 1.2  2000/12/25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.1  2000/12/24 12:25:31  peter
-    + cstreams unit
-    * dynamicarray object to class
-
 }

+ 5 - 22
compiler/cg64f32.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
     Member of the Free Pascal development team
 
     This unit implements the code generation for 64 bit int
@@ -591,7 +591,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.10  2002-05-12 16:53:04  peter
+  Revision 1.11  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.10  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
@@ -649,24 +652,4 @@ end.
       instead of direct comparisons of low/high values of orddefs because
       qword is a special case
 
-  Revision 1.2  2001/12/30 17:24:48  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
-
-  Revision 1.1  2001/12/29 15:29:58  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.1  2000/07/13 06:30:07  michael
-  + Initial import
-
-  Revision 1.1  2000/03/01 15:36:13  florian
-    * some new stuff for the new cg
-
 }

+ 5 - 71
compiler/cgbase.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit exports some help routines for the code generation
 
@@ -524,7 +524,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.13  2002-04-25 20:16:38  peter
+  Revision 1.14  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.13  2002/04/25 20:16:38  peter
     * moved more routines from cga/n386util
 
   Revision 1.12  2002/04/21 15:28:06  carl
@@ -579,73 +582,4 @@ end.
   Revision 1.6  2002/03/04 19:10:11  peter
     * removed compiler warnings
 
-  Revision 1.5  2001/12/30 17:24:48  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
-
-  Revision 1.4  2001/11/06 14:53:48  jonas
-    * compiles again with -dmemdebug
-
-  Revision 1.3  2001/09/29 21:33:47  jonas
-    * support 64bit operands in def_cgsize()
-
-  Revision 1.2  2001/09/28 20:39:33  jonas
-    * changed all flow control structures (except for exception handling
-      related things) to processor independent code (in new ncgflw unit)
-    + generic cgobj unit which contains lots of code generator helpers with
-      global "cg" class instance variable
-    + cgcpu unit for i386 (implements processor specific routines of the above
-      unit)
-    * updated cgbase and cpubase for the new code generator units
-    * include ncgflw unit in cpunode unit
-
-  Revision 1.1  2001/08/26 13:36:36  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.11  2001/08/06 21:40:46  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.10  2001/04/13 01:22:07  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.9  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.8  2000/11/30 22:16:49  florian
-    * moved to i386
-
-  Revision 1.7  2000/10/31 22:02:47  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.6  2000/09/24 15:06:17  peter
-    * use defines.inc
-
-  Revision 1.5  2000/08/27 16:11:51  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.4  2000/08/12 15:34:22  peter
-    + usedasmsymbollist to check and reset only the used symbols (merged)
-
-  Revision 1.3  2000/08/03 13:17:26  jonas
-    + allow regvars to be used inside inlined procs, which required  the
-      following changes:
-        + load regvars in genentrycode/free them in genexitcode (cgai386)
-        * moved all regvar related code to new regvars unit
-        + added pregvarinfo type to hcodegen
-        + added regvarinfo field to tprocinfo (symdef/symdefh)
-        * deallocate the regvars of the caller in secondprocinline before
-          inlining the called procedure and reallocate them afterwards
-
-  Revision 1.2  2000/07/13 11:32:41  michael
-  + removed logs
-
 }

+ 5 - 2
compiler/cginfo.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit exports some types and constants for the code generation
 
@@ -101,7 +101,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.7  2002-05-13 19:54:36  peter
+  Revision 1.8  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.7  2002/05/13 19:54:36  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 

+ 5 - 55
compiler/cgobj.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
     Member of the Free Pascal development team
 
     This unit implements the basic code generator object
@@ -1113,7 +1113,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.22  2002-05-13 19:54:36  peter
+  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
 
@@ -1212,57 +1215,4 @@ end.
   Revision 1.7  2002/03/04 19:10:11  peter
     * removed compiler warnings
 
-  Revision 1.6  2001/12/30 17:24:48  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
-
-  Revision 1.5  2001/12/29 15:28:58  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.4  2001/09/30 21:26:42  peter
-    * removed obsolete newst defines
-
-  Revision 1.3  2001/09/30 16:17:17  jonas
-    * made most constant and mem handling processor independent
-
-  Revision 1.2  2001/09/28 20:39:32  jonas
-    * changed all flow control structures (except for exception handling
-      related things) to processor independent code (in new ncgflw unit)
-    + generic cgobj unit which contains lots of code generator helpers with
-      global "cg" class instance variable
-    + cgcpu unit for i386 (implements processor specific routines of the above
-      unit)
-    * updated cgbase and cpubase for the new code generator units
-    * include ncgflw unit in cpunode unit
-
-  Revision 1.5  2001/09/09 17:10:26  jonas
-    * some more things implemented
-
-  Revision 1.4  2001/09/06 15:25:55  jonas
-    * changed type of tcg from object to class ->  abstract methods are now
-      a lot cleaner :)
-    + more updates: load_*_loc methods, op_*_* methods, g_flags2reg method
-      (if possible with geenric implementation and necessary ppc
-       implementations)
-    * worked a bit further on cgflw, now working on exitnode
-
-  Revision 1.3  2001/09/05 20:21:03  jonas
-    * new cgflow based on n386flw with all nodes until forn "translated"
-    + a_cmp_loc_*_label methods for tcg
-    + base implementatino for a_cmp_ref_*_label methods
-    * small bugfixes to powerpc cg
-
-  Revision 1.2  2001/08/26 13:37:04  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.1  2000/07/13 06:30:07  michael
-    + Initial import
 }

+ 5 - 37
compiler/cmsgs.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Peter Vreman
+    Copyright (c) 1998-2002 by Peter Vreman
 
     This unit implements the message object
 
@@ -462,46 +462,14 @@ end;
 end.
 {
   $Log$
-  Revision 1.3  2002-04-19 15:41:39  peter
+  Revision 1.4  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.3  2002/04/19 15:41:39  peter
     * better replacements that also allow $1 in the replacements without
       replacing that instance also
 
   Revision 1.2  2002/03/01 12:41:40  peter
     * fixed Message4()
 
-  Revision 1.1  2001/08/20 10:58:48  florian
-    * renamed messages unit to cmsgs to avoid conflicts with the
-      win32 messages unit
-
-  Revision 1.10  2001/06/03 20:21:08  peter
-    * Kylix fixes, mostly case names of units
-
-  Revision 1.9  2001/05/27 14:30:55  florian
-    + some widestring stuff added
-
-  Revision 1.8  2001/04/21 13:32:07  peter
-    * remove endless loop with replacements (merged)
-
-  Revision 1.7  2001/04/14 16:05:41  jonas
-    * allow a single replacement string to be substituted more than once per
-      message (already used in assembler reader messages for "fsub x" etc.
-      transformations) (merged)
-
-  Revision 1.6  2001/03/10 13:19:10  peter
-    * don't check messagefile for numbers, this allows the usage of
-      1.1 msgfiles with a 1.0.x compiler
-
-  Revision 1.5  2000/11/29 00:30:31  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.4  2000/09/24 21:33:46  peter
-    * message updates merges
-
-  Revision 1.3  2000/09/24 15:06:18  peter
-    * use defines.inc
-
-  Revision 1.2  2000/07/13 11:32:43  michael
-  + removed logs
-
 }

+ 3 - 49
compiler/comphook.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Peter Vreman
+    Copyright (c) 1998-2002 by Peter Vreman
 
     This unit handles the compilerhooks for output to external programs
 
@@ -355,53 +355,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.16  2001-08-04 10:23:54  peter
-    * updates so it works with the ide
-
-  Revision 1.15  2001/06/07 21:25:57  peter
-    * Regenerated
-
-  Revision 1.14  2001/06/06 17:20:21  jonas
-    * fixed wrong typed constant procvars in preparation of my fix which will
-      disallow them in FPC mode (plus some other unmerged changes since
-      LAST_MERGE)
-
-  Revision 1.13  2001/02/05 20:47:00  peter
-    * support linux unit for ver1_0 compilers
-
-  Revision 1.12  2001/01/21 20:32:45  marco
-   * Renamefest. Compiler part. Not that hard.
-
-  Revision 1.11  2000/12/26 15:58:29  peter
-    * check for verbosity in verbose instead of comphook
-
-  Revision 1.10  2000/12/25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.9  2000/11/13 15:26:12  marco
-   * Renamefest
-
-  Revision 1.8  2000/09/30 16:07:20  peter
-    * prefix fix (merged)
-
-  Revision 1.7  2000/09/24 21:33:46  peter
-    * message updates merges
-
-  Revision 1.6  2000/09/24 15:06:13  peter
-    * use defines.inc
-
-  Revision 1.5  2000/08/27 16:11:50  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.4  2000/08/13 13:04:15  peter
-    * -vb update
-
-  Revision 1.3  2000/08/12 15:30:45  peter
-    * IDE patch for stream reading (merged)
-
-  Revision 1.2  2000/07/13 11:32:38  michael
-  + removed logs
+  Revision 1.17  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
 
 }

+ 5 - 72
compiler/compiler.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit is the interface of the compiler which can be used by
      external programs to link in the compiler
@@ -337,7 +337,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.26  2002-05-12 16:53:05  peter
+  Revision 1.27  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.26  2002/05/12 16:53:05  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -363,74 +366,4 @@ end.
   Revision 1.23  2002/03/24 19:05:31  carl
   + patch for SPARC from Mazen NEIFER
 
-  Revision 1.22  2001/09/18 11:30:47  michael
-  * Fixes win32 linking problems with import libraries
-  * LINKLIB Libraries are now looked for using C file extensions
-  * get_exepath fix
-
-  Revision 1.21  2001/05/06 14:49:16  peter
-    * ppu object to class rewrite
-    * move ppu read and write stuff to fppu
-
-  Revision 1.20  2001/04/21 13:37:16  peter
-    * made tclassheader using class of to implement cpu dependent code
-
-  Revision 1.19  2001/04/18 22:01:53  peter
-    * registration of targets and assemblers
-
-  Revision 1.18  2001/04/13 18:08:36  peter
-    * scanner object to class
-
-  Revision 1.17  2001/04/13 01:22:06  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.16  2001/04/02 21:20:29  peter
-    * resulttype rewrite
-
-  Revision 1.15  2000/12/26 15:57:25  peter
-    * use system.paramstr()
-
-  Revision 1.14  2000/12/25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.13  2000/12/24 12:24:38  peter
-    * moved preprocessfile into a conditional
-
-  Revision 1.11  2000/11/29 00:30:30  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.10  2000/10/31 22:02:46  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.9  2000/10/15 09:39:36  peter
-    * moved cpu*.pas to i386/
-    * renamed n386 to common cpunode
-
-  Revision 1.8  2000/10/14 10:14:46  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.7  2000/10/08 10:26:33  peter
-    * merged @result fix from Pierre
-
-  Revision 1.6  2000/09/24 15:06:14  peter
-    * use defines.inc
-
-  Revision 1.5  2000/08/27 16:11:50  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.4  2000/08/21 09:14:40  jonas
-    - removed catch unit from uses clause for Linux (clashed with fpcatch
-     from IDE and is already in pp.pas for command line compiler) (merged
-     from fixes branch)
-
-  Revision 1.3  2000/08/04 22:00:50  peter
-    * merges from fixes
-
-  Revision 1.2  2000/07/13 11:32:38  michael
-  + removed logs
 }

+ 3 - 29
compiler/compinnr.inc

@@ -1,7 +1,7 @@
 {
     $Id$
     This file is part of the Free Pascal run time library and compiler.
-    Copyright (c) 1998-2000 by the Free Pascal development team
+    Copyright (c) 1998-2002 by the Free Pascal development team
 
     Internal Function/Constant Evaluator numbers
 
@@ -104,33 +104,7 @@ const
 
 {
   $Log$
-  Revision 1.4  2001-10-24 11:51:39  marco
-   * Make new/dispose system functions instead of keywords
-
-  Revision 1.3  2001/07/09 21:15:40  peter
-    * Length made internal
-    * Add array support for Length
-
-  Revision 1.2  2000/11/09 17:46:54  florian
-    * System.TypeInfo fixed
-    + System.Finalize implemented
-    + some new keywords for interface support added
-
-  Revision 1.1  2000/11/04 16:48:32  florian
-    * innr.inc renamed to make compiler compilation easier because the rtl contains
-      a file of the same name
-
-  Revision 1.4  2000/10/21 18:16:11  florian
-    * a lot of changes:
-       - basic dyn. array support
-       - basic C++ support
-       - some work for interfaces done
-       ....
-
-  Revision 1.3  2000/08/16 13:06:06  florian
-    + support of 64 bit integer constants
-
-  Revision 1.2  2000/07/13 11:32:43  michael
-  + removed logs
+  Revision 1.5  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
 
 }

+ 5 - 33
compiler/comprsrc.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Handles the resource files handling
 
@@ -142,38 +142,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.11  2002-04-04 18:32:37  carl
-  + added wdosx support (patch from Pavel)
-
-  Revision 1.10  2001/08/07 18:47:12  peter
-    * merged netbsd start
-    * profile for win32
-
-  Revision 1.9  2001/04/18 22:01:53  peter
-    * registration of targets and assemblers
-
-  Revision 1.8  2001/03/13 21:01:14  peter
-    * string fixes
-
-  Revision 1.7  2001/02/20 21:41:17  peter
-    * new fixfilename, findfile for unix. Look first for lowercase, then
-      NormalCase and last for UPPERCASE names.
+  Revision 1.12  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
 
-  Revision 1.6  2000/12/25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.5  2000/09/24 15:06:14  peter
-    * use defines.inc
-
-  Revision 1.4  2000/08/27 16:11:50  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.3  2000/08/04 22:00:51  peter
-    * merges from fixes
-
-  Revision 1.2  2000/07/13 11:32:38  michael
-  + removed logs
+  Revision 1.11  2002/04/04 18:32:37  carl
+  + added wdosx support (patch from Pavel)
 
 }

+ 2 - 13
compiler/crc.pas

@@ -101,18 +101,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.6  2001-06-03 20:21:08  peter
-    * Kylix fixes, mostly case names of units
+  Revision 1.7  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
 
-  Revision 1.5  2001/05/09 14:11:10  jonas
-    * range check error fixes from Peter
-
-  Revision 1.4  2000/09/24 15:06:14  peter
-    * use defines.inc
-
-  Revision 1.3  2000/08/13 13:04:38  peter
-    * new ppu version
-
-  Revision 1.2  2000/07/13 11:32:39  michael
-  + removed logs
 }

+ 3 - 31
compiler/cresstr.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Michael van Canneyt
+    Copyright (c) 1998-2002 by Michael van Canneyt
 
     Handles resourcestrings
 
@@ -292,35 +292,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.10  2001-04-13 01:22:07  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.9  2001/02/24 10:44:55  peter
-    * generate .rst from ppufilename instead of modulename
-
-  Revision 1.8  2000/12/25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.7  2000/11/13 14:44:35  jonas
-    * fixes so no more range errors with improved range checking code
-
-  Revision 1.6  2000/09/24 15:06:14  peter
-    * use defines.inc
-
-  Revision 1.5  2000/08/27 16:11:50  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.4  2000/08/15 09:45:29  michael
-  + Merged changes in fixbranch
-
-  Revision 1.1.2.1  2000/08/15 09:41:56  michael
-  + Fix to write rst file in output directory of module
-
-  Revision 1.1  2000/07/13 06:29:48  michael
-  + Initial import
+  Revision 1.11  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
 
 }

+ 3 - 8
compiler/cstreams.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl and Peter Vreman
+    Copyright (c) 1998-2002 by Florian Klaempfl and Peter Vreman
 
     This module provides stream classes
 
@@ -610,12 +610,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.2  2000-12-25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.1  2000/12/24 12:25:31  peter
-    + cstreams unit
-    * dynamicarray object to class
+  Revision 1.3  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
 
 }

+ 15 - 12
compiler/cutils.pas

@@ -1,11 +1,11 @@
 {
     $Id$
-    Copyright (C) 1998-2000 by Florian Klaempfl
+    Copyright (C) 1998-2002 by Florian Klaempfl
 
     This unit implements some support functions
 
     This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published 
+    it under the terms of the GNU General Public License as published
     by the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.
 
@@ -18,12 +18,12 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
- 
+
 ****************************************************************************
 }
 {# This unit contains some generic support functions which are used
    in the different parts of the compiler.
-}   
+}
 unit cutils;
 
 {$i defines.inc}
@@ -49,7 +49,7 @@ interface
     function SwapWord(x : word): word;
     {# Return value @var(i) aligned on @var(a) boundary }
     function align(i,a:longint):longint;
-    
+
     function used_align(varalign,minalign,maxalign:longint):longint;
     function size_2_align(len : longint) : longint;
     procedure Replace(var s:string;s1:string;const s2:string);
@@ -68,7 +68,7 @@ interface
     procedure valint(S : string;var V : longint;var code : integer);
     {# Returns true if the string s is a number }
     function is_number(const s : string) : boolean;
-    {# Returns true if value is a power of 2, the actual  
+    {# Returns true if value is a power of 2, the actual
        exponent value is returned in power.
     }
     function ispowerof2(value : int64;var power : longint) : boolean;
@@ -84,15 +84,15 @@ interface
     { a pointer to this mem                                           }
     function stringdup(const s : string) : pstring;
 
-    {# Allocates memory for the string @var(s) and copies s as zero 
-       terminated string to that allocated memory and returns a pointer 
-       to that mem 
+    {# Allocates memory for the string @var(s) and copies s as zero
+       terminated string to that allocated memory and returns a pointer
+       to that mem
     }
     function  strpnew(const s : string) : pchar;
     procedure strdispose(var p : pchar);
 
-    {# makes the character @var(c) lowercase, with spanish, french and german 
-       character set 
+    {# makes the character @var(c) lowercase, with spanish, french and german
+       character set
     }
     function lowercase(c : char) : char;
 
@@ -765,7 +765,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.14  2002-04-12 17:16:35  carl
+  Revision 1.15  2002-05-14 19:34:40  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.14  2002/04/12 17:16:35  carl
   + more documentation of basic unit
 
 }

+ 3 - 15
compiler/dmisc.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Dos unit for BP7 compatible RTL for Delphi
 
@@ -836,19 +836,7 @@ End;
 end.
 {
   $Log$
-  Revision 1.6  2001-09-02 21:16:25  peter
-    * delphi fixes
-
-  Revision 1.5  2001/06/03 20:21:08  peter
-    * Kylix fixes, mostly case names of units
-
-  Revision 1.4  2000/09/24 21:19:50  peter
-    * delphi compile fixes
-
-  Revision 1.3  2000/09/24 15:06:15  peter
-    * use defines.inc
-
-  Revision 1.2  2000/07/13 11:32:40  michael
-  + removed logs
+  Revision 1.7  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
 
 }

+ 3 - 51
compiler/export.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit implements an uniform export object
 
@@ -180,55 +180,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.16  2001-06-28 19:46:25  peter
-    * added override and virtual for constructors
-
-  Revision 1.15  2001/06/06 21:58:16  peter
-    * Win32 fixes for Makefile so it doesn't require sh.exe
-
-  Revision 1.14  2001/04/18 22:01:53  peter
-    * registration of targets and assemblers
-
-  Revision 1.13  2001/04/13 01:22:07  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.12  2001/02/26 19:44:52  peter
-    * merged generic m68k updates from fixes branch
-
-  Revision 1.11  2001/02/03 00:09:02  peter
-    * fixed netware typo in previous commit
-
-  Revision 1.10  2001/02/02 22:43:39  peter
-    * add notarget defines
-
-  Revision 1.9  2000/12/25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.8  2000/11/29 00:30:30  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.7  2000/10/31 22:02:46  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.6  2000/09/24 15:06:16  peter
-    * use defines.inc
-
-  Revision 1.5  2000/09/16 12:22:52  peter
-    * freebsd support merged
-
-  Revision 1.4  2000/09/11 17:00:22  florian
-    + first implementation of Netware Module support, thanks to
-      Armin Diehl ([email protected]) for providing the patches
-
-  Revision 1.3  2000/08/27 16:11:50  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.2  2000/07/13 11:32:41  michael
-  + removed logs
+  Revision 1.17  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
 
 }

+ 5 - 41
compiler/finput.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit implements an extended file management
 
@@ -687,46 +687,10 @@ uses
 end.
 {
   $Log$
-  Revision 1.12  2002-04-04 18:34:00  carl
-  + added wdosx support (patch from Pavel)
-
-  Revision 1.11  2001/08/04 10:23:54  peter
-    * updates so it works with the ide
-
-  Revision 1.10  2001/06/03 15:15:31  peter
-    * dllprt0 stub for linux shared libs
-    * pass -init and -fini for linux shared libs
-    * libprefix splitted into staticlibprefix and sharedlibprefix
-
-  Revision 1.9  2001/04/18 22:01:53  peter
-    * registration of targets and assemblers
-
-  Revision 1.8  2001/04/13 01:22:07  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.7  2001/03/13 18:43:17  peter
-    * made memdebug and heaptrc compilable again
+  Revision 1.13  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
 
-  Revision 1.6  2000/12/25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.5  2000/11/07 20:48:33  peter
-    * removed ref_count from tinputfile it's not used
-
-  Revision 1.4  2000/10/31 22:02:46  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.3  2000/10/14 21:52:54  peter
-    * fixed memory leaks
-
-  Revision 1.2  2000/09/24 15:06:16  peter
-    * use defines.inc
-
-  Revision 1.1  2000/08/27 16:11:50  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
+  Revision 1.12  2002/04/04 18:34:00  carl
+  + added wdosx support (patch from Pavel)
 
 }

+ 5 - 68
compiler/fmodule.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit implements the first loading and searching of the modules
 
@@ -584,77 +584,14 @@ uses
 end.
 {
   $Log$
-  Revision 1.21  2002-04-04 19:05:55  peter
+  Revision 1.22  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.21  2002/04/04 19:05:55  peter
     * removed unused units
     * use tlocation.size in cg.a_*loc*() routines
 
   Revision 1.20  2002/03/28 20:46:59  carl
   - remove go32v1 support
 
-  Revision 1.19  2001/11/06 14:53:48  jonas
-    * compiles again with -dmemdebug
-
-  Revision 1.18  2001/08/04 10:23:54  peter
-    * updates so it works with the ide
-
-  Revision 1.17  2001/06/04 11:49:08  peter
-    * store used units in original type in ppu
-
-  Revision 1.16  2001/06/03 15:15:31  peter
-    * dllprt0 stub for linux shared libs
-    * pass -init and -fini for linux shared libs
-    * libprefix splitted into staticlibprefix and sharedlibprefix
-
-  Revision 1.15  2001/05/09 14:11:10  jonas
-    * range check error fixes from Peter
-
-  Revision 1.14  2001/05/06 14:49:16  peter
-    * ppu object to class rewrite
-    * move ppu read and write stuff to fppu
-
-  Revision 1.13  2001/04/18 22:01:53  peter
-    * registration of targets and assemblers
-
-  Revision 1.12  2001/04/13 18:08:37  peter
-    * scanner object to class
-
-  Revision 1.11  2001/04/13 01:22:07  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.10  2001/04/02 21:20:29  peter
-    * resulttype rewrite
-
-  Revision 1.9  2001/03/13 18:45:06  peter
-    * fixed some memory leaks
-
-  Revision 1.8  2001/03/06 18:28:02  peter
-    * patch from Pavel with a new and much faster DLL Scanner for
-      automatic importing so $linklib works for DLLs. Thanks Pavel!
-
-  Revision 1.7  2001/02/20 21:41:15  peter
-    * new fixfilename, findfile for unix. Look first for lowercase, then
-      NormalCase and last for UPPERCASE names.
-
-  Revision 1.6  2000/12/25 00:07:25  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.5  2000/11/07 20:48:33  peter
-    * removed ref_count from pinputfile it's not used
-
-  Revision 1.4  2000/10/31 22:02:46  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.3  2000/10/15 07:47:51  peter
-    * unit names and procedure names are stored mixed case
-
-  Revision 1.2  2000/09/24 15:06:16  peter
-    * use defines.inc
-
-  Revision 1.1  2000/08/27 16:11:50  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
 }

+ 5 - 35
compiler/fppu.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit implements the first loading and searching of the modules
 
@@ -1173,7 +1173,10 @@ uses
 end.
 {
   $Log$
-  Revision 1.14  2002-05-12 16:53:05  peter
+  Revision 1.15  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.14  2002/05/12 16:53:05  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -1200,37 +1203,4 @@ end.
   Revision 1.11  2002/01/19 14:20:13  peter
     * check for -Un when loading ppu with wrong name
 
-  Revision 1.10  2001/08/19 09:39:27  peter
-    * local browser support fixed
-
-  Revision 1.9  2001/06/18 20:36:23  peter
-    * -Ur switch (merged)
-    * masm fixes (merged)
-    * quoted filenames for go32v2 and win32
-
-  Revision 1.8  2001/06/04 11:49:08  peter
-    * store used units in original type in ppu
-
-  Revision 1.7  2001/05/19 23:05:19  peter
-    * support uses <unit> in <file> construction
-
-  Revision 1.6  2001/05/19 21:08:59  peter
-    * skip program when checking loaded_units for a unit
-
-  Revision 1.5  2001/05/19 13:22:47  peter
-    * fixed crash with invalid ppu version detected
-
-  Revision 1.4  2001/05/09 14:11:10  jonas
-    * range check error fixes from Peter
-
-  Revision 1.3  2001/05/08 21:06:30  florian
-    * some more support for widechars commited especially
-      regarding type casting and constants
-
-  Revision 1.2  2001/05/07 11:53:21  jonas
-    * fix from Peter for short_on_file_handles code
-
-  Revision 1.1  2001/05/06 14:49:17  peter
-    * ppu object to class rewrite
-    * move ppu read and write stuff to fppu
 }

+ 5 - 30
compiler/gdb.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This units contains special support for the GDB
 
@@ -304,35 +304,10 @@ end.
 
 {
   $Log$
-  Revision 1.10  2002-05-06 19:49:26  carl
-  + added more patches from Mazen for SPARC port
-
-  Revision 1.9  2001/12/02 17:20:58  peter
-    * merged register fixes
-
-  Revision 1.8  2001/10/12 16:05:36  peter
-    * more registers (merged)
-
-  Revision 1.7  2001/04/21 12:03:11  peter
-    * m68k updates merged from fixes branch
-
-  Revision 1.6  2001/04/13 01:22:07  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
+  Revision 1.11  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
 
-  Revision 1.5  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.4  2000/11/29 00:30:30  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.3  2000/09/24 15:06:16  peter
-    * use defines.inc
-
-  Revision 1.2  2000/07/13 11:32:41  michael
-  + removed logs
+  Revision 1.10  2002/05/06 19:49:26  carl
+  + added more patches from Mazen for SPARC port
 
 }

+ 5 - 21
compiler/gendef.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generation of a .def file for needed for Os2/Win32
 
@@ -160,26 +160,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.7  2002-04-04 18:36:46  carl
-  + added wdosx support (patch from Pavel)
-
-  Revision 1.6  2001/04/13 01:22:07  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.5  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
+  Revision 1.8  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
 
-  Revision 1.4  2000/09/24 15:06:16  peter
-    * use defines.inc
-
-  Revision 1.3  2000/08/27 16:11:50  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.2  2000/07/13 11:32:41  michael
-  + removed logs
+  Revision 1.7  2002/04/04 18:36:46  carl
+  + added wdosx support (patch from Pavel)
 
 }

+ 5 - 174
compiler/globals.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (C) 1998-2000 by Florian Klaempfl
+    Copyright (C) 1998-2002 by Florian Klaempfl
 
     This unit implements some support functions and global variables
 
@@ -1460,7 +1460,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.55  2002-04-20 21:32:23  carl
+  Revision 1.56  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.55  2002/04/20 21:32:23  carl
   + generic FPC_CHECKPOINTER
   + first parameter offset in stack now portable
   * rename some constants
@@ -1491,176 +1494,4 @@ end.
    * implicit result variable generation for assembler routines
    * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
 
-  Revision 1.50  2001/12/06 17:57:33  florian
-    + parasym to tparaitem added
-
-  Revision 1.49  2001/10/25 21:22:32  peter
-    * calling convention rewrite
-
-  Revision 1.48  2001/10/23 21:49:42  peter
-    * $calling directive and -Cc commandline patch added
-      from Pavel Ozerski
-
-  Revision 1.47  2001/10/21 12:33:05  peter
-    * array access for properties added
-
-  Revision 1.46  2001/10/20 20:30:20  peter
-    * read only typed const support, switch $J-
-
-  Revision 1.45  2001/10/16 15:10:34  jonas
-    * fixed goto/label/try bugs
-
-  Revision 1.44  2001/10/12 16:06:17  peter
-    * pathexists fix (merged)
-
-  Revision 1.43  2001/09/18 11:30:47  michael
-  * Fixes win32 linking problems with import libraries
-  * LINKLIB Libraries are now looked for using C file extensions
-  * get_exepath fix
-
-  Revision 1.42  2001/09/17 21:29:11  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.41  2001/08/19 11:22:22  peter
-    * palmos support from v10 merged
-
-  Revision 1.40  2001/08/04 10:23:54  peter
-    * updates so it works with the ide
-
-  Revision 1.39  2001/07/01 20:16:15  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.38  2001/06/18 20:36:24  peter
-    * -Ur switch (merged)
-    * masm fixes (merged)
-    * quoted filenames for go32v2 and win32
-
-  Revision 1.37  2001/06/03 21:57:35  peter
-    + hint directive parsing support
-
-  Revision 1.36  2001/06/03 20:21:08  peter
-    * Kylix fixes, mostly case names of units
-
-  Revision 1.35  2001/05/30 21:35:48  peter
-    * netware patches for copyright, screenname, threadname directives
-
-  Revision 1.34  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.33  2001/05/06 14:49:17  peter
-    * ppu object to class rewrite
-    * move ppu read and write stuff to fppu
-
-  Revision 1.32  2001/04/18 22:01:53  peter
-    * registration of targets and assemblers
-
-  Revision 1.31  2001/04/15 09:48:29  peter
-    * fixed crash in labelnode
-    * easier detection of goto and label in try blocks
-
-  Revision 1.30  2001/04/13 01:22:07  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.29  2001/04/04 21:30:42  florian
-    * applied several fixes to get the DD8 Delphi Unit compiled
-     e.g. "forward"-interfaces are working now
-
-  Revision 1.28  2001/02/20 21:41:16  peter
-    * new fixfilename, findfile for unix. Look first for lowercase, then
-      NormalCase and last for UPPERCASE names.
-
-  Revision 1.27  2001/02/09 23:05:45  peter
-    * default packenum=1 for tp7 mode
-
-  Revision 1.26  2001/02/05 20:47:00  peter
-    * support linux unit for ver1_0 compilers
-
-  Revision 1.25  2001/01/21 20:32:45  marco
-   * Renamefest. Compiler part. Not that hard.
-
-  Revision 1.24  2001/01/20 18:32:52  hajny
-    + APPTYPE support under OS/2, app_fs, GetEnvPChar for OS/2
-
-  Revision 1.23  2001/01/13 00:03:41  peter
-    * fixed findexe to also support already extension in name
-
-  Revision 1.22  2000/12/26 15:57:25  peter
-    * use system.paramstr()
-
-  Revision 1.21  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.20  2000/11/13 15:26:12  marco
-   * Renamefest
-
-  Revision 1.19  2000/11/12 22:20:37  peter
-    * create generic toutputsection for binary writers
-
-  Revision 1.18  2000/11/04 14:25:19  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.17  2000/10/31 22:02:46  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.16  2000/10/04 14:51:08  pierre
-   * IsExe restored
-
-  Revision 1.15  2000/09/27 21:20:56  peter
-    * also set initlocalswitches in setcompilemode (merged)
-
-  Revision 1.14  2000/09/26 10:50:41  jonas
-    * initmodeswitches is changed is you change the compiler mode from the
-      command line (the -S<x> switches didn't work anymore for changing the
-      compiler mode) (merged from fixes branch)
-
-  Revision 1.13  2000/09/24 21:33:46  peter
-    * message updates merges
-
-  Revision 1.12  2000/09/24 21:19:50  peter
-    * delphi compile fixes
-
-  Revision 1.11  2000/09/24 15:12:40  peter
-    * fixed typo
-
-  Revision 1.10  2000/09/24 15:06:16  peter
-    * use defines.inc
-
-  Revision 1.9  2000/09/24 10:33:07  peter
-    * searching of exe in path also for OS/2
-    * fixed searching of exe in path.
-
-  Revision 1.8  2000/09/11 17:00:22  florian
-    + first implementation of Netware Module support, thanks to
-      Armin Diehl ([email protected]) for providing the patches
-
-  Revision 1.7  2000/08/27 16:11:51  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.6  2000/08/12 19:14:58  peter
-    * ELF writer works now also with -g
-    * ELF writer is default again for linux
-
-  Revision 1.5  2000/08/12 15:30:44  peter
-    * IDE patch for stream reading (merged)
-
-  Revision 1.4  2000/08/02 19:49:59  peter
-    * first things for default parameters
-
-  Revision 1.3  2000/07/13 12:08:25  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:41  michael
-  + removed logs
-
 }

+ 5 - 65
compiler/globtype.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl, Pierre Muller
+    Copyright (c) 1998-2002 by Florian Klaempfl, Pierre Muller
 
     Global types
 
@@ -255,7 +255,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.23  2002-05-12 16:53:05  peter
+  Revision 1.24  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.23  2002/05/12 16:53:05  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -286,67 +289,4 @@ end.
    * implicit result variable generation for assembler routines
    * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
 
-  Revision 1.19  2001/10/25 21:22:32  peter
-    * calling convention rewrite
-
-  Revision 1.18  2001/10/24 11:46:06  marco
-   * Opt Align fix.
-
-  Revision 1.17  2001/10/23 21:49:42  peter
-    * $calling directive and -Cc commandline patch added
-      from Pavel Ozerski
-
-  Revision 1.16  2001/10/20 20:30:21  peter
-    * read only typed const support, switch $J-
-
-  Revision 1.15  2001/09/17 21:29:11  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.14  2001/07/30 20:59:27  peter
-    * m68k updates from v10 merged
-
-  Revision 1.13  2001/07/01 20:16:15  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.12  2001/06/03 21:57:35  peter
-    + hint directive parsing support
-
-  Revision 1.11  2001/01/20 18:32:52  hajny
-    + APPTYPE support under OS/2, app_fs, GetEnvPChar for OS/2
-
-  Revision 1.10  2000/11/29 00:30:30  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.9  2000/11/12 22:20:37  peter
-    * create generic toutputsection for binary writers
-
-  Revision 1.8  2000/11/04 14:25:19  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.7  2000/09/24 15:06:16  peter
-    * use defines.inc
-
-  Revision 1.6  2000/09/21 11:30:49  jonas
-    + support for full boolean evaluation (b+/b-), default remains short
-      circuit boolean evaluation
-
-  Revision 1.5  2000/08/05 13:25:06  peter
-    * packenum 1 fixes (merged)
-
-  Revision 1.4  2000/08/02 19:49:59  peter
-    * first things for default parameters
-
-  Revision 1.3  2000/07/13 12:08:25  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:41  michael
-  + removed logs
-
 }

+ 5 - 148
compiler/htypechk.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit exports some help routines for the type checking
 
@@ -938,7 +938,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.42  2002-04-02 17:11:28  peter
+  Revision 1.43  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.42  2002/04/02 17:11:28  peter
     * tlocation,treference update
     * LOC_CONSTANT added for better constant handling
     * secondadd splitted in multiple routines
@@ -953,150 +956,4 @@ end.
     * no longer allow assignments to pointer expressions (unless there's a
       deref), reported by John Lee
 
-  Revision 1.40  2001/12/31 16:59:41  peter
-    * protected/private symbols parsing fixed
-
-  Revision 1.39  2001/11/08 21:55:36  marco
-   * Fix from Peter. Fixes a hang when ptop's upperstr procedure is converted
-     to ansistrings
-
-  Revision 1.38  2001/11/02 22:58:01  peter
-    * procsym definition rewrite
-
-  Revision 1.37  2001/10/20 20:30:21  peter
-    * read only typed const support, switch $J-
-
-  Revision 1.36  2001/10/12 13:51:51  jonas
-    * fixed internalerror(10) due to previous fpu overflow fixes ("merged")
-    * fixed bug in n386add (introduced after compilerproc changes for string
-      operations) where calcregisters wasn't called for shortstring addnodes
-    * NOTE: from now on, the location of a binary node must now always be set
-       before you call calcregisters() for it
-
-  Revision 1.35  2001/09/17 21:29:11  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.34  2001/09/07 07:46:17  jonas
-    * allow typecasting from child object types to parent object types (with
-      different sizes)
-
-  Revision 1.33  2001/09/02 21:13:31  peter
-    * check for size differences in typecasts when assigning
-
-  Revision 1.32  2001/08/26 13:36:37  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.31  2001/08/23 14:28:35  jonas
-    + tempcreate/ref/delete nodes (allows the use of temps in the
-      resulttype and first pass)
-    * made handling of read(ln)/write(ln) processor independent
-    * moved processor independent handling for str and reset/rewrite-typed
-      from firstpass to resulttype pass
-    * changed names of helpers in text.inc to be generic for use as
-      compilerprocs + added "iocheck" directive for most of them
-    * reading of ordinals is done by procedures instead of functions
-      because otherwise FPC_IOCHECK overwrote the result before it could
-      be stored elsewhere (range checking still works)
-    * compilerprocs can now be used in the system unit before they are
-      implemented
-    * added note to errore.msg that booleans can't be read using read/readln
-
-  Revision 1.30  2001/08/06 21:40:46  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.29  2001/06/04 18:04:36  peter
-    * fixes to valid_for_assign for properties
-
-  Revision 1.28  2001/06/04 11:48:02  peter
-    * better const to var checking
-
-  Revision 1.27  2001/05/18 22:57:08  peter
-    * replace constant by cpu dependent value (merged)
-
-  Revision 1.26  2001/05/08 08:52:05  jonas
-    * fix from Peter to avoid excessive number of warnings
-
-  Revision 1.25  2001/04/22 22:46:49  florian
-    * more variant support
-
-  Revision 1.24  2001/04/13 01:22:08  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.23  2001/04/02 21:20:29  peter
-    * resulttype rewrite
-
-  Revision 1.22  2001/02/20 21:46:26  peter
-    * don't allow assign to void type (merged)
-
-  Revision 1.21  2001/02/04 11:12:17  jonas
-    * fixed web bug 1377 & const pointer arithmtic
-
-  Revision 1.20  2000/12/09 13:04:05  florian
-    * web bug 1207 fixed: field and properties of const classes can be
-      changed
-
-  Revision 1.19  2000/11/29 00:30:31  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.18  2000/11/28 17:14:33  jonas
-    * fixed crash when trying to use an overloaded operator which is nowhere
-      defined
-
-  Revision 1.17  2000/11/28 14:04:03  jonas
-    * fixed operator overloading problems
-
-  Revision 1.16  2000/11/13 11:30:54  florian
-    * some bugs with interfaces and NIL fixed
-
-  Revision 1.15  2000/11/12 22:20:37  peter
-    * create generic toutputsection for binary writers
-
-  Revision 1.14  2000/11/04 14:25:19  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.13  2000/10/31 22:02:47  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.12  2000/10/14 10:14:47  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.11  2000/10/01 19:48:23  peter
-    * lot of compile updates for cg11
-
-  Revision 1.10  2000/09/29 15:45:23  florian
-    * make cycle fixed
-
-  Revision 1.9  2000/09/28 19:49:51  florian
-  *** empty log message ***
-
-  Revision 1.8  2000/09/27 18:14:31  florian
-    * fixed a lot of syntax errors in the n*.pas stuff
-
-  Revision 1.7  2000/09/26 20:06:13  florian
-    * hmm, still a lot of work to get things compilable
-
-  Revision 1.6  2000/09/24 15:06:17  peter
-    * use defines.inc
-
-  Revision 1.5  2000/08/27 16:11:51  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.4  2000/08/16 18:33:53  peter
-    * splitted namedobjectitem.next into indexnext and listnext so it
-      can be used in both lists
-    * don't allow "word = word" type definitions (merged)
-
-  Revision 1.3  2000/08/07 11:31:04  jonas
-    * fixed bug in type conversions between enum subranges (it didn't take
-      the packenum directive into account)
-    + define PACKENUMFIXED symbol in options.pas
-     (merged from fixes branch)
-
-  Revision 1.2  2000/07/13 11:32:41  michael
-  + removed logs
 }

+ 5 - 61
compiler/i386/ag386att.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit implements an asmoutput class for i386 AT&T syntax
 
@@ -338,7 +338,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.19  2002-05-12 16:53:16  peter
+  Revision 1.20  2002-05-14 19:34:52  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.19  2002/05/12 16:53:16  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -387,63 +390,4 @@ end.
       with string operations
     * adapted some routines to use the new cg methods
 
-  Revision 1.12  2001/12/29 15:29:58  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.11  2001/09/17 21:29:13  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.10  2001/08/30 20:57:10  peter
-    * asbsd merged
-
-  Revision 1.9  2001/05/06 17:13:23  jonas
-    * completed incomplete typed constant records
-
-  Revision 1.8  2001/04/21 15:33:03  peter
-    * stupid bug, finalization to initialization renaming
-
-  Revision 1.7  2001/04/21 12:09:00  peter
-    * fixed bug 1472 (merged)
-
-  Revision 1.6  2001/04/18 22:02:00  peter
-    * registration of targets and assemblers
-
-  Revision 1.5  2001/04/13 01:22:17  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.4  2001/03/05 21:39:11  peter
-    * changed to class with common TAssembler also for internal assembler
-
-  Revision 1.3  2001/01/13 20:24:24  peter
-    * fixed operand order that got mixed up for external writers after
-      my previous assembler block valid instruction check
-
-  Revision 1.2  2000/12/25 00:07:31  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.1  2000/11/30 22:18:48  florian
-    * moved to i386
-
-  Revision 1.6  2000/09/24 15:06:10  peter
-    * use defines.inc
-
-  Revision 1.5  2000/08/27 16:11:49  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.4  2000/08/20 17:38:21  peter
-    * smartlinking fixed for linux (merged)
-
-  Revision 1.3  2000/07/13 12:08:24  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:28  michael
-  + removed logs
-
 }

+ 5 - 53
compiler/i386/ag386bin.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Peter Vreman
+    Copyright (c) 1998-2002 by Peter Vreman
 
     This unit implements an binary assembler output class
 
@@ -1034,7 +1034,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.8  2002-04-15 19:12:10  carl
+  Revision 1.9  2002-05-14 19:34:52  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.8  2002/04/15 19:12:10  carl
   + target_info.size_of_pointer -> pointer_size
   + some cleanup of unused types/variables
   * move several constants from cpubase to their specific units
@@ -1042,55 +1045,4 @@ end.
   + att_Reg2str -> gas_reg2str
   + int_reg2str -> std_reg2str
 
-  Revision 1.7  2001/04/13 01:22:17  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.6  2001/03/11 22:58:51  peter
-    * getsym redesign, removed the globals srsym,srsymtable
-
-  Revision 1.5  2001/03/05 21:39:11  peter
-    * changed to class with common TAssembler also for internal assembler
-
-  Revision 1.4  2000/12/25 00:07:31  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.3  2000/12/23 19:59:35  peter
-    * object to class for ow/og objects
-    * split objectdata from objectoutput
-
-  Revision 1.2  2000/12/12 19:50:21  peter
-    * clear usedasmsymbol at exit of writetree
-
-  Revision 1.1  2000/11/30 22:18:48  florian
-    * moved to i386
-
-  Revision 1.9  2000/11/12 22:20:37  peter
-    * create generic toutputsection for binary writers
-
-  Revision 1.8  2000/09/24 15:06:10  peter
-    * use defines.inc
-
-  Revision 1.7  2000/08/27 16:11:49  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.6  2000/08/12 15:34:22  peter
-    + usedasmsymbollist to check and reset only the used symbols (merged)
-
-  Revision 1.5  2000/08/08 19:28:57  peter
-    * memdebug/memory patches (merged)
-    * only once illegal directive (merged)
-
-  Revision 1.4  2000/08/04 22:00:50  peter
-    * merges from fixes
-
-  Revision 1.3  2000/07/13 12:08:24  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:29  michael
-  + removed logs
-
 }

+ 5 - 67
compiler/i386/ag386int.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit implements an asmoutput class for Intel syntax with Intel i386+
 
@@ -824,7 +824,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.18  2002-05-12 16:53:16  peter
+  Revision 1.19  2002-05-14 19:34:53  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.18  2002/05/12 16:53:16  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -864,69 +867,4 @@ end.
       with string operations
     * adapted some routines to use the new cg methods
 
-  Revision 1.14  2001/06/18 20:36:25  peter
-    * -Ur switch (merged)
-    * masm fixes (merged)
-    * quoted filenames for go32v2 and win32
-
-  Revision 1.13  2001/05/06 17:13:23  jonas
-    * completed incomplete typed constant records
-
-  Revision 1.12  2001/04/21 15:33:03  peter
-    * stupid bug, finalization to initialization renaming
-
-  Revision 1.11  2001/04/21 12:09:00  peter
-    * fixed bug 1472 (merged)
-
-  Revision 1.10  2001/04/18 22:02:00  peter
-    * registration of targets and assemblers
-
-  Revision 1.9  2001/04/13 01:22:17  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.8  2001/03/25 12:30:17  peter
-    * masm -al fix (merged)
-
-  Revision 1.7  2001/03/05 21:39:11  peter
-    * changed to class with common TAssembler also for internal assembler
-
-  Revision 1.6  2001/02/20 21:36:39  peter
-    * tasm/masm fixes merged
-
-  Revision 1.5  2001/01/13 20:24:24  peter
-    * fixed operand order that got mixed up for external writers after
-      my previous assembler block valid instruction check
-
-  Revision 1.4  2000/12/25 00:07:31  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.3  2000/12/18 21:56:52  peter
-    * extdebug fixes
-
-  Revision 1.2  2000/11/29 00:30:43  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.1  2000/10/15 09:47:42  peter
-    * moved to i386/
-
-  Revision 1.6  2000/09/24 15:06:10  peter
-    * use defines.inc
-
-  Revision 1.5  2000/08/27 16:11:49  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.4  2000/08/20 17:38:21  peter
-    * smartlinking fixed for linux (merged)
-
-  Revision 1.3  2000/07/13 12:08:24  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:30  michael
-  + removed logs
-
 }

+ 5 - 62
compiler/i386/ag386nsm.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit implements an asmoutput class for the Nasm assembler with
     Intel syntax for the i386+
@@ -898,7 +898,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.17  2002-05-12 16:53:16  peter
+  Revision 1.18  2002-05-14 19:34:54  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.17  2002/05/12 16:53:16  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -940,64 +943,4 @@ end.
       with string operations
     * adapted some routines to use the new cg methods
 
-  Revision 1.12  2001/12/29 15:29:58  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.11  2001/05/06 17:13:23  jonas
-    * completed incomplete typed constant records
-
-  Revision 1.10  2001/04/21 15:33:03  peter
-    * stupid bug, finalization to initialization renaming
-
-  Revision 1.9  2001/04/21 12:09:00  peter
-    * fixed bug 1472 (merged)
-
-  Revision 1.8  2001/04/18 22:02:00  peter
-    * registration of targets and assemblers
-
-  Revision 1.7  2001/04/13 01:22:17  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.6  2001/03/05 21:39:11  peter
-    * changed to class with common TAssembler also for internal assembler
-
-  Revision 1.5  2001/02/20 21:36:39  peter
-    * tasm/masm fixes merged
-
-  Revision 1.4  2001/01/13 20:24:24  peter
-    * fixed operand order that got mixed up for external writers after
-      my previous assembler block valid instruction check
-
-  Revision 1.3  2000/12/25 00:07:31  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.2  2000/11/29 00:30:43  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.1  2000/10/15 09:47:42  peter
-    * moved to i386/
-
-  Revision 1.6  2000/09/24 15:06:11  peter
-    * use defines.inc
-
-  Revision 1.5  2000/08/27 16:11:49  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.4  2000/08/20 17:38:21  peter
-    * smartlinking fixed for linux (merged)
-
-  Revision 1.3  2000/07/13 12:08:24  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:30  michael
-  + removed logs
-
 }

+ 3 - 33
compiler/i386/aopt386.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Jonas Maebe
+    Copyright (c) 1998-2002 by Jonas Maebe
 
     This unit calls the optimization procedures to optimize the assembler
     code for i386+
@@ -118,37 +118,7 @@ End;
 End.
 {
   $Log$
-  Revision 1.3  2000-12-25 00:07:31  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.2  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 aopt386 so it does this looping
-    * added some procedures from csopt386 to the interface because they're
-      used by rropt386 as well
-    * some changes to csopt386 and daopt386 so that newly added instructions
-      by the CSE get optimizer info (they were simply skipped previously),
-      this fixes some bugs
-
-  Revision 1.1  2000/10/15 09:47:42  peter
-    * moved to i386/
-
-  Revision 1.5  2000/09/24 15:06:11  peter
-    * use defines.inc
-
-  Revision 1.4  2000/08/19 09:10:08  jonas
-    * for all optimization levels > 1, all passes are done twice (the
-      result improves the most if -Or is used as well)
-
-  Revision 1.3  2000/07/14 05:11:48  michael
-  + Patch to 1.1
-
-  Revision 1.2  2000/07/13 11:32:31  michael
-  + removed logs
+  Revision 1.4  2002-05-14 19:34:55  peter
+    * removed old logs and updated copyright year
 
 }

+ 5 - 226
compiler/i386/cga.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Helper routines for the i386 code generator
 
@@ -174,7 +174,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.29  2002-05-13 19:54:37  peter
+  Revision 1.30  2002-05-14 19:34:55  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.29  2002/05/13 19:54:37  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -275,228 +278,4 @@ end.
   Revision 1.14  2002/01/19 14:21:17  peter
     * fixed init/final for value parameters
 
-  Revision 1.13  2001/12/30 17:24:45  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
-
-  Revision 1.12  2001/12/29 15:28:58  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.11  2001/11/18 18:59:59  peter
-    * changed aktprocsym to aktprocdef for stabs generation
-
-  Revision 1.10  2001/11/06 16:39:02  jonas
-    * moved call to "cleanup_regvars" to cga.pas for i386 because it has
-      to insert "fstp %st0" instructions after the exit label
-
-  Revision 1.9  2001/11/02 22:58:09  peter
-    * procsym definition rewrite
-
-  Revision 1.8  2001/10/25 21:22:41  peter
-    * calling convention rewrite
-
-  Revision 1.7  2001/10/20 17:22:57  peter
-    * concatcopy could release a wrong reference because the offset was
-      increased without restoring the original before the release of
-      a temp
-
-  Revision 1.6  2001/10/14 11:49:51  jonas
-    * finetuned register allocation info for assignments
-
-  Revision 1.5  2001/09/30 21:28:34  peter
-    * int64->boolean fixed
-
-  Revision 1.4  2001/08/30 20:13:57  peter
-    * rtti/init table updates
-    * rttisym for reusable global rtti/init info
-    * support published for interfaces
-
-  Revision 1.3  2001/08/29 12:01:47  jonas
-    + support for int64 LOC_REGISTERS in remove_non_regvars_from_loc
-
-  Revision 1.2  2001/08/26 13:36:52  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.29  2001/08/12 20:23:02  peter
-    * netbsd doesn't use stackchecking
-
-  Revision 1.28  2001/08/07 18:47:13  peter
-    * merged netbsd start
-    * profile for win32
-
-  Revision 1.27  2001/08/06 21:40:49  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.26  2001/07/30 20:59:28  peter
-    * m68k updates from v10 merged
-
-  Revision 1.25  2001/07/01 20:16:18  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.24  2001/05/27 14:30:55  florian
-    + some widestring stuff added
-
-  Revision 1.23  2001/04/21 13:33:16  peter
-    * move winstackpagesize const to cgai386 to remove uses t_win32
-
-  Revision 1.22  2001/04/21 12:05:32  peter
-    * add nop after popa (merged)
-
-  Revision 1.21  2001/04/18 22:02:00  peter
-    * registration of targets and assemblers
-
-  Revision 1.20  2001/04/13 01:22:17  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.19  2001/04/05 21:33:07  peter
-    * fast exit fix merged
-
-  Revision 1.18  2001/04/02 21:20:35  peter
-    * resulttype rewrite
-
-  Revision 1.17  2001/01/05 17:36:58  florian
-  * the info about exception frames is stored now on the stack
-  instead on the heap
-
-  Revision 1.16  2000/12/25 00:07:31  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.15  2000/12/05 11:44:32  jonas
-    + new integer regvar handling, should be much more efficient
-
-  Revision 1.14  2000/11/29 00:30:43  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.13  2000/11/28 00:28:07  pierre
-   * stabs fixing
-
-  Revision 1.12  2000/11/22 15:12:06  jonas
-    * fixed inline-related problems (partially "merges")
-
-  Revision 1.11  2000/11/17 10:30:24  florian
-    * passing interfaces as parameters fixed
-
-  Revision 1.10  2000/11/07 23:40:48  florian
-    + AfterConstruction and BeforeDestruction impemented
-
-  Revision 1.9  2000/11/06 23:49:20  florian
-    * fixed init_paras call
-
-  Revision 1.8  2000/11/06 23:15:01  peter
-    * added copyvaluepara call again
-
-  Revision 1.7  2000/11/04 14:25:23  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.6  2000/10/31 22:02:55  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.5  2000/10/24 22:23:04  peter
-    * emitcall -> emitinsertcall for profiling (merged)
-
-  Revision 1.4  2000/10/24 12:47:45  jonas
-    * allocate registers which hold function result
-
-  Revision 1.3  2000/10/24 08:54:25  michael
-  + Extra patch from peter
-
-  Revision 1.2  2000/10/24 07:20:03  pierre
-   * fix for bug 1193 (merged)
-
-  Revision 1.1  2000/10/15 09:47:42  peter
-    * moved to i386/
-
-  Revision 1.19  2000/10/14 10:14:46  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.18  2000/10/10 14:55:28  jonas
-    * added missing regallocs for edi in emit_mov_ref_reg64 (merged)
-
-  Revision 1.17  2000/10/01 19:48:23  peter
-    * lot of compile updates for cg11
-
-  Revision 1.16  2000/09/30 16:08:45  peter
-    * more cg11 updates
-
-  Revision 1.15  2000/09/24 15:06:12  peter
-    * use defines.inc
-
-  Revision 1.14  2000/09/16 12:22:52  peter
-    * freebsd support merged
-
-  Revision 1.13  2000/08/27 16:11:49  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.12  2000/08/24 19:07:54  peter
-    * don't initialize if localvarsym is set because that varsym will
-      already be initialized
-    * first initialize local data before copy of value para's (merged)
-
-  Revision 1.11  2000/08/19 20:09:33  peter
-    * check size after checking openarray in push_value_para (merged)
-
-  Revision 1.10  2000/08/16 13:06:06  florian
-    + support of 64 bit integer constants
-
-  Revision 1.9  2000/08/10 18:42:03  peter
-    * fixed for constants in emit_push_mem_size for go32v2 (merged)
-
-  Revision 1.8  2000/08/07 11:29:40  jonas
-    + emit_push_mem_size() which pushes a value in memory of a certain size
-    * pushsetelement() and pushvaluepara() use this new procedure, because
-      otherwise they could sometimes try to push data past the end of the
-      heap, causing a crash
-     (merged from fixes branch)
-
-  Revision 1.7  2000/08/03 13:17:25  jonas
-    + allow regvars to be used inside inlined procs, which required  the
-      following changes:
-        + load regvars in genentrycode/free them in genexitcode (cgai386)
-        * moved all regvar related code to new regvars unit
-        + added pregvarinfo type to hcodegen
-        + added regvarinfo field to tprocinfo (symdef/symdefh)
-        * deallocate the regvars of the caller in secondprocinline before
-          inlining the called procedure and reallocate them afterwards
-
-  Revision 1.6  2000/08/02 08:05:04  jonas
-    * fixed web bug1087
-    * allocate R_ECX explicitely if it's used
-    (merged from fixes branch)
-
-  Revision 1.5  2000/07/27 09:25:05  jonas
-    * moved locflags2reg() procedure from cg386add to cgai386
-    + added locjump2reg() procedure to cgai386
-    * fixed internalerror(2002) when the result of a case expression has
-      LOC_JUMP
-    (all merged from fixes branch)
-
-  Revision 1.4  2000/07/21 15:14:02  jonas
-    + added is_addr field for labels, if they are only used for getting the address
-       (e.g. for io checks) and corresponding getaddrlabel() procedure
-
-  Revision 1.3  2000/07/13 12:08:25  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:37  michael
-  + removed logs
-
 }

+ 5 - 35
compiler/i386/cgcpu.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit implements the code generator for the i386
 
@@ -1780,7 +1780,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.17  2002-05-13 19:54:37  peter
+  Revision 1.18  2002-05-14 19:34:58  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.17  2002/05/13 19:54:37  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -1858,37 +1861,4 @@ end.
   Revision 1.7  2002/03/04 19:10:12  peter
     * removed compiler warnings
 
-  Revision 1.6  2001/12/30 17:24:46  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
-
-  Revision 1.5  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.4  2001/10/04 14:33:28  jonas
-    * fixed range check errors
-
-  Revision 1.3  2001/09/30 16:17:18  jonas
-    * made most constant and mem handling processor independent
-
-  Revision 1.2  2001/09/29 21:32:19  jonas
-    * fixed bug in a_load_reg_reg + implemented a_call
-
-  Revision 1.1  2001/09/28 20:39:33  jonas
-    * changed all flow control structures (except for exception handling
-      related things) to processor independent code (in new ncgflw unit)
-    + generic cgobj unit which contains lots of code generator helpers with
-      global "cg" class instance variable
-    + cgcpu unit for i386 (implements processor specific routines of the above
-      unit)
-    * updated cgbase and cpubase for the new code generator units
-    * include ncgflw unit in cpunode unit
-
 }

+ 5 - 84
compiler/i386/cpuasm.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl and Peter Vreman
+    Copyright (c) 1998-2002 by Florian Klaempfl and Peter Vreman
 
     Contains the assembler object for the i386
 
@@ -1807,7 +1807,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.22  2002-05-14 17:28:09  peter
+  Revision 1.23  2002-05-14 19:34:58  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.22  2002/05/14 17:28:09  peter
     * synchronized cpubase between powerpc and i386
     * moved more tables from cpubase to cpuasm
     * tai_align_abstract moved to tainst, cpuasm must define
@@ -1857,86 +1860,4 @@ end.
       with string operations
     * adapted some routines to use the new cg methods
 
-  Revision 1.17  2001/12/31 16:59:43  peter
-    * protected/private symbols parsing fixed
-
-  Revision 1.16  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.15  2001/04/21 12:13:15  peter
-    * restore correct pass2 handling bug 1425 (merged)
-
-  Revision 1.14  2001/04/13 01:22:18  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.13  2001/04/05 21:33:45  peter
-    * movd and opsize fix merged
-
-  Revision 1.12  2001/03/25 12:29:45  peter
-    * offset_fixup fixes (merged)
-
-  Revision 1.11  2001/02/20 21:51:36  peter
-    * fpu fixes (merged)
-
-  Revision 1.10  2001/01/13 20:24:24  peter
-    * fixed operand order that got mixed up for external writers after
-      my previous assembler block valid instruction check
-
-  Revision 1.9  2001/01/12 19:18:42  peter
-    * check for valid asm instructions
-
-  Revision 1.8  2001/01/07 15:48:56  jonas
-    * references to symbols were only decreased in taicpu.done for jmps, fixed
-
-  Revision 1.7  2000/12/26 15:56:17  peter
-    * unrolled loops in taicpu.destroy
-
-  Revision 1.6  2000/12/25 00:07:31  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.5  2000/12/23 19:59:35  peter
-    * object to class for ow/og objects
-    * split objectdata from objectoutput
-
-  Revision 1.4  2000/12/07 17:19:45  jonas
-    * new constant handling: from now on, hex constants >$7fffffff are
-      parsed as unsigned constants (otherwise, $80000000 got sign extended
-      and became $ffffffff80000000), all constants in the longint range
-      become longints, all constants >$7fffffff and <=cardinal($ffffffff)
-      are cardinals and the rest are int64's.
-    * added lots of longint typecast to prevent range check errors in the
-      compiler and rtl
-    * type casts of symbolic ordinal constants are now preserved
-    * fixed bug where the original resulttype wasn't restored correctly
-      after doing a 64bit rangecheck
-
-  Revision 1.3  2000/11/12 22:20:37  peter
-    * create generic toutputsection for binary writers
-
-  Revision 1.2  2000/10/15 10:50:46  florian
-   * fixed xmm register access
-
-  Revision 1.1  2000/10/15 09:39:37  peter
-    * moved cpu*.pas to i386/
-    * renamed n386 to common cpunode
-
-  Revision 1.5  2000/09/24 15:06:14  peter
-    * use defines.inc
-
-  Revision 1.4  2000/08/27 16:11:50  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.3  2000/07/13 12:08:25  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:38  michael
-  + removed logs
-
 }

+ 5 - 75
compiler/i386/cpubase.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl and Peter Vreman
+    Copyright (c) 1998-2002 by Florian Klaempfl and Peter Vreman
 
     Contains the base types for the i386
 
@@ -434,7 +434,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.20  2002-05-14 17:28:09  peter
+  Revision 1.21  2002-05-14 19:34:58  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.20  2002/05/14 17:28:09  peter
     * synchronized cpubase between powerpc and i386
     * moved more tables from cpubase to cpuasm
     * tai_align_abstract moved to tainst, cpuasm must define
@@ -523,77 +526,4 @@ end.
   Revision 1.10  2002/03/04 19:10:12  peter
     * removed compiler warnings
 
-  Revision 1.9  2001/12/30 17:24:46  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
-
-  Revision 1.8  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.7  2001/12/06 17:57:40  florian
-    + parasym to tparaitem added
-
-  Revision 1.6  2001/09/28 20:39:33  jonas
-    * changed all flow control structures (except for exception handling
-      related things) to processor independent code (in new ncgflw unit)
-    + generic cgobj unit which contains lots of code generator helpers with
-      global "cg" class instance variable
-    + cgcpu unit for i386 (implements processor specific routines of the above
-      unit)
-    * updated cgbase and cpubase for the new code generator units
-    * include ncgflw unit in cpunode unit
-
-  Revision 1.5  2001/05/18 23:01:13  peter
-    * portable constants
-
-  Revision 1.4  2001/04/13 01:22:18  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.3  2001/02/20 21:34:04  peter
-    * iret, lret fixes
-
-  Revision 1.2  2000/12/07 17:19:45  jonas
-    * new constant handling: from now on, hex constants >$7fffffff are
-      parsed as unsigned constants (otherwise, $80000000 got sign extended
-      and became $ffffffff80000000), all constants in the longint range
-      become longints, all constants >$7fffffff and <=cardinal($ffffffff)
-      are cardinals and the rest are int64's.
-    * added lots of longint typecast to prevent range check errors in the
-      compiler and rtl
-    * type casts of symbolic ordinal constants are now preserved
-    * fixed bug where the original resulttype wasn't restored correctly
-      after doing a 64bit rangecheck
-
-  Revision 1.1  2000/10/15 09:39:37  peter
-    * moved cpu*.pas to i386/
-    * renamed n386 to common cpunode
-
-  Revision 1.7  2000/09/26 20:06:13  florian
-    * hmm, still a lot of work to get things compilable
-
-  Revision 1.6  2000/09/24 15:06:14  peter
-    * use defines.inc
-
-  Revision 1.5  2000/08/27 16:11:50  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.4  2000/08/05 13:25:06  peter
-    * packenum 1 fixes (merged)
-
-  Revision 1.3  2000/07/14 05:11:48  michael
-  + Patch to 1.1
-
-  Revision 1.2  2000/07/13 11:32:39  michael
-  + removed logs
-
 }

+ 5 - 30
compiler/i386/cpuinfo.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Basic Processor information
 
@@ -51,7 +51,10 @@ Implementation
 end.
 {
   $Log$
-  Revision 1.7  2002-04-20 21:37:07  carl
+  Revision 1.8  2002-05-14 19:34:58  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.7  2002/04/20 21:37:07  carl
   + generic FPC_CHECKPOINTER
   + first parameter offset in stack now portable
   * rename some constants
@@ -75,32 +78,4 @@ end.
       with string operations
     * adapted some routines to use the new cg methods
 
-  Revision 1.4  2001/09/02 21:18:29  peter
-    * split constsym.value in valueord,valueordptr,valueptr. The valueordptr
-      is used for holding target platform pointer values. As those can be
-      bigger than the source platform.
-
-  Revision 1.3  2001/06/03 20:21:08  peter
-    * Kylix fixes, mostly case names of units
-
-  Revision 1.2  2001/02/08 13:09:03  jonas
-    * fixed web bug 1396: tpointerord is now a cardinal instead of a longint,
-      but added a hack in ncnv so that pointer(-1) still works
-
-  Revision 1.1  2000/10/15 09:39:37  peter
-    * moved cpu*.pas to i386/
-    * renamed n386 to common cpunode
-
-  Revision 1.5  2000/09/24 15:06:14  peter
-    * use defines.inc
-
-  Revision 1.4  2000/08/16 13:06:06  florian
-    + support of 64 bit integer constants
-
-  Revision 1.3  2000/08/12 06:45:08  florian
-    + type TConstExprInt added
-
-  Revision 1.2  2000/07/13 11:32:39  michael
-  + removed logs
-
 }

+ 4 - 40
compiler/i386/cpunode.pas

@@ -38,7 +38,10 @@ unit cpunode;
 end.
 {
   $Log$
-  Revision 1.10  2002-05-13 19:54:37  peter
+  Revision 1.11  2002-05-14 19:34:59  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.10  2002/05/13 19:54:37  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -64,43 +67,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  2001/09/29 21:32:47  jonas
-    * almost all second pass typeconvnode helpers are now processor independent
-    * fixed converting boolean to int64/qword
-    * fixed register allocation bugs which could cause internalerror 10
-    * isnode and asnode are completely processor indepent now as well
-    * fpc_do_as now returns its class argument (necessary to be able to use it
-      properly with compilerproc)
-
-  Revision 1.5  2001/09/28 20:39:33  jonas
-    * changed all flow control structures (except for exception handling
-      related things) to processor independent code (in new ncgflw unit)
-    + generic cgobj unit which contains lots of code generator helpers with
-      global "cg" class instance variable
-    + cgcpu unit for i386 (implements processor specific routines of the above
-      unit)
-    * updated cgbase and cpubase for the new code generator units
-    * include ncgflw unit in cpunode unit
-
-  Revision 1.4  2001/05/18 22:31:06  peter
-    * tasmnode.pass_2 is independent of cpu, moved to ncgbas
-    * include ncgbas for independent nodes
-
-  Revision 1.3  2001/04/21 13:37:17  peter
-    * made tclassheader using class of to implement cpu dependent code
-
-  Revision 1.2  2000/12/31 11:14:11  jonas
-    + implemented/fixed docompare() mathods for all nodes (not tested)
-    + nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
-      and constant strings/chars together
-    * n386add.pas: don't copy temp strings (of size 256) to another temp string
-      when adding
-
-  Revision 1.1  2000/10/15 09:39:37  peter
-    * moved cpu*.pas to i386/
-    * renamed n386 to common cpunode
-
-  Revision 1.1  2000/10/14 10:14:47  peter
-    * moehrendorf oct 2000 rewrite
-
 }

+ 3 - 52
compiler/i386/cpuswtch.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl, Pierre Muller
+    Copyright (c) 1998-2002 by Florian Klaempfl, Pierre Muller
 
     interprets the commandline options which are i386 specific
 
@@ -129,56 +129,7 @@ initialization
 end.
 {
   $Log$
-  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 i386
-
-  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 aopt386 so it does this looping
-    * added some procedures from csopt386 to the interface because they're
-      used by rropt386 as well
-    * some changes to csopt386 and daopt386 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
+  Revision 1.5  2002-05-14 19:34:59  peter
+    * removed old logs and updated copyright year
 
 }

+ 4 - 7
compiler/i386/cputarg.pas

@@ -85,7 +85,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.6  2002-05-12 16:53:16  peter
+  Revision 1.7  2002-05-14 19:34:59  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.6  2002/05/12 16:53:16  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -111,10 +114,4 @@ end.
   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
-
 }

+ 5 - 157
compiler/i386/csopt386.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Jonas Maebe, member of the Free Pascal
+    Copyright (c) 1998-2002 by Jonas Maebe, member of the Free Pascal
       development team
 
     This unit contains the common subexpression elimination procedure.
@@ -1984,7 +1984,10 @@ End.
 
 {
   $Log$
-  Revision 1.32  2002-04-21 15:32:59  carl
+  Revision 1.33  2002-05-14 19:34:59  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.32  2002/04/21 15:32:59  carl
   * changeregsize -> rg.makeregsize
 
   Revision 1.31  2002/04/20 21:37:07  carl
@@ -2051,159 +2054,4 @@ End.
   Revision 1.24  2002/03/04 19:10:12  peter
     * removed compiler warnings
 
-  Revision 1.23  2001/12/04 15:58:13  jonas
-    * unnecessary loads of constants are now also remove by
-      removePrevNotUsedLoad()
-
-  Revision 1.22  2001/11/30 16:35:02  jonas
-    * added missing allocregbetween() call for a memtoreg() optimization
-
-  Revision 1.21  2001/10/27 10:20:43  jonas
-    + replace mem accesses to locations to which a reg was stored recently with that reg
-
-  Revision 1.20  2001/10/14 11:50:21  jonas
-    + also replace mem references in modify operands with regs
-
-  Revision 1.19  2001/10/12 13:58:05  jonas
-    + memory references are now replaced by register reads in "regular"
-      instructions (e.g. "addl ref1,%eax" will be replaced by "addl %ebx,%eax"
-      if %ebx contains ref1). Previously only complete load sequences were
-      optimized away, but not such small accesses in other instructions than
-      mov/movzx/movsx
-
-  Revision 1.18  2001/09/04 14:01:03  jonas
-    * commented out some inactive code in csopt386
-    + small improvement: lea is now handled the same as mov/zx/sx
-
-  Revision 1.17  2001/08/29 14:07:43  jonas
-    * the optimizer now keeps track of flags register usage. This fixes some
-      optimizer bugs with int64 calculations (because of the carry flag usage)
-    * fixed another bug which caused wrong optimizations with complex
-      array expressions
-
-  Revision 1.16  2001/08/26 13:36:55  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.15  2001/04/06 16:24:38  jonas
-    * fixed bug due to short boolean evaluation
-
-  Revision 1.14  2001/04/02 21:20:36  peter
-    * resulttype rewrite
-
-  Revision 1.13  2001/01/10 08:52:40  michael
-  + Patch from jonas so 1.0.2 can be used to cycle
-
-  Revision 1.12  2001/01/07 15:51:17  jonas
-    * fixed crashing bug to due previous changes
-
-  Revision 1.11  2001/01/06 23:35:05  jonas
-    * fixed webbug 1323
-
-  Revision 1.10  2000/12/25 00:07:31  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.9  2000/12/05 09:33:42  jonas
-    * when searching for constants in registers, the returned register
-      sometimes didn't have the same size as the requested size
-
-  Revision 1.8  2000/11/29 00:30:43  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.7  2000/11/28 16:32:11  jonas
-    + support for optimizing simple sequences with div/idiv/mul opcodes
-
-  Revision 1.6  2000/11/14 12:17:34  jonas
-    * fixed some bugs in checksequence
-
-  Revision 1.5  2000/11/09 12:34:44  jonas
-    * fixed range check error
-
-  Revision 1.4  2000/11/03 17:53:24  jonas
-    * some small improvements
-
-  Revision 1.3  2000/11/01 22:53:30  jonas
-    * register contents were not cleared if there was only 1 instruction
-
-      between de previous sequence and the current one
-
-  Revision 1.2  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 aopt386 so it does this looping
-    * added some procedures from csopt386 to the interface because they're
-      used by rropt386 as well
-    * some changes to csopt386 and daopt386 so that newly added instructions
-      by the CSE get optimizer info (they were simply skipped previously),
-      this fixes some bugs
-
-  Revision 1.1  2000/10/15 09:47:43  peter
-    * moved to i386/
-
-  Revision 1.14  2000/09/30 13:07:23  jonas
-    * fixed support for -Or with new features of CSE
-
-  Revision 1.13  2000/09/29 23:14:45  jonas
-    * search much further back for CSE sequences (non-conflicting stores are
-      now passed)
-    * remove more unnecessary loads of registers (especially the self pointer)
-
-  Revision 1.12  2000/09/26 11:49:41  jonas
-    * writes to register variables and to the self pointer now also count as
-      memore writes
-
-  Revision 1.11  2000/09/25 09:50:29  jonas
-    - removed TP conditional code
-
-  Revision 1.10  2000/09/24 15:06:14  peter
-    * use defines.inc
-
-  Revision 1.9  2000/09/22 15:01:59  jonas
-    * fixed some bugs in the previous improvements: in some cases, esi was
-      still being replaced before a conditional jump (the code that
-      detected conditional jumps sometimes skipped over them)
-
-  Revision 1.8  2000/09/20 15:00:58  jonas
-    + much improved CSE: the CSE now searches further back for sequences it
-      can reuse. After I've also implemented register renaming, the effect
-      should be even better (afaik web bug 1088 will then even be optimized
-      properly). I don't know about the slow down factor this adds. Maybe
-      a new optimization level should be introduced?
-
-  Revision 1.7  2000/08/25 19:40:45  jonas
-    * refined previous fix a bit, some instructions weren't being removed
-      while they could (merged from fixes branch)
-    * made checksequence a bit faster
-
-  Revision 1.6  2000/08/23 12:55:10  jonas
-    * fix for web bug 1112 and a bit of clean up in csopt386 (merged from
-      fixes branch)
-
-  Revision 1.5  2000/08/04 20:08:03  jonas
-    * improved detection of range of instructions which use a register
-      (merged from fixes branch)
-
-  Revision 1.4  2000/07/21 15:19:54  jonas
-    * daopt386: changes to getnextinstruction/getlastinstruction so they
-      ignore labels who have is_addr set
-    + daopt386/csopt386: remove loads of registers which are overwritten
-       before their contents are used (especially usefull for removing superfluous
-      maybe_loadself outputs and push/pops transformed by below optimization
-    + popt386: transform pop/pop/pop/.../push/push/push to sequences of
-      'movl x(%esp),%reg' (only active when compiling a go32v2 compiler
-      currently because I don't know whether it's safe to do this under Win32/
-      Linux (because of problems we had when using esp as frame pointer on
-      those os'es)
-
-  Revision 1.3  2000/07/14 05:11:48  michael
-  + Patch to 1.1
-
-  Revision 1.2  2000/07/13 11:32:39  michael
-  + removed logs
-
 }

+ 5 - 177
compiler/i386/daopt386.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Jonas Maebe, member of the Freepascal
+    Copyright (c) 1998-2002 by Jonas Maebe, member of the Freepascal
       development team
 
     This unit contains the data flow analyzer and several helper procedures
@@ -2591,7 +2591,10 @@ End.
 
 {
   $Log$
-  Revision 1.35  2002-05-14 17:28:09  peter
+  Revision 1.36  2002-05-14 19:34:59  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.35  2002/05/14 17:28:09  peter
     * synchronized cpubase between powerpc and i386
     * moved more tables from cpubase to cpuasm
     * tai_align_abstract moved to tainst, cpuasm must define
@@ -2677,179 +2680,4 @@ End.
   Revision 1.26  2002/03/04 19:10:13  peter
     * removed compiler warnings
 
-  Revision 1.25  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.24  2001/11/02 22:58:09  peter
-    * procsym definition rewrite
-
-  Revision 1.23  2001/10/27 10:20:43  jonas
-    + replace mem accesses to locations to which a reg was stored recently with that reg
-
-  Revision 1.22  2001/10/12 13:58:05  jonas
-    + memory references are now replaced by register reads in "regular"
-      instructions (e.g. "addl ref1,%eax" will be replaced by "addl %ebx,%eax"
-      if %ebx contains ref1). Previously only complete load sequences were
-      optimized away, but not such small accesses in other instructions than
-      mov/movzx/movsx
-
-  Revision 1.21  2001/09/04 14:01:04  jonas
-    * commented out some inactive code in csopt386
-    + small improvement: lea is now handled the same as mov/zx/sx
-
-  Revision 1.20  2001/08/29 14:07:43  jonas
-    * the optimizer now keeps track of flags register usage. This fixes some
-      optimizer bugs with int64 calculations (because of the carry flag usage)
-    * fixed another bug which caused wrong optimizations with complex
-      array expressions
-
-  Revision 1.19  2001/08/26 13:36:55  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.18  2001/08/06 21:40:50  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.17  2001/04/13 01:22:18  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.16  2001/04/02 21:20:36  peter
-    * resulttype rewrite
-
-  Revision 1.15  2000/12/31 11:00:31  jonas
-    * fixed potential bug in writeToMemDestroysContents
-
-  Revision 1.14  2000/12/25 00:07:32  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.13  2000/12/21 12:22:53  jonas
-    * fixed range error
-
-  Revision 1.12  2000/12/04 17:00:09  jonas
-    * invalidate regs that depend on a modified register
-
-  Revision 1.11  2000/11/29 00:30:44  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.10  2000/11/28 16:32:11  jonas
-    + support for optimizing simple sequences with div/idiv/mul opcodes
-
-  Revision 1.9  2000/11/23 14:20:18  jonas
-    * fixed stupid bug in previous commit
-
-  Revision 1.8  2000/11/23 13:26:33  jonas
-    * fix for webbug 1066/1126
-
-  Revision 1.7  2000/11/17 15:22:04  jonas
-    * fixed another bug in allocregbetween (introduced by the previous fix)
-      ("merged")
-
-  Revision 1.6  2000/11/14 13:26:10  jonas
-    * fixed bug in allocregbetween
-
-  Revision 1.5  2000/11/08 16:04:34  sg
-  * Fix for containsPointerRef: Loop now runs in the correct range
-
-  Revision 1.4  2000/11/03 18:06:26  jonas
-    * fixed bug in arrayRefsEq
-    * object/class fields are now handled the same as local/global vars and
-      parameters (ie. a write to a local var can now never destroy a class
-      field)
-
-  Revision 1.3  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 aopt386 so it does this looping
-    * added some procedures from csopt386 to the interface because they're
-      used by rropt386 as well
-    * some changes to csopt386 and daopt386 so that newly added instructions
-      by the CSE get optimizer info (they were simply skipped previously),
-      this fixes some bugs
-
-  Revision 1.2  2000/10/19 15:59:40  jonas
-    * fixed bug in allocregbetween (the register wasn't added to the
-      usedregs set of the last instruction of the chain) ("merged")
-
-  Revision 1.1  2000/10/15 09:47:43  peter
-    * moved to i386/
-
-  Revision 1.16  2000/10/14 10:14:47  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.15  2000/09/30 13:07:23  jonas
-    * fixed support for -Or with new features of CSE
-
-  Revision 1.14  2000/09/29 23:14:11  jonas
-    + writeToMemDestroysContents() and writeDestroysContents() to support the
-      new features of the CSE
-
-  Revision 1.13  2000/09/25 09:50:30  jonas
-    - removed TP conditional code
-
-  Revision 1.12  2000/09/24 21:19:50  peter
-    * delphi compile fixes
-
-  Revision 1.11  2000/09/24 15:06:15  peter
-    * use defines.inc
-
-  Revision 1.10  2000/09/22 15:00:20  jonas
-    * fixed bug in regsEquivalent (in some rare cases, registers with
-      completely unrelated content were considered equivalent) (merged
-      from fixes branch)
-
-  Revision 1.9  2000/09/20 15:00:58  jonas
-    + much improved CSE: the CSE now searches further back for sequences it
-      can reuse. After I've also implemented register renaming, the effect
-      should be even better (afaik web bug 1088 will then even be optimized
-      properly). I don't know about the slow down factor this adds. Maybe
-      a new optimization level should be introduced?
-
-  Revision 1.8  2000/08/25 19:39:18  jonas
-    * bugfix to FindRegAlloc function (caused wrong regalloc info in
-      some cases) (merged from fixes branch)
-
-  Revision 1.7  2000/08/23 12:55:10  jonas
-    * fix for web bug 1112 and a bit of clean up in csopt386 (merged from
-      fixes branch)
-
-  Revision 1.6  2000/08/19 17:53:29  jonas
-    * fixed a potential bug in destroyregs regarding the removal of
-      unused loads
-    * added destroyDependingRegs() procedure and use it for the fix in
-      the previous commit (safer/more complete than what was done before)
-
-  Revision 1.5  2000/08/19 09:08:59  jonas
-    * fixed bug where the contents of a register would not be destroyed
-      if another register on which these contents depend is modified
-      (not really merged, but same idea as fix in fixes branch,
-      LAST_MERGE tag is updated)
-
-  Revision 1.4  2000/07/21 15:19:54  jonas
-    * daopt386: changes to getnextinstruction/getlastinstruction so they
-      ignore labels who have is_addr set
-    + daopt386/csopt386: remove loads of registers which are overwritten
-       before their contents are used (especially usefull for removing superfluous
-      maybe_loadself outputs and push/pops transformed by below optimization
-    + popt386: transform pop/pop/pop/.../push/push/push to sequences of
-      'movl x(%esp),%reg' (only active when compiling a go32v2 compiler
-      currently because I don't know whether it's safe to do this under Win32/
-      Linux (because of problems we had when using esp as frame pointer on
-      those os'es)
-
-  Revision 1.3  2000/07/14 05:11:48  michael
-  + Patch to 1.1
-
-  Revision 1.2  2000/07/13 11:32:40  michael
-  + removed logs
-
 }

+ 4 - 152
compiler/i386/n386add.pas

@@ -1572,7 +1572,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.36  2002-05-13 19:54:37  peter
+  Revision 1.37  2002-05-14 19:34:59  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.36  2002/05/13 19:54:37  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -1617,155 +1620,4 @@ end.
   Revision 1.29  2002/03/04 19:10:13  peter
     * removed compiler warnings
 
-  Revision 1.28  2001/12/30 17:24:46  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called :=rg.getregisterint(exprasmlist);
-
-  Revision 1.27  2001/12/29 15:29:58  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.25  2001/10/12 13:51:51  jonas
-    * fixed internalerror(10) due to previous fpu overflow fixes ("merged")
-    * fixed bug in n386add (introduced after compilerproc changes for string
-      operations) where calcregisters wasn't called for shortstring addnodes
-    * NOTE: from now on, the location of a binary node must now always be set
-       before you call calcregisters() for it
-
-  Revision 1.24  2001/09/17 21:29:13  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.23  2001/09/05 15:22:09  jonas
-    * made multiplying, dividing and mod'ing of int64 and qword processor
-      independent with compilerprocs (+ small optimizations by using shift/and
-      where possible)
-
-  Revision 1.22  2001/09/04 11:38:55  jonas
-    + searchsystype() and searchsystype() functions in symtable
-    * changed ninl and nadd to use these functions
-    * i386 set comparison functions now return their results in al instead
-      of in the flags so that they can be sued as compilerprocs
-    - removed all processor specific code from n386add.pas that has to do
-      with set handling, it's now all done in nadd.pas
-    * fixed fpc_set_contains_sets in genset.inc
-    * fpc_set_in_byte is now coded inline in n386set.pas and doesn't use a
-      helper anymore
-    * some small fixes in compproc.inc/set.inc regarding the declaration of
-      internal helper types (fpc_small_set and fpc_normal_set)
-
-  Revision 1.21  2001/09/03 13:27:42  jonas
-    * compilerproc implementation of set addition/substraction/...
-    * changed the declaration of some set helpers somewhat to accomodate the
-      above change
-    * i386 still uses the old code for comparisons of sets, because its
-      helpers return the results in the flags
-    * dummy tc_normal_2_small_set type conversion because I need the original
-      resulttype of the set add nodes
-    NOTE: you have to start a cycle with 1.0.5!
-
-  Revision 1.20  2001/08/30 15:43:14  jonas
-    * converted adding/comparing of strings to compileproc. Note that due
-      to the way the shortstring helpers for i386 are written, they are
-      still handled by the old code (reason: fpc_shortstr_compare returns
-      results in the flags instead of in eax and fpc_shortstr_concat
-      has wierd parameter conventions). The compilerproc stuff should work
-      fine with the generic implementations though.
-    * removed some nested comments warnings
-
-  Revision 1.19  2001/08/29 17:50:45  jonas
-    * removed unused var
-
-  Revision 1.18  2001/08/29 12:03:23  jonas
-    * fixed wrong regalloc info around FPC_MUL/DIV/MOD_INT64/QWORD calls
-    * fixed partial result overwriting with the above calls too
-
-  Revision 1.17  2001/08/26 13:36:55  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.16  2001/07/08 21:00:16  peter
-    * various widestring updates, it works now mostly without charset
-      mapping supported
-
-  Revision 1.15  2001/06/25 14:11:37  jonas
-    * fixed set bug discovered by Carl (merged)
-
-  Revision 1.14  2001/06/18 20:36:25  peter
-    * -Ur switch (merged)
-    * masm fixes (merged)
-    * quoted filenames for go32v2 and win32
-
-  Revision 1.13  2001/05/27 14:30:56  florian
-    + some widestring stuff added
-
-  Revision 1.12  2001/05/06 17:12:14  jonas
-    * fixed an IE10 and another bug with [var1..var2] construct
-
-  Revision 1.11  2001/04/13 01:22:18  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.10  2001/04/02 21:20:36  peter
-    * resulttype rewrite
-
-  Revision 1.9  2000/12/31 11:14:11  jonas
-    + implemented/fixed docompare() mathods for all nodes (not tested)
-    + nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
-      and constant strings/chars together
-    * n386add.pas: don't copy temp strings (of size 256) to another temp string
-      when adding
-
-  Revision 1.8  2000/12/25 00:07:32  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.7  2000/12/16 15:56:18  jonas
-    - removed all ifdef cardinalmulfix code
-
-  Revision 1.6  2000/12/05 11:44:32  jonas
-    + new integer regvar handling, should be much more efficient
-
-  Revision 1.5  2000/11/29 00:30:45  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.4  2000/11/13 11:30:56  florian
-    * some bugs with interfaces and NIL fixed
-
-  Revision 1.3  2000/11/04 14:25:23  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.2  2000/10/31 22:02:56  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.1  2000/10/15 09:33:31  peter
-    * moved n386*.pas to i386/ cpu_target dir
-
-  Revision 1.6  2000/10/14 10:14:47  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.5  2000/09/30 16:08:45  peter
-    * more cg11 updates
-
-  Revision 1.4  2000/09/24 15:06:18  peter
-    * use defines.inc
-
-  Revision 1.3  2000/09/22 22:42:52  florian
-    * more fixes
-
-  Revision 1.2  2000/09/21 12:24:22  jonas
-    * small fix to my changes for full boolean evaluation support (moved
-      opsize determination for boolean operations back in boolean
-      processing block)
-    + full boolean evaluation support (from cg386add)
-
-  Revision 1.1  2000/09/20 21:23:32  florian
-    * initial revision
 }

+ 5 - 174
compiler/i386/n386cal.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generate i386 assembler for in call nodes
 
@@ -1484,7 +1484,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.50  2002-05-13 19:54:38  peter
+  Revision 1.51  2002-05-14 19:34:59  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.50  2002/05/13 19:54:38  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -1561,176 +1564,4 @@ end.
   Revision 1.41  2002/03/04 19:10:13  peter
     * removed compiler warnings
 
-  Revision 1.40  2001/12/31 09:53:15  jonas
-    * changed remaining "getregister32" calls to "getregisterint"
-
-  Revision 1.39  2001/12/29 15:32:13  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.38  2001/11/18 00:00:34  florian
-    * handling of ansi- and widestring results improved
-
-  Revision 1.37  2001/11/02 23:24:40  peter
-    * fixed crash with inlining after aktprocdef change
-
-  Revision 1.36  2001/11/02 22:58:09  peter
-    * procsym definition rewrite
-
-  Revision 1.35  2001/10/25 21:22:41  peter
-    * calling convention rewrite
-
-  Revision 1.34  2001/10/21 12:33:07  peter
-    * array access for properties added
-
-  Revision 1.33  2001/09/09 08:50:15  jonas
-    * when calling an inline procedure inside a nested procedure, the
-      framepointer was being pushed on the stack, but this pushed framepointer
-      was never used nor removed from the stack again after the inlining was
-      done. It's now simply not pushed anymore, because the inlined procedure
-      can get the previous framepointer from the procedure in which it is being
-      inlined (merged)
-
-  Revision 1.32  2001/09/01 23:02:30  jonas
-    * i386*: call and jmp read their first operand
-    * cgcal: deallocate hlper register only after call statement (fixes bug
-      with "procedure of object" and optimizer reported to bugrep on
-      2001/08/30) ('merged')
-
-  Revision 1.31  2001/08/29 12:18:08  jonas
-    + new createinternres() constructor for tcallnode to support setting a
-      custom resulttype
-    * compilerproc typeconversions now set the resulttype from the type
-      conversion for the generated call node, because the resulttype of
-      of the compilerproc helper isn't always exact (e.g. the ones that
-      return shortstrings, actually return a shortstring[x], where x is
-      specified by the typeconversion node)
-    * ti386callnode.pass_2 now always uses resulttype instead of
-      procsym.definition.rettype (so the custom resulttype, if any, is
-      always used). Note that this "rettype" stuff is only for use with
-      compilerprocs.
-
-  Revision 1.30  2001/08/26 13:36:56  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.29  2001/08/19 21:11:21  florian
-    * some bugs fix:
-      - overload; with external procedures fixed
-      - better selection of routine to do an overloaded
-        type case
-      - ... some more
-
-  Revision 1.28  2001/08/06 21:40:50  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.27  2001/07/08 21:00:16  peter
-    * various widestring updates, it works now mostly without charset
-      mapping supported
-
-  Revision 1.26  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.25  2001/06/04 11:48:02  peter
-    * better const to var checking
-
-  Revision 1.24  2001/05/19 21:22:53  peter
-    * function returning int64 inlining fixed
-
-  Revision 1.23  2001/05/16 15:11:42  jonas
-    * added missign begin..end pair (noticed by Carl)
-
-  Revision 1.22  2001/04/18 22:02:01  peter
-    * registration of targets and assemblers
-
-  Revision 1.21  2001/04/13 01:22:18  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.20  2001/04/02 21:20:36  peter
-    * resulttype rewrite
-
-  Revision 1.19  2001/03/11 22:58:51  peter
-    * getsym redesign, removed the globals srsym,srsymtable
-
-  Revision 1.18  2001/01/27 21:29:35  florian
-     * behavior -Oa optimized
-
-  Revision 1.17  2001/01/08 21:46:46  peter
-    * don't push high value for open array with cdecl;external;
-
-  Revision 1.16  2000/12/25 00:07:32  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.15  2000/12/09 10:45:40  florian
-    * AfterConstructor isn't called anymore when a constructor failed
-
-  Revision 1.14  2000/12/07 17:19:46  jonas
-    * new constant handling: from now on, hex constants >$7fffffff are
-      parsed as unsigned constants (otherwise, $80000000 got sign extended
-      and became $ffffffff80000000), all constants in the longint range
-      become longints, all constants >$7fffffff and <=cardinal($ffffffff)
-      are cardinals and the rest are int64's.
-    * added lots of longint typecast to prevent range check errors in the
-      compiler and rtl
-    * type casts of symbolic ordinal constants are now preserved
-    * fixed bug where the original resulttype.def wasn't restored correctly
-      after doing a 64bit rangecheck
-
-  Revision 1.13  2000/12/05 11:44:33  jonas
-    + new integer regvar handling, should be much more efficient
-
-  Revision 1.12  2000/12/03 22:26:54  florian
-    * fixed web buzg 1275: problem with int64 functions results
-
-  Revision 1.11  2000/11/29 00:30:46  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.10  2000/11/23 13:26:34  jonas
-    * fix for webbug 1066/1126
-
-  Revision 1.9  2000/11/22 15:12:06  jonas
-    * fixed inline-related problems (partially "merges")
-
-  Revision 1.8  2000/11/17 09:54:58  florian
-    * INT_CHECK_OBJECT_* isn't applied to interfaces anymore
-
-  Revision 1.7  2000/11/12 23:24:14  florian
-    * interfaces are basically running
-
-  Revision 1.6  2000/11/07 23:40:49  florian
-    + AfterConstruction and BeforeDestruction impemented
-
-  Revision 1.5  2000/11/06 23:15:01  peter
-    * added copyvaluepara call again
-
-  Revision 1.4  2000/11/04 14:25:23  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.3  2000/11/04 13:12:14  jonas
-    * check for nil pointers before calling getcopy
-
-  Revision 1.2  2000/10/31 22:02:56  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.1  2000/10/15 09:33:31  peter
-    * moved n386*.pas to i386/ cpu_target dir
-
-  Revision 1.2  2000/10/14 10:14:48  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.1  2000/10/10 17:31:56  florian
-    * initial revision
-
 }

+ 5 - 130
compiler/i386/n386cnv.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generate i386 assembler for type converting nodes
 
@@ -365,7 +365,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.38  2002-05-12 16:53:17  peter
+  Revision 1.39  2002-05-14 19:34:59  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.38  2002/05/12 16:53:17  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -440,132 +443,4 @@ end.
   Revision 1.30  2002/03/04 19:10:13  peter
     * removed compiler warnings
 
-  Revision 1.29  2001/12/30 17:24:46  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
-
-  Revision 1.28  2001/12/11 08:14:17  jonas
-    * part of my fix for dynarray -> open array conversion, forgot to
-      commit yesterday :(
-
-  Revision 1.27  2001/11/02 23:24:12  jonas
-    * fixed web bug 1665 (allow char to chararray type conversion) ("merged")
-
-  Revision 1.26  2001/09/30 21:28:34  peter
-    * int64->boolean fixed
-
-  Revision 1.25  2001/09/30 16:12:47  jonas
-    - removed unnecessary i386 pass_2 of as- and isnode and added dummy generic ones
-
-  Revision 1.24  2001/09/29 21:32:47  jonas
-    * almost all second pass typeconvnode helpers are now processor independent
-    * fixed converting boolean to int64/qword
-    * fixed register allocation bugs which could cause internalerror 10
-    * isnode and asnode are completely processor indepent now as well
-    * fpc_do_as now returns its class argument (necessary to be able to use it
-      properly with compilerproc)
-
-  Revision 1.23  2001/09/03 13:27:42  jonas
-    * compilerproc implementation of set addition/substraction/...
-    * changed the declaration of some set helpers somewhat to accomodate the
-      above change
-    * i386 still uses the old code for comparisons of sets, because its
-      helpers return the results in the flags
-    * dummy tc_normal_2_small_set type conversion because I need the original
-      resulttype of the set add nodes
-    NOTE: you have to start a cycle with 1.0.5!
-
-  Revision 1.22  2001/08/29 19:49:03  jonas
-    * some fixes in compilerprocs for chararray to string conversions
-    * conversion from string to chararray is now also done via compilerprocs
-
-  Revision 1.21  2001/08/28 13:24:47  jonas
-    + compilerproc implementation of most string-related type conversions
-    - removed all code from the compiler which has been replaced by
-      compilerproc implementations (using $ifdef hascompilerproc is not
-      necessary in the compiler)
-
-  Revision 1.20  2001/08/26 13:36:57  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.19  2001/08/01 21:44:59  peter
-    * fixed empty pwidechar register allocation
-
-  Revision 1.18  2001/07/30 20:59:29  peter
-    * m68k updates from v10 merged
-
-  Revision 1.17  2001/07/16 13:19:08  jonas
-    * fixed allocation of register before release in second_cstring_to_pchar
-
-  Revision 1.16  2001/07/08 21:00:17  peter
-    * various widestring updates, it works now mostly without charset
-      mapping supported
-
-  Revision 1.15  2001/05/08 21:06:33  florian
-    * some more support for widechars commited especially
-      regarding type casting and constants
-
-  Revision 1.14  2001/04/13 01:22:18  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.13  2001/04/02 21:20:36  peter
-    * resulttype rewrite
-
-  Revision 1.12  2001/01/08 21:45:11  peter
-    * internalerror for string to chararray
-
-  Revision 1.11  2000/12/25 00:07:32  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.10  2000/12/07 17:19:46  jonas
-    * new constant handling: from now on, hex constants >$7fffffff are
-      parsed as unsigned constants (otherwise, $80000000 got sign extended
-      and became $ffffffff80000000), all constants in the longint range
-      become longints, all constants >$7fffffff and <=cardinal($ffffffff)
-      are cardinals and the rest are int64's.
-    * added lots of longint typecast to prevent range check errors in the
-      compiler and rtl
-    * type casts of symbolic ordinal constants are now preserved
-    * fixed bug where the original resulttype.def wasn't restored correctly
-      after doing a 64bit rangecheck
-
-  Revision 1.9  2000/12/05 11:44:33  jonas
-    + new integer regvar handling, should be much more efficient
-
-  Revision 1.8  2000/11/29 00:30:46  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.7  2000/11/16 15:27:48  jonas
-    * fixed web bug 1242
-
-  Revision 1.6  2000/11/13 11:30:56  florian
-    * some bugs with interfaces and NIL fixed
-
-  Revision 1.5  2000/11/12 23:24:14  florian
-    * interfaces are basically running
-
-  Revision 1.4  2000/11/11 16:00:10  jonas
-    * optimize converting of 8/16/32 bit constants to 64bit ones
-
-  Revision 1.3  2000/11/04 14:25:23  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.2  2000/10/31 22:02:56  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.1  2000/10/15 09:33:31  peter
-    * moved n386*.pas to i386/ cpu_target dir
-
-  Revision 1.1  2000/10/14 10:14:48  peter
-    * moehrendorf oct 2000 rewrite
-
 }

+ 5 - 43
compiler/i386/n386con.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generate i386 assembler for constants
 
@@ -85,7 +85,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.13  2002-04-02 17:11:36  peter
+  Revision 1.14  2002-05-14 19:34:59  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.13  2002/04/02 17:11:36  peter
     * tlocation,treference update
     * LOC_CONSTANT added for better constant handling
     * secondadd splitted in multiple routines
@@ -113,45 +116,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.10  2001/08/26 13:36:57  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.9  2001/07/08 21:00:18  peter
-    * various widestring updates, it works now mostly without charset
-      mapping supported
-
-  Revision 1.8  2001/04/13 01:22:18  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.7  2001/04/02 21:20:37  peter
-    * resulttype rewrite
-
-  Revision 1.6  2000/12/25 00:07:32  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.5  2000/11/29 00:30:47  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.4  2000/11/20 15:31:38  jonas
-  *  longint typecast to assignment of constant to offset field
-
-  Revision 1.3  2000/11/13 14:44:36  jonas
-    * fixes so no more range errors with improved range checking code
-
-  Revision 1.2  2000/10/31 22:02:56  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.1  2000/10/15 09:33:31  peter
-    * moved n386*.pas to i386/ cpu_target dir
-
-  Revision 1.2  2000/10/14 10:14:48  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.1  2000/09/28 20:48:52  florian
-  *** empty log message ***
 }

+ 5 - 82
compiler/i386/n386flw.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generate i386 assembler for nodes that influence the flow
 
@@ -739,7 +739,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.23  2002-05-12 16:53:17  peter
+  Revision 1.24  2002-05-14 19:34:59  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.23  2002/05/12 16:53:17  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -788,84 +791,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.19  2001/12/29 15:29:58  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.17  2001/09/29 21:34:04  jonas
-    - removed unused code (replaced by processor independent code)
-
-  Revision 1.16  2001/09/28 20:39:33  jonas
-    * changed all flow control structures (except for exception handling
-      related things) to processor independent code (in new ncgflw unit)
-    + generic cgobj unit which contains lots of code generator helpers with
-      global "cg" class instance variable
-    + cgcpu unit for i386 (implements processor specific routines of the above
-      unit)
-    * updated cgbase and cpubase for the new code generator units
-    * include ncgflw unit in cpunode unit
-
-  Revision 1.15  2001/08/26 13:36:58  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.14  2001/08/06 21:40:50  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.13  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.12  2001/04/15 09:48:31  peter
-    * fixed crash in labelnode
-    * easier detection of goto and label in try blocks
-
-  Revision 1.11  2001/04/14 14:07:11  peter
-    * moved more code from pass_1 to det_resulttype
-
-  Revision 1.10  2001/04/13 01:22:19  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.9  2001/04/02 21:20:37  peter
-    * resulttype rewrite
-
-  Revision 1.8  2001/01/27 21:29:35  florian
-     * behavior -Oa optimized
-
-  Revision 1.7  2001/01/06 23:35:05  jonas
-    * fixed webbug 1323
-
-  Revision 1.6  2001/01/05 17:36:58  florian
-  * the info about exception frames is stored now on the stack
-  instead on the heap
-
-  Revision 1.5  2000/12/25 00:07:32  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.4  2000/12/05 11:44:33  jonas
-    + new integer regvar handling, should be much more efficient
-
-  Revision 1.3  2000/11/29 00:30:47  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.2  2000/10/31 22:02:56  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.1  2000/10/15 09:33:31  peter
-    * moved n386*.pas to i386/ cpu_target dir
-
-  Revision 1.1  2000/10/14 10:14:48  peter
-    * moehrendorf oct 2000 rewrite
-
 }

+ 7 - 159
compiler/i386/n386inl.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generate i386 inline nodes
 
@@ -148,14 +148,8 @@ implementation
                  if is_ansistring(left.resulttype.def) or
                     is_widestring(left.resulttype.def) then
                   begin
-                    if left.location.loc<>LOC_REGISTER then
-                     begin
-                       location_release(exprasmlist,left.location);
-                       hregister:=rg.getregisterint(exprasmlist);
-                       cg.a_load_loc_reg(exprasmlist,left.location,hregister);
-                     end
-                    else
-                     hregister:=left.location.register;
+                    location_force_reg(exprasmlist,left.location,OS_ADDR,false);
+                    hregister:=left.location.register;
                     getlabel(lengthlab);
                     cg.a_cmp_const_reg_label(exprasmlist,OS_ADDR,OC_EQ,0,hregister,lengthlab);
                     reference_reset_base(href,hregister,-8);
@@ -466,7 +460,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.41  2002-05-13 19:54:38  peter
+  Revision 1.42  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.41  2002/05/13 19:54:38  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -543,153 +540,4 @@ end.
   Revision 1.32  2002/03/04 19:10:14  peter
     * removed compiler warnings
 
-  Revision 1.31  2001/12/30 17:24:46  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
-
-  Revision 1.30  2001/12/10 14:34:04  jonas
-    * fixed type conversions from dynamic arrays to open arrays
-
-  Revision 1.29  2001/12/04 15:59:03  jonas
-    * converted lo/hi to processor independent code, generated code is the
-      same as before (when turning on the optimizer)
-
-  Revision 1.28  2001/12/02 16:19:17  jonas
-    * less unnecessary regvar loading with if-statements
-
-  Revision 1.26  2001/09/28 20:38:51  jonas
-    * fixed big bug in my previous changes (the arguent for bts/btr is always
-      a 32 bit register, but it wasn't cleared properly if the value was only
-      an 8 bit one)
-
-  Revision 1.25  2001/09/27 13:03:18  jonas
-    * fixed bug reported by sg about self not being restored after calling
-      setlength
-
-  Revision 1.24  2001/09/04 14:32:45  jonas
-    * simplified det_resulttype code for include/exclude
-    * include/exclude doesn't use any helpers anymore in the i386 secondpass
-
-  Revision 1.23  2001/08/30 20:13:57  peter
-    * rtti/init table updates
-    * rttisym for reusable global rtti/init info
-    * support published for interfaces
-
-  Revision 1.22  2001/08/28 13:24:47  jonas
-    + compilerproc implementation of most string-related type conversions
-    - removed all code from the compiler which has been replaced by
-      compilerproc implementations (using ($ifdef hascompilerproc) is not
-      necessary in the compiler)
-
-  Revision 1.21  2001/08/26 13:36:58  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.20  2001/08/24 12:33:54  jonas
-    * fixed big bug in handle_str that caused it to (almost) always call
-      fpc_<stringtype>_longint
-    * fixed small bug in handle_read_write that caused wrong warnigns about
-      uninitialized vars with read(ln)
-    + handle_val (processor independent val() handling)
-
-  Revision 1.19  2001/08/23 14:28:36  jonas
-    + tempcreate/ref/delete nodes (allows the use of temps in the
-      resulttype and first pass)
-    * made handling of read(ln)/write(ln) processor independent
-    * moved processor independent handling for str and reset/rewrite-typed
-      from firstpass to resulttype pass
-    * changed names of helpers in text.inc to be generic for use as
-      compilerprocs + added "iocheck" directive for most of them
-    * reading of ordinals is done by procedures instead of functions
-      because otherwise FPC_IOCHECK overwrote the result before it could
-      be stored elsewhere (range checking still works)
-    * compilerprocs can now be used in the system unit before they are
-      implemented
-    * added note to errore.msg that booleans can't be read using read/readln
-
-  Revision 1.18  2001/08/13 15:39:52  jonas
-    * made in_reset_typedfile/in_rewrite_typedfile handling processor
-      independent
-
-  Revision 1.17  2001/08/13 12:41:57  jonas
-    * made code for str(x,y) completely processor independent
-
-  Revision 1.16  2001/07/10 18:01:08  peter
-    * internal length for ansistring and widestrings
-
-  Revision 1.15  2001/07/08 21:00:18  peter
-    * various widestring updates, it works now mostly without charset
-      mapping supported
-
-  Revision 1.14  2001/04/13 01:22:19  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.13  2001/04/02 21:20:37  peter
-    * resulttype rewrite
-
-  Revision 1.12  2001/03/13 11:52:48  jonas
-    * fixed some memory leaks
-
-  Revision 1.11  2000/12/25 00:07:33  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.10  2000/12/09 22:51:37  florian
-    * helper name of val for qword fixed
-
-  Revision 1.9  2000/12/07 17:19:46  jonas
-    * new constant handling: from now on, hex constants >$7fffffff are
-      parsed as unsigned constants (otherwise, $80000000 got sign extended
-      and became $ffffffff80000000), all constants in the longint range
-      become longints, all constants >$7fffffff and <=cardinal($ffffffff)
-      are cardinals and the rest are int64's.
-    * added lots of longint typecast to prevent range check errors in the
-      compiler and rtl
-    * type casts of symbolic ordinal constants are now preserved
-    * fixed bug where the original resulttype.def wasn't restored correctly
-      after doing a 64bit rangecheck
-
-  Revision 1.8  2000/12/05 11:44:33  jonas
-    + new integer regvar handling, should be much more efficient
-
-  Revision 1.7  2000/11/29 00:30:47  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.6  2000/11/12 23:24:15  florian
-    * interfaces are basically running
-
-  Revision 1.5  2000/11/09 17:46:56  florian
-    * System.TypeInfo fixed
-    + System.Finalize implemented
-    + some new keywords for interface support added
-
-  Revision 1.4  2000/10/31 22:02:56  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.3  2000/10/26 14:15:07  jonas
-    * fixed setlength for shortstrings
-
-  Revision 1.2  2000/10/21 18:16:13  florian
-    * a lot of changes:
-       - basic dyn. array support
-       - basic C++ support
-       - some work for interfaces done
-       ....
-
-  Revision 1.1  2000/10/15 09:33:31  peter
-    * moved n386*.pas to i386/ cpu_target dir
-
-  Revision 1.2  2000/10/15 09:08:58  peter
-    * use System for the systemunit instead of target dependent
-
-  Revision 1.1  2000/10/14 10:14:49  peter
-    * moehrendorf oct 2000 rewrite
-
 }

+ 5 - 99
compiler/i386/n386mat.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generate i386 assembler for math nodes
 
@@ -830,7 +830,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.28  2002-05-13 19:54:38  peter
+  Revision 1.29  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.28  2002/05/13 19:54:38  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -886,101 +889,4 @@ end.
   Revision 1.23  2002/03/04 19:10:14  peter
     * removed compiler warnings
 
-  Revision 1.22  2001/12/30 17:24:47  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
-
-  Revision 1.21  2001/12/29 15:27:24  jonas
-    * made 'mod powerof2' -> 'and' optimization processor independent
-
-  Revision 1.20  2001/12/27 15:33:58  jonas
-    * fixed fpuregister counting errors ("merged")
-
-  Revision 1.19  2001/12/07 13:03:49  jonas
-    * fixed web bug 1716
-
-  Revision 1.18  2001/12/04 15:57:28  jonas
-    * never generate any "shll/shrl $0,%reg" anymore
-
-  Revision 1.17  2001/12/02 16:19:17  jonas
-    * less unnecessary regvar loading with if-statements
-
-  Revision 1.16  2001/09/05 15:22:10  jonas
-    * made multiplying, dividing and mod'ing of int64 and qword processor
-      independent with compilerprocs (+ small optimizations by using shift/and
-      where possible)
-
-  Revision 1.15  2001/08/29 12:03:23  jonas
-    * fixed wrong regalloc info around FPC_MUL/DIV/MOD_INT64/QWORD calls
-    * fixed partial result overwriting with the above calls too
-
-  Revision 1.14  2001/08/26 13:37:00  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.13  2001/04/13 01:22:19  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.12  2001/04/04 22:37:06  peter
-    * fix for not with no 32bit values
-
-  Revision 1.11  2001/04/02 21:20:38  peter
-    * resulttype rewrite
-
-  Revision 1.10  2001/02/03 12:52:34  jonas
-    * fixed web bug 1383
-
-  Revision 1.9  2000/12/07 17:19:46  jonas
-    * new constant handling: from now on, hex constants >$7fffffff are
-      parsed as unsigned constants (otherwise, $80000000 got sign extended
-      and became $ffffffff80000000), all constants in the longint range
-      become longints, all constants >$7fffffff and <=cardinal($ffffffff)
-      are cardinals and the rest are int64's.
-    * added lots of longint typecast to prevent range check errors in the
-      compiler and rtl
-    * type casts of symbolic ordinal constants are now preserved
-    * fixed bug where the original resulttype.def wasn't restored correctly
-      after doing a 64bit rangecheck
-
-  Revision 1.8  2000/12/05 11:44:33  jonas
-    + new integer regvar handling, should be much more efficient
-
-  Revision 1.7  2000/11/29 00:30:48  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.6  2000/11/20 14:05:50  jonas
-    * fixed bug in my changes to fix the regalloc info for div/mod ("merged")
-
-  Revision 1.5  2000/10/31 22:02:56  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.4  2000/10/19 16:26:52  jonas
-    * fixed wrong regalloc info for secondmoddiv ("merged", also small
-      correction made afterwards in fixes branch)
-
-  Revision 1.3  2000/10/17 15:41:48  jonas
-    * fixed stupid error in previous commit :/
-
-  Revision 1.1  2000/10/15 09:33:32  peter
-    * moved n386*.pas to i386/ cpu_target dir
-
-  Revision 1.4  2000/10/14 10:14:49  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.3  2000/09/30 16:08:45  peter
-    * more cg11 updates
-
-  Revision 1.2  2000/09/24 15:06:18  peter
-    * use defines.inc
-
-  Revision 1.1  2000/09/22 22:24:37  florian
-    * initial revision
-
 }

+ 5 - 84
compiler/i386/n386mem.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generate i386 assembler for in memory related nodes
 
@@ -519,7 +519,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.30  2002-05-13 19:54:38  peter
+  Revision 1.31  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.30  2002/05/13 19:54:38  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -608,86 +611,4 @@ end.
   Revision 1.20  2002/03/04 19:10:14  peter
     * removed compiler warnings
 
-  Revision 1.19  2001/12/30 17:24:47  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
-
-  Revision 1.18  2001/12/03 21:48:43  peter
-    * freemem change to value parameter
-    * torddef low/high range changed to int64
-
-  Revision 1.17  2001/09/30 16:17:17  jonas
-    * made most constant and mem handling processor independent
-
-  Revision 1.16  2001/08/30 20:13:57  peter
-    * rtti/init table updates
-    * rttisym for reusable global rtti/init info
-    * support published for interfaces
-
-  Revision 1.15  2001/08/26 13:37:00  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.14  2001/07/08 21:00:18  peter
-    * various widestring updates, it works now mostly without charset
-      mapping supported
-
-  Revision 1.13  2001/04/18 22:02:03  peter
-    * registration of targets and assemblers
-
-  Revision 1.12  2001/04/13 01:22:19  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.11  2001/04/02 21:20:38  peter
-    * resulttype rewrite
-
-  Revision 1.10  2001/03/11 22:58:52  peter
-    * getsym redesign, removed the globals srsym,srsymtable
-
-  Revision 1.9  2001/02/02 22:38:00  peter
-    * fixed crash with new(precord), merged
-
-  Revision 1.8  2000/12/25 00:07:33  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.7  2000/12/05 11:44:33  jonas
-    + new integer regvar handling, should be much more efficient
-
-  Revision 1.6  2000/11/29 00:30:48  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.5  2000/11/04 14:25:24  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.4  2000/10/31 22:02:57  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.3  2000/10/31 14:18:53  jonas
-    * merged double deleting of left location when using a temp in
-      secondwith (merged from fixes branch). This also fixes web bug1194
-
-  Revision 1.2  2000/10/21 18:16:13  florian
-    * a lot of changes:
-       - basic dyn. array support
-       - basic C++ support
-       - some work for interfaces done
-       ....
-
-  Revision 1.1  2000/10/15 09:33:32  peter
-    * moved n386*.pas to i386/ cpu_target dir
-
-  Revision 1.2  2000/10/14 21:52:54  peter
-    * fixed memory leaks
-
-  Revision 1.1  2000/10/14 10:14:49  peter
-    * moehrendorf oct 2000 rewrite
-
 }

+ 5 - 40
compiler/i386/n386obj.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Kovacs Attila Zoltan
+    Copyright (c) 1998-2002 by Kovacs Attila Zoltan
 
     Generate i386 assembly wrapper code interface implementor objects
 
@@ -237,7 +237,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.7  2002-05-12 16:53:17  peter
+  Revision 1.8  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.7  2002/05/12 16:53:17  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -282,42 +285,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.4  2001/10/25 21:22:41  peter
-    * calling convention rewrite
-
-  Revision 1.3  2001/09/19 11:04:41  michael
-  * Smartlinking with interfaces fixed
-  * Better smartlinking for rtti and init tables
-
-  Revision 1.2  2001/08/26 13:37:00  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.1  2001/04/21 13:37:17  peter
-    * made tclassheader using class of to implement cpu dependent code
-
-  Revision 1.5  2001/04/13 01:22:19  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.4  2000/12/25 00:07:33  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.3  2000/11/29 00:30:47  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.2  2000/11/12 23:24:15  florian
-    * interfaces are basically running
-
-  Revision 1.1  2000/11/04 14:25:23  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.1.2.2  2000/06/15 15:05:30  kaz
-    * An minor bug fix
-
-  Revision 1.1.2.1  2000/06/15 06:26:34  kaz
-    * Initial version
 }

+ 5 - 23
compiler/i386/n386opt.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Jonas Maebe
+    Copyright (c) 1998-2002 by Jonas Maebe
 
     This unit implements the 80x86 implementation of optimized nodes
 
@@ -248,7 +248,10 @@ end.
 
 {
   $Log$
-  Revision 1.14  2002-05-13 19:54:38  peter
+  Revision 1.15  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.14  2002/05/13 19:54:38  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -315,25 +318,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  2001/12/31 09:53:15  jonas
-    * changed remaining "getregister32" calls to ":=rg.getregisterint(exprasmlist);"
-
-  Revision 1.5  2001/08/26 13:37:00  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.4  2001/04/13 01:22:19  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.3  2001/04/02 21:20:38  peter
-    * resulttype rewrite
-
-  Revision 1.2  2001/01/06 19:12:31  jonas
-    * fixed IE 10 (but code is less efficient now :( )
-
-  Revision 1.1  2001/01/04 11:24:19  jonas
-    + initial implementation (still needs to be made more modular)
-
 }

+ 5 - 91
compiler/i386/n386set.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generate i386 assembler for in set/case nodes
 
@@ -1016,7 +1016,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.28  2002-05-13 19:54:38  peter
+  Revision 1.29  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.28  2002/05/13 19:54:38  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -1091,93 +1094,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.19  2001/12/31 09:53:15  jonas
-    * changed remaining "getregister32" calls to "getregisterint"
-
-  Revision 1.18  2001/12/03 21:48:43  peter
-    * freemem change to value parameter
-    * torddef low/high range changed to int64
-
-  Revision 1.17  2001/09/04 11:38:55  jonas
-    + searchsystype() and searchsystype() functions in symtable
-    * changed ninl and nadd to use these functions
-    * i386 set comparison functions now return their results in al instead
-      of in the flags so that they can be sued as compilerprocs
-    - removed all processor specific code from n386add.pas that has to do
-      with set handling, it's now all done in nadd.pas
-    * fixed fpc_set_contains_sets in genset.inc
-    * fpc_set_in_byte is now coded inline in n386set.pas and doesn't use a
-      helper anymore
-    * some small fixes in compproc.inc/set.inc regarding the declaration of
-      internal helper types (fpc_small_set and fpc_normal_set)
-
-  Revision 1.16  2001/08/26 13:37:00  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.15  2001/05/06 17:12:14  jonas
-    * fixed an IE10 and another bug with [var1..var2] construct
-
-  Revision 1.14  2001/04/13 01:22:19  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.13  2001/04/06 14:09:34  jonas
-    * fixed bug in ti386innode.pass_2 code and made it simpler/faster
-
-  Revision 1.12  2001/04/02 21:20:38  peter
-    * resulttype rewrite
-
-  Revision 1.11  2001/02/11 12:14:56  jonas
-    * simplified and optimized code generated for in-statements
-
-  Revision 1.10  2000/12/25 00:07:33  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.9  2000/12/18 17:45:32  jonas
-    * int64 case fixes
-    * explicit longint type casts for constants used in assembler code
-      generation s,ice they can be cardinals too (or even int64's in case of
-      range check errors)
-
-  Revision 1.8  2000/12/16 15:58:18  jonas
-    * removed warnings about possible range check errors
-
-  Revision 1.7  2000/12/05 11:44:34  jonas
-    + new integer regvar handling, should be much more efficient
-
-  Revision 1.6  2000/11/29 00:30:49  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.5  2000/11/17 14:09:00  jonas
-    * fixed webbug 1222 ("merged")
-
-  Revision 1.4  2000/11/13 14:44:36  jonas
-    * fixes so no more range errors with improved range checking code
-
-  Revision 1.3  2000/10/31 22:02:57  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.2  2000/10/26 15:53:27  jonas
-    * fixed web bug1192 (changed an ungetregister32 to ungetregister)
-      ("merged" from fixes)
-
-  Revision 1.1  2000/10/15 09:33:32  peter
-    * moved n386*.pas to i386/ cpu_target dir
-
-  Revision 1.4  2000/10/14 10:14:49  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.3  2000/09/30 16:08:45  peter
-    * more cg11 updates
-
-  Revision 1.2  2000/09/24 20:17:44  florian
-    * more conversion work done
-
-  Revision 1.1  2000/09/24 19:38:39  florian
-    * initial implementation
-
 }

+ 5 - 122
compiler/i386/popt386.pas

@@ -1,6 +1,6 @@
  {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl and Jonas Maebe
+    Copyright (c) 1998-2002 by Florian Klaempfl and Jonas Maebe
 
     This unit contains the peephole optimizer.
 
@@ -2043,7 +2043,10 @@ End.
 
 {
   $Log$
-  Revision 1.24  2002-05-12 16:53:18  peter
+  Revision 1.25  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.24  2002/05/12 16:53:18  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -2106,124 +2109,4 @@ End.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.17  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.16  2001/10/12 13:53:24  jonas
-    * fixed small crashing bug ("merged")
-    * some more optimizations are now only done once at the end of the optimizing
-      cycle instead of every iteration
-
-  Revision 1.15  2001/08/26 13:37:01  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.14  2001/08/01 09:46:55  jonas
-    * fixed endless loop with web bug 1571 (merged)
-
-  Revision 1.13  2001/04/13 01:22:19  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.12  2001/04/06 14:06:03  jonas
-    * fixed incompatibility between new regvar handling and -Op2
-
-  Revision 1.11  2001/04/02 21:20:39  peter
-    * resulttype rewrite
-
-  Revision 1.10  2001/02/08 12:13:40  jonas
-    * fixed web bug 1391
-
-  Revision 1.9  2001/01/27 21:29:35  florian
-     * behavior -Oa optimized
-
-  Revision 1.8  2001/01/10 10:29:36  jonas
-    * really fixed problems with -Op2 opts (merged)
-
-  Revision 1.7  2001/01/07 15:49:49  jonas
-    * fixed bug in call/jmp optimization with -Op1 and -Op2
-
-  Revision 1.6  2000/12/25 00:07:33  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.5  2000/12/16 16:00:12  jonas
-    * removed warnings about possible range check errors
-
-  Revision 1.4  2000/11/29 00:30:49  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.3  2000/11/14 09:53:18  jonas
-    * added missing allocregbetween() (merged)
-
-  Revision 1.2  2000/10/24 10:40:54  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 aopt386 so it does this looping
-    * added some procedures from csopt386 to the interface because they're
-      used by rropt386 as well
-    * some changes to csopt386 and daopt386 so that newly added instructions
-      by the CSE get optimizer info (they were simply skipped previously),
-      this fixes some bugs
-
-  Revision 1.1  2000/10/15 09:47:43  peter
-    * moved to i386/
-
-  Revision 1.13  2000/10/02 13:01:29  jonas
-    * fixed bug regarding removal of "test/or reg,reg": apparently, shr/shl
-      doesn't set the zero flag according to the contents of the register
-      after the shift :( (mergfed from fixes branch)
-
-  Revision 1.12  2000/09/24 15:06:23  peter
-    * use defines.inc
-
-  Revision 1.11  2000/09/18 11:28:36  jonas
-    * fixed web bug 1133 (merged from fixes branch)
-
-  Revision 1.10  2000/08/18 10:09:13  jonas
-    * fix for web bug1099 (merged from fixes branch)
-
-  Revision 1.9  2000/08/05 13:33:08  peter
-    * $ifdef go32v2 -> target_info.target=go32v2
-
-  Revision 1.8  2000/08/05 10:35:51  jonas
-    * readded l1 variable (between ifdef go32v2 to avoid hints/notes)
-
-  Revision 1.7  2000/08/04 22:00:52  peter
-    * merges from fixes
-
-  Revision 1.6  2000/07/31 08:44:05  jonas
-    - removed imul support from -dfoldarithops since "imull [reg32],[mem32]"
-      doesn't exist (merged from fixes branch)
-
-  Revision 1.5  2000/07/28 13:56:23  jonas
-    * fixed bug in shr/shl optimization when -Og is used (merged from fixes
-      branch)
-
-  Revision 1.4  2000/07/21 15:19:55  jonas
-    * daopt386: changes to getnextinstruction/getlastinstruction so they
-      ignore labels who have is_addr set
-    + daopt386/csopt386: remove loads of registers which are overwritten
-       before their contents are used (especially usefull for removing superfluous
-      maybe_loadself outputs and push/pops transformed by below optimization
-    + popt386: transform pop/pop/pop/.../push/push/push to sequences of
-      'movl x(%esp),%reg' (only active when compiling a go32v2 compiler
-      currently because I don't know whether it's safe to do this under Win32/
-      Linux (because of problems we had when using esp as frame pointer on
-      those os'es)
-
-  Revision 1.3  2000/07/14 05:11:49  michael
-  + Patch to 1.1
-
-  Revision 1.2  2000/07/13 11:32:45  michael
-  + removed logs
-
 }

+ 5 - 67
compiler/i386/ra386.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Carl Eric Codere and Peter Vreman
+    Copyright (c) 1998-2002 by Carl Eric Codere and Peter Vreman
 
     Handles the common i386 assembler reader routines
 
@@ -668,7 +668,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.18  2002-05-12 16:53:18  peter
+  Revision 1.19  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.18  2002/05/12 16:53:18  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -712,69 +715,4 @@ end.
    * implicit result variable generation for assembler routines
    * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
 
-  Revision 1.13  2001/11/02 22:58:11  peter
-    * procsym definition rewrite
-
-  Revision 1.12  2001/08/26 13:37:01  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.11  2001/08/07 18:47:14  peter
-    * merged netbsd start
-    * profile for win32
-
-  Revision 1.10  2001/08/06 21:40:50  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.9  2001/04/13 01:22:19  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.8  2001/04/05 21:33:45  peter
-    * movd and opsize fix merged
-
-  Revision 1.7  2001/03/05 21:49:44  peter
-    * noag386bin fix
-
-  Revision 1.6  2001/02/20 21:51:36  peter
-    * fpu fixes (merged)
-
-  Revision 1.5  2001/01/12 19:18:42  peter
-    * check for valid asm instructions
-
-  Revision 1.4  2000/12/25 00:07:34  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.3  2000/11/29 00:30:50  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.2  2000/10/31 22:30:14  peter
-    * merged asm result patch part 2
-
-  Revision 1.1  2000/10/15 09:47:43  peter
-    * moved to i386/
-
-  Revision 1.7  2000/10/08 10:26:33  peter
-    * merged @result fix from Pierre
-
-  Revision 1.6  2000/09/24 21:33:47  peter
-    * message updates merges
-
-  Revision 1.5  2000/09/24 15:06:25  peter
-    * use defines.inc
-
-  Revision 1.4  2000/09/16 12:22:52  peter
-    * freebsd support merged
-
-  Revision 1.3  2000/09/03 11:44:00  peter
-    * error for not specified operand size, which is now required for
-      newer binutils (merged)
-    * previous commit fix for tcflw (merged)
-
-  Revision 1.2  2000/07/13 11:32:47  michael
-  + removed logs
-
 }

+ 5 - 77
compiler/i386/ra386att.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Carl Eric Codere and Peter Vreman
+    Copyright (c) 1998-2002 by Carl Eric Codere and Peter Vreman
 
     Does the parsing for the AT&T styled inline assembler.
 
@@ -2129,7 +2129,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.21  2002-04-15 19:12:09  carl
+  Revision 1.22  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.21  2002/04/15 19:12:09  carl
   + target_info.size_of_pointer -> pointer_size
   + some cleanup of unused types/variables
   * move several constants from cpubase to their specific units
@@ -2162,79 +2165,4 @@ end.
    * implicit result variable generation for assembler routines
    * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
 
-  Revision 1.15  2001/11/02 22:58:11  peter
-    * procsym definition rewrite
-
-  Revision 1.14  2001/08/26 13:37:02  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.13  2001/08/06 21:40:50  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.12  2001/04/18 22:02:03  peter
-    * registration of targets and assemblers
-
-  Revision 1.11  2001/04/13 20:06:05  peter
-    * allow unit.identifier in asm readers
-
-  Revision 1.10  2001/04/13 18:20:21  peter
-    * scanner object to class
-
-  Revision 1.9  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.8  2001/03/25 12:29:45  peter
-    * offset_fixup fixes (merged)
-
-  Revision 1.7  2001/03/11 22:58:52  peter
-    * getsym redesign, removed the globals srsym,srsymtable
-
-  Revision 1.6  2000/12/25 00:07:34  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.5  2000/12/07 17:19:46  jonas
-    * new constant handling: from now on, hex constants >$7fffffff are
-      parsed as unsigned constants (otherwise, $80000000 got sign extended
-      and became $ffffffff80000000), all constants in the longint range
-      become longints, all constants >$7fffffff and <=cardinal($ffffffff)
-      are cardinals and the rest are int64's.
-    * added lots of longint typecast to prevent range check errors in the
-      compiler and rtl
-    * type casts of symbolic ordinal constants are now preserved
-    * fixed bug where the original resulttype wasn't restored correctly
-      after doing a 64bit rangecheck
-
-  Revision 1.4  2000/11/30 20:27:51  peter
-    * merged fix for bug 1229
-
-  Revision 1.3  2000/11/29 00:30:50  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.2  2000/10/31 22:02:57  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.1  2000/10/15 09:47:43  peter
-    * moved to i386/
-
-  Revision 1.6  2000/10/14 10:14:52  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.5  2000/09/24 21:19:51  peter
-    * delphi compile fixes
-
-  Revision 1.4  2000/09/24 15:06:26  peter
-    * use defines.inc
-
-  Revision 1.3  2000/08/27 16:11:52  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.2  2000/07/13 11:32:48  michael
-  + removed logs
-
 }

+ 5 - 56
compiler/i386/ra386dir.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Reads inline assembler and writes the lines direct to the output
 
@@ -304,7 +304,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.15  2002-05-12 16:53:18  peter
+  Revision 1.16  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.15  2002/05/12 16:53:18  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -332,58 +335,4 @@ end.
   Revision 1.13  2002/04/14 17:01:52  carl
   + att_reg2str -> gas_reg2str
 
-  Revision 1.12  2001/11/02 22:58:11  peter
-    * procsym definition rewrite
-
-  Revision 1.11  2001/08/26 13:37:02  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.10  2001/08/06 21:40:51  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.9  2001/04/18 22:02:03  peter
-    * registration of targets and assemblers
-
-  Revision 1.8  2001/04/13 18:20:21  peter
-    * scanner object to class
-
-  Revision 1.7  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.6  2001/04/02 21:20:40  peter
-    * resulttype rewrite
-
-  Revision 1.5  2001/03/11 22:58:52  peter
-    * getsym redesign, removed the globals srsym,srsymtable
-
-  Revision 1.4  2000/12/25 00:07:34  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.3  2000/11/29 00:30:50  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.2  2000/10/31 22:02:57  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.1  2000/10/15 09:47:43  peter
-    * moved to i386/
-
-  Revision 1.5  2000/10/14 10:14:52  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.4  2000/09/24 15:06:26  peter
-    * use defines.inc
-
-  Revision 1.3  2000/08/27 16:11:52  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.2  2000/07/13 11:32:48  michael
-  + removed logs
-
 }

+ 5 - 96
compiler/i386/ra386int.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Carl Eric Codere and Peter Vreman
+    Copyright (c) 1998-2002 by Carl Eric Codere and Peter Vreman
 
     Does the parsing process for the intel styled inline assembler.
 
@@ -1959,7 +1959,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.25  2002-04-20 21:37:07  carl
+  Revision 1.26  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.25  2002/04/20 21:37:07  carl
   + generic FPC_CHECKPOINTER
   + first parameter offset in stack now portable
   * rename some constants
@@ -2004,98 +2007,4 @@ end.
    * implicit result variable generation for assembler routines
    * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
 
-  Revision 1.19  2001/11/02 22:58:11  peter
-    * procsym definition rewrite
-
-  Revision 1.18  2001/09/17 21:29:14  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.17  2001/08/26 13:37:03  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.16  2001/08/06 21:40:51  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.15  2001/04/18 22:02:03  peter
-    * registration of targets and assemblers
-
-  Revision 1.14  2001/04/13 20:06:05  peter
-    * allow unit.identifier in asm readers
-
-  Revision 1.13  2001/04/13 18:20:21  peter
-    * scanner object to class
-
-  Revision 1.12  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.11  2001/03/25 12:29:45  peter
-    * offset_fixup fixes (merged)
-
-  Revision 1.10  2001/03/11 22:58:52  peter
-    * getsym redesign, removed the globals srsym,srsymtable
-
-  Revision 1.9  2001/02/20 21:51:36  peter
-    * fpu fixes (merged)
-
-  Revision 1.8  2001/02/09 23:42:49  peter
-    * merged fix for bug 1327
-
-  Revision 1.7  2001/01/05 17:36:58  florian
-  * the info about exception frames is stored now on the stack
-  instead on the heap
-
-  Revision 1.6  2000/12/25 00:07:34  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.5  2000/12/07 17:19:46  jonas
-    * new constant handling: from now on, hex constants >$7fffffff are
-      parsed as unsigned constants (otherwise, $80000000 got sign extended
-      and became $ffffffff80000000), all constants in the longint range
-      become longints, all constants >$7fffffff and <=cardinal($ffffffff)
-      are cardinals and the rest are int64's.
-    * added lots of longint typecast to prevent range check errors in the
-      compiler and rtl
-    * type casts of symbolic ordinal constants are now preserved
-    * fixed bug where the original resulttype wasn't restored correctly
-      after doing a 64bit rangecheck
-
-  Revision 1.4  2000/11/30 20:27:51  peter
-    * merged fix for bug 1229
-
-  Revision 1.3  2000/11/29 00:30:51  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.2  2000/10/31 22:02:57  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.1  2000/10/15 09:47:43  peter
-    * moved to i386/
-
-  Revision 1.8  2000/10/14 10:14:52  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.7  2000/09/24 21:19:51  peter
-    * delphi compile fixes
-
-  Revision 1.6  2000/09/24 15:06:26  peter
-    * use defines.inc
-
-  Revision 1.5  2000/08/27 16:11:52  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.4  2000/08/12 15:32:02  peter
-    * reference reading fix from Jonas (merged)
-
-  Revision 1.3  2000/07/30 17:04:43  peter
-    * merged fixes
-
-  Revision 1.2  2000/07/13 11:32:48  michael
-  + removed logs
-
 }

+ 5 - 43
compiler/i386/rropt386.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Jonas Maebe, member of the Free Pascal
+    Copyright (c) 1998-2002 by Jonas Maebe, member of the Free Pascal
       development team
 
     This unit contains register renaming functionality
@@ -350,7 +350,10 @@ End.
 
 {
   $Log$
-  Revision 1.14  2002-05-12 16:53:18  peter
+  Revision 1.15  2002-05-14 19:35:00  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.14  2002/05/12 16:53:18  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -416,45 +419,4 @@ End.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.8  2001/10/12 13:55:03  jonas
-    * finer granularity for allocation of reused/replaced registers
-
-  Revision 1.7  2001/08/29 14:07:43  jonas
-    * the optimizer now keeps track of flags register usage. This fixes some
-      optimizer bugs with int64 calculations (because of the carry flag usage)
-    * fixed another bug which caused wrong optimizations with complex
-      array expressions
-
-  Revision 1.6  2001/01/06 23:35:06  jonas
-    * fixed webbug 1323
-
-  Revision 1.5  2000/12/25 00:07:34  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.4  2000/12/05 09:32:47  jonas
-    * fixed bug where "shl $1,%reg" was changed to "leal (%reg),%reg2"
-      instread of to "leal (,%reg,2),%reg2"
-
-  Revision 1.3  2000/11/29 00:30:51  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.2  2000/11/22 16:30:04  jonas
-    * fixed bug where "imul mem32,reg,reg" could be generated
-
-  Revision 1.1  2000/10/24 10:40:54  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 aopt386 so it does this looping
-    * added some procedures from csopt386 to the interface because they're
-      used by rropt386 as well
-    * some changes to csopt386 and daopt386 so that newly added instructions
-      by the CSE get optimizer info (they were simply skipped previously),
-      this fixes some bugs
-
-
 }

+ 3 - 16
compiler/impdef.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Pavel
+    Copyright (c) 1998-2002 by Pavel
 
     This unit finds the export defs from PE files
 
@@ -479,20 +479,7 @@ end.
 
 {
   $Log$
-  Revision 1.6  2001-04-13 01:22:08  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
+  Revision 1.7  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
 
-  Revision 1.5  2001/01/13 00:09:21  peter
-    * made Pavel O. happy ;)
-
-  Revision 1.4  2000/11/20 13:58:19  pierre
-   * missing end. added
-
-  Revision 1.3  2000/09/24 15:06:17  peter
-    * use defines.inc
-
-  Revision 1.2  2000/07/13 11:32:43  michael
-  + removed logs
 }

+ 3 - 45
compiler/import.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Peter Vreman
+    Copyright (c) 1998-2002 by Peter Vreman
 
     This unit implements an uniform import object
 
@@ -237,49 +237,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.14  2001-06-28 19:46:25  peter
-    * added override and virtual for constructors
-
-  Revision 1.13  2001/04/18 22:01:54  peter
-    * registration of targets and assemblers
-
-  Revision 1.12  2001/04/13 01:22:08  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.11  2001/03/06 18:28:02  peter
-    * patch from Pavel with a new and much faster DLL Scanner for
-      automatic importing so $linklib works for DLLs. Thanks Pavel!
-
-  Revision 1.10  2001/02/26 19:44:52  peter
-    * merged generic m68k updates from fixes branch
-
-  Revision 1.9  2001/02/03 00:09:02  peter
-    * fixed netware typo in previous commit
-
-  Revision 1.8  2001/02/02 22:43:39  peter
-    * add notarget defines
-
-  Revision 1.7  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.6  2000/09/24 15:06:18  peter
-    * use defines.inc
-
-  Revision 1.5  2000/09/16 12:22:52  peter
-    * freebsd support merged
-
-  Revision 1.4  2000/09/11 17:00:23  florian
-    + first implementation of Netware Module support, thanks to
-      Armin Diehl ([email protected]) for providing the patches
-
-  Revision 1.3  2000/08/27 16:11:51  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.2  2000/07/13 11:32:43  michael
-  + removed logs
+  Revision 1.15  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
 
 }

+ 5 - 85
compiler/link.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Peter Vreman
+    Copyright (c) 1998-2002 by Peter Vreman
 
     This unit handles the linker and binder calls for programs and
     libraries
@@ -539,90 +539,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.25  2002-01-19 11:57:05  peter
-    * fixed path appending for lib
-
-  Revision 1.24  2001/09/18 11:30:48  michael
-  * Fixes win32 linking problems with import libraries
-  * LINKLIB Libraries are now looked for using C file extensions
-  * get_exepath fix
-
-  Revision 1.23  2001/09/17 21:29:11  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.22  2001/08/30 20:13:53  peter
-    * rtti/init table updates
-    * rttisym for reusable global rtti/init info
-    * support published for interfaces
-
-  Revision 1.21  2001/08/19 11:22:22  peter
-    * palmos support from v10 merged
-
-  Revision 1.20  2001/08/13 19:26:03  peter
-    * fixed ordering of object and libraries
-
-  Revision 1.19  2001/08/07 18:47:12  peter
-    * merged netbsd start
-    * profile for win32
-
-  Revision 1.18  2001/06/28 19:46:25  peter
-    * added override and virtual for constructors
-
-  Revision 1.17  2001/06/03 15:15:31  peter
-    * dllprt0 stub for linux shared libs
-    * pass -init and -fini for linux shared libs
-    * libprefix splitted into staticlibprefix and sharedlibprefix
-
-  Revision 1.16  2001/04/18 22:01:54  peter
-    * registration of targets and assemblers
-
-  Revision 1.15  2001/04/13 01:22:08  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.14  2001/02/26 19:44:52  peter
-    * merged generic m68k updates from fixes branch
+  Revision 1.26  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
 
-  Revision 1.13  2001/02/20 21:41:17  peter
-    * new fixfilename, findfile for unix. Look first for lowercase, then
-      NormalCase and last for UPPERCASE names.
-
-  Revision 1.12  2001/01/12 19:19:44  peter
-    * fixed searching for utils
-
-  Revision 1.11  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.10  2000/11/29 00:30:31  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.9  2000/09/24 21:33:46  peter
-    * message updates merges
-
-  Revision 1.8  2000/09/24 15:06:18  peter
-    * use defines.inc
-
-  Revision 1.7  2000/09/16 12:22:52  peter
-    * freebsd support merged
-
-  Revision 1.6  2000/09/11 17:00:23  florian
-    + first implementation of Netware Module support, thanks to
-      Armin Diehl ([email protected]) for providing the patches
-
-  Revision 1.5  2000/09/04 09:40:23  michael
-  + merged Patch from peter
-
-  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/26 13:08:19  jonas
-    * merged from fixes branch (v_hint to v_tried changed when attempting
-      to smart/static/shared link)
+  Revision 1.25  2002/01/19 11:57:05  peter
+    * fixed path appending for lib
 
-  Revision 1.2  2000/07/13 11:32:43  michael
-  + removed logs
 }

+ 5 - 176
compiler/nadd.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Type checking and register allocation for add nodes
 
@@ -1617,7 +1617,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.48  2002-05-13 19:54:36  peter
+  Revision 1.49  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.48  2002/05/13 19:54:36  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -1661,178 +1664,4 @@ end.
   Revision 1.43  2002/03/30 23:12:09  carl
   * avoid crash with procinfo ('merged')
 
-  Revision 1.42  2001/12/27 15:33:58  jonas
-    * fixed fpuregister counting errors ("merged")
-
-  Revision 1.41  2001/10/20 19:28:37  peter
-    * interface 2 guid support
-    * guid constants support
-
-  Revision 1.40  2001/10/12 13:51:51  jonas
-    * fixed internalerror(10) due to previous fpu overflow fixes ("merged")
-    * fixed bug in n386add (introduced after compilerproc changes for string
-      operations) where calcregisters wasn't called for shortstring addnodes
-    * NOTE: from now on, the location of a binary node must now always be set
-       before you call calcregisters() for it
-
-  Revision 1.39  2001/09/05 15:22:09  jonas
-    * made multiplying, dividing and mod'ing of int64 and qword processor
-      independent with compilerprocs (+ small optimizations by using shift/and
-      where possible)
-
-  Revision 1.38  2001/09/04 11:38:54  jonas
-    + searchsystype() and searchsystype() functions in symtable
-    * changed ninl and nadd to use these functions
-    * i386 set comparison functions now return their results in al instead
-      of in the flags so that they can be sued as compilerprocs
-    - removed all processor specific code from n386add.pas that has to do
-      with set handling, it's now all done in nadd.pas
-    * fixed fpc_set_contains_sets in genset.inc
-    * fpc_set_in_byte is now coded inline in n386set.pas and doesn't use a
-      helper anymore
-    * some small fixes in compproc.inc/set.inc regarding the declaration of
-      internal helper types (fpc_small_set and fpc_normal_set)
-
-  Revision 1.37  2001/09/03 13:27:42  jonas
-    * compilerproc implementation of set addition/substraction/...
-    * changed the declaration of some set helpers somewhat to accomodate the
-      above change
-    * i386 still uses the old code for comparisons of sets, because its
-      helpers return the results in the flags
-    * dummy tc_normal_2_small_set type conversion because I need the original
-      resulttype of the set add nodes
-    NOTE: you have to start a cycle with 1.0.5!
-
-  Revision 1.36  2001/09/02 21:12:06  peter
-    * move class of definitions into type section for delphi
-
-  Revision 1.35  2001/08/31 15:42:15  jonas
-    * added missing type conversion from small to normal sets
-
-  Revision 1.34  2001/08/30 15:43:14  jonas
-    * converted adding/comparing of strings to compileproc. Note that due
-      to the way the shortstring helpers for i386 are written, they are
-      still handled by the old code (reason: fpc_shortstr_compare returns
-      results in the flags instead of in eax and fpc_shortstr_concat
-      has wierd parameter conventions). The compilerproc stuff should work
-      fine with the generic implementations though.
-    * removed some nested comments warnings
-
-  Revision 1.33  2001/08/26 13:36:38  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.32  2001/08/06 21:40:46  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.31  2001/07/08 21:00:14  peter
-    * various widestring updates, it works now mostly without charset
-      mapping supported
-
-  Revision 1.30  2001/06/04 21:41:26  peter
-    * readded generic conversion to s32bit that i removed yesterday. It
-      is still used for error recovery, added a small note about that
-
-  Revision 1.29  2001/06/04 18:13:53  peter
-    * Support kylix hack of having enum+integer in a enum declaration.
-
-  Revision 1.28  2001/05/27 14:30:55  florian
-    + some widestring stuff added
-
-  Revision 1.27  2001/05/19 21:11:50  peter
-    * first check for overloaded operator before doing inserting any
-      typeconvs
-
-  Revision 1.26  2001/05/19 12:53:52  peter
-    * check set types when doing constant set evaluation
-
-  Revision 1.25  2001/04/13 01:22:08  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.24  2001/04/04 22:42:39  peter
-    * move constant folding into det_resulttype
-
-  Revision 1.23  2001/04/02 21:20:30  peter
-    * resulttype rewrite
-
-  Revision 1.22  2001/02/04 11:12:17  jonas
-    * fixed web bug 1377 & const pointer arithmtic
-
-  Revision 1.21  2001/01/14 22:13:13  peter
-    * constant calculation fixed. The type of the new constant is now
-      defined after the calculation is done. This should remove a lot
-      of wrong warnings (and errors with -Cr).
-
-  Revision 1.20  2000/12/31 11:14:10  jonas
-    + implemented/fixed docompare() mathods for all nodes (not tested)
-    + nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
-      and constant strings/chars together
-    * n386add.pas: don't copy temp strings (of size 256) to another temp string
-      when adding
-
-  Revision 1.19  2000/12/16 15:55:32  jonas
-    + warning when there is a chance to get a range check error because of
-      automatic type conversion to u32bit
-    * arithmetic operations with a cardinal and a signed operand are carried
-      out in 64bit when range checking is on ("merged" from fixes branch)
-
-  Revision 1.18  2000/11/29 00:30:31  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.17  2000/11/20 15:30:42  jonas
-    * changed types of values used for constant expression evaluation to
-      tconstexprint
-
-  Revision 1.16  2000/11/13 11:30:55  florian
-    * some bugs with interfaces and NIL fixed
-
-  Revision 1.15  2000/11/04 14:25:20  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.14  2000/10/31 22:02:47  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.13  2000/10/14 10:14:50  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.12  2000/10/01 19:48:23  peter
-    * lot of compile updates for cg11
-
-  Revision 1.11  2000/09/30 16:08:45  peter
-    * more cg11 updates
-
-  Revision 1.10  2000/09/28 19:49:52  florian
-  *** empty log message ***
-
-  Revision 1.9  2000/09/27 21:33:22  florian
-    * finally nadd.pas compiles
-
-  Revision 1.8  2000/09/27 20:25:44  florian
-    * more stuff fixed
-
-  Revision 1.7  2000/09/27 18:14:31  florian
-    * fixed a lot of syntax errors in the n*.pas stuff
-
-  Revision 1.6  2000/09/24 15:06:19  peter
-    * use defines.inc
-
-  Revision 1.5  2000/09/22 22:42:52  florian
-    * more fixes
-
-  Revision 1.4  2000/09/21 12:22:42  jonas
-    * put piece of code between -dnewoptimizations2 since it wasn't
-      necessary otherwise
-    + support for full boolean evaluation (from tcadd)
-
-  Revision 1.3  2000/09/20 21:50:59  florian
-    * updated
-
-  Revision 1.2  2000/08/29 08:24:45  jonas
-    * some modifications to -dcardinalmulfix code
-
-  Revision 1.1  2000/08/26 12:24:20  florian
-    * initial release
 }

+ 95 - 332
compiler/nbas.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 2000-2002 by Florian Klaempfl
+    Copyright (c) 2000 by Florian Klaempfl
 
     This unit implements some basic nodes
 
@@ -22,15 +22,12 @@
 }
 unit nbas;
 
-{$i fpcdefs.inc}
+{$i defines.inc}
 
 interface
 
     uses
-       cpubase,
-       aasmbase,aasmtai,aasmcpu,
-       node,
-       symtype,symppu;
+       aasm,symtype,node,cpubase;
 
     type
        tnothingnode = class(tnode)
@@ -44,7 +41,6 @@ interface
           constructor create;virtual;
           function pass_1 : tnode;override;
           function det_resulttype:tnode;override;
-          procedure mark_write;override;
        end;
        terrornodeclass = class of terrornode;
 
@@ -52,9 +48,6 @@ interface
           p_asm : taasmoutput;
           constructor create(p : taasmoutput);virtual;
           destructor destroy;override;
-          constructor ppuload(t:tnodetype;ppufile:tcompilerppufile);override;
-          procedure ppuwrite(ppufile:tcompilerppufile);override;
-          procedure derefimpl;override;
           function getcopy : tnode;override;
           function pass_1 : tnode;override;
           function det_resulttype:tnode;override;
@@ -67,18 +60,15 @@ interface
           function pass_1 : tnode;override;
           function det_resulttype:tnode;override;
 {$ifdef extdebug}
-          procedure _dowrite;override;
+          procedure dowrite;override;
 {$endif extdebug}
        end;
        tstatementnodeclass = class of tstatementnode;
 
        tblocknode = class(tunarynode)
-          constructor create(l : tnode;releasetemp : boolean);virtual;
+          constructor create(l : tnode);virtual;
           function pass_1 : tnode;override;
           function det_resulttype:tnode;override;
-{$ifdef state_tracking}
-          function track_state_pass(exec_known:boolean):boolean;override;
-{$endif state_tracking}
        end;
        tblocknodeclass = class of tblocknode;
 
@@ -89,11 +79,10 @@ interface
        ttempinfo = record
          { set to the copy of a tempcreate pnode (if it gets copied) so that the }
          { refs and deletenode can hook to this copy once they get copied too    }
-         hookoncopy                 : ptempinfo;
-         ref                        : treference;
-         restype                    : ttype;
-         valid                      : boolean;
-         nextref_set_hookoncopy_nil : boolean;
+         hookoncopy : ptempinfo;
+         ref        : treference;
+         restype    : ttype;
+         valid      : boolean;
        end;
 
        { a node which will create a (non)persistent temp of a given type with a given  }
@@ -124,7 +113,6 @@ interface
           function getcopy: tnode; override;
           function pass_1 : tnode; override;
           function det_resulttype : tnode; override;
-          procedure mark_write;override;
           function docompare(p: tnode): boolean; override;
          protected
           tempinfo: ptempinfo;
@@ -161,7 +149,7 @@ interface
 
        { Create a blocknode and statement node for multiple statements
          generated internally by the parser }
-       function  internalstatements(var laststatement:tstatementnode;releasetemp : boolean):tblocknode;
+       function  internalstatements(var laststatement:tstatementnode):tblocknode;
        procedure addstatement(var laststatement:tstatementnode;n:tnode);
 
 
@@ -170,9 +158,9 @@ implementation
     uses
       cutils,
       verbose,globals,globtype,systems,
-      symconst,symdef,symsym,defutil,defcmp,
+      symconst,symdef,symsym,types,
       pass_1,
-      nld,ncal,nflw,rgobj,cginfo,cgbase
+      ncal,nflw,rgobj,cgbase
       ;
 
 
@@ -180,20 +168,20 @@ implementation
                                      Helpers
 *****************************************************************************}
 
-    function internalstatements(var laststatement:tstatementnode;releasetemp : boolean):tblocknode;
+    function internalstatements(var laststatement:tstatementnode):tblocknode;
       begin
         { create dummy initial statement }
-        laststatement := cstatementnode.create(cnothingnode.create,nil);
-        internalstatements := cblocknode.create(laststatement,releasetemp);
+        laststatement := cstatementnode.create(nil,cnothingnode.create);
+        internalstatements := cblocknode.create(laststatement);
       end;
 
 
     procedure addstatement(var laststatement:tstatementnode;n:tnode);
       begin
-        if assigned(laststatement.right) then
+        if assigned(laststatement.left) then
          internalerror(200204201);
-        laststatement.right:=cstatementnode.create(n,nil);
-        laststatement:=tstatementnode(laststatement.right);
+        laststatement.left:=cstatementnode.create(nil,n);
+        laststatement:=tstatementnode(laststatement.left);
       end;
 
 
@@ -203,21 +191,18 @@ implementation
 
     constructor tnothingnode.create;
       begin
-        inherited create(nothingn);
+         inherited create(nothingn);
       end;
 
-
     function tnothingnode.det_resulttype:tnode;
       begin
-        result:=nil;
-        resulttype:=voidtype;
+         result:=nil;
+         resulttype:=voidtype;
       end;
 
-
     function tnothingnode.pass_1 : tnode;
       begin
-        result:=nil;
-        expectloc:=LOC_VOID;
+         result:=nil;
       end;
 
 
@@ -231,7 +216,6 @@ implementation
          inherited create(errorn);
       end;
 
-
     function terrornode.det_resulttype:tnode;
       begin
          result:=nil;
@@ -240,19 +224,12 @@ implementation
          resulttype:=generrortype;
       end;
 
-
     function terrornode.pass_1 : tnode;
       begin
          result:=nil;
-         expectloc:=LOC_VOID;
          codegenerror:=true;
       end;
 
-
-    procedure terrornode.mark_write;
-      begin
-      end;
-
 {*****************************************************************************
                             TSTATEMENTNODE
 *****************************************************************************}
@@ -268,54 +245,54 @@ implementation
          result:=nil;
          resulttype:=voidtype;
 
-         { left is the statement itself calln assignn or a complex one }
-         resulttypepass(left);
+         { right is the statement itself calln assignn or a complex one }
+         resulttypepass(right);
          if (not (cs_extsyntax in aktmoduleswitches)) and
-            assigned(left.resulttype.def) and
-            not((left.nodetype=calln) and
-                { don't complain when funcretrefnode is set, because then the
-                  value is already used. And also not for constructors }
-                (assigned(tcallnode(left).funcretrefnode) or
-                 (tcallnode(left).procdefinition.proctypeoption=potype_constructor))) and
-            not(is_void(left.resulttype.def)) then
+            assigned(right.resulttype.def) and
+            not((right.nodetype=calln) and
+                (tcallnode(right).procdefinition.proctypeoption=potype_constructor)) and
+            not(is_void(right.resulttype.def)) then
            CGMessage(cg_e_illegal_expression);
          if codegenerror then
            exit;
 
-         { right is the next statement in the list }
-         if assigned(right) then
-           resulttypepass(right);
+         { left is the next in the list }
+         resulttypepass(left);
          if codegenerror then
            exit;
       end;
 
-
     function tstatementnode.pass_1 : tnode;
       begin
          result:=nil;
          { no temps over several statements }
-      {$ifndef newra}
          rg.cleartempgen;
-      {$endif}
-         { left is the statement itself calln assignn or a complex one }
-         firstpass(left);
+         { right is the statement itself calln assignn or a complex one }
+         firstpass(right);
          if codegenerror then
            exit;
-         expectloc:=left.expectloc;
-         registers32:=left.registers32;
-         registersfpu:=left.registersfpu;
+         location.loc:=right.location.loc;
+         registers32:=right.registers32;
+         registersfpu:=right.registersfpu;
 {$ifdef SUPPORT_MMX}
-         registersmmx:=left.registersmmx;
+         registersmmx:=right.registersmmx;
 {$endif SUPPORT_MMX}
-         { right is the next in the list }
-         if assigned(right) then
-           firstpass(right);
+         { left is the next in the list }
+         firstpass(left);
          if codegenerror then
            exit;
+         if right.registers32>registers32 then
+           registers32:=right.registers32;
+         if right.registersfpu>registersfpu then
+           registersfpu:=right.registersfpu;
+{$ifdef SUPPORT_MMX}
+         if right.registersmmx>registersmmx then
+           registersmmx:=right.registersmmx;
+{$endif}
       end;
 
 {$ifdef extdebug}
-    procedure tstatementnode._dowrite;
+    procedure tstatementnode.dowrite;
 
       begin
          { can't use inherited dowrite, because that will use the
@@ -324,11 +301,11 @@ implementation
          writeln(',');
          { write the statement }
          writenodeindention:=writenodeindention+'    ';
-         writenode(left);
+         writenode(right);
          writeln(')');
          delete(writenodeindention,1,4);
          { go on with the next statement }
-         writenode(right);
+         writenode(left);
       end;
 {$endif}
 
@@ -336,12 +313,10 @@ implementation
                              TBLOCKNODE
 *****************************************************************************}
 
-    constructor tblocknode.create(l : tnode;releasetemp : boolean);
+    constructor tblocknode.create(l : tnode);
 
       begin
          inherited create(blockn,l);
-         if releasetemp then
-           include(flags,nf_releasetemps);
       end;
 
     function tblocknode.det_resulttype:tnode;
@@ -354,37 +329,32 @@ implementation
          hp:=tstatementnode(left);
          while assigned(hp) do
            begin
-              if assigned(hp.left) then
+              if assigned(hp.right) then
                 begin
                    codegenerror:=false;
-                   resulttypepass(hp.left);
+                   resulttypepass(hp.right);
                    if (not (cs_extsyntax in aktmoduleswitches)) and
-                      assigned(hp.left.resulttype.def) and
-                      not((hp.left.nodetype=calln) and
-                          { don't complain when funcretrefnode is set, because then the
-                            value is already used. And also not for constructors }
-                          (assigned(tcallnode(hp.left).funcretrefnode) or
-                           (tcallnode(hp.left).procdefinition.proctypeoption=potype_constructor))) and
-                      not(is_void(hp.left.resulttype.def)) then
-                     CGMessagePos(hp.left.fileinfo,cg_e_illegal_expression);
+                      assigned(hp.right.resulttype.def) and
+                      not((hp.right.nodetype=calln) and
+                          (tcallnode(hp.right).procdefinition.proctypeoption=potype_constructor)) and
+                      not(is_void(hp.right.resulttype.def)) then
+                     CGMessage(cg_e_illegal_expression);
                    { the resulttype of the block is the last type that is
                      returned. Normally this is a voidtype. But when the
                      compiler inserts a block of multiple statements then the
                      last entry can return a value }
-                   resulttype:=hp.left.resulttype;
+                   resulttype:=hp.right.resulttype;
                 end;
-              hp:=tstatementnode(hp.right);
+              hp:=tstatementnode(hp.left);
            end;
       end;
 
-
     function tblocknode.pass_1 : tnode;
       var
          hp : tstatementnode;
          count : longint;
       begin
          result:=nil;
-         expectloc:=LOC_VOID;
          count:=0;
          hp:=tstatementnode(left);
          while assigned(hp) do
@@ -399,54 +369,51 @@ implementation
                    if {ret_in_acc(aktprocdef.rettype.def) and }
                       (is_ordinal(aktprocdef.rettype.def) or
                        is_smallset(aktprocdef.rettype.def)) and
-                      assigned(hp.right) and
-                      assigned(tstatementnode(hp.right).left) and
-                      (tstatementnode(hp.right).left.nodetype=exitn) and
-                      (hp.left.nodetype=assignn) and
+                      assigned(hp.left) and
+                      assigned(tstatementnode(hp.left).right) and
+                      (tstatementnode(hp.left).right.nodetype=exitn) and
+                      (hp.right.nodetype=assignn) and
                       { !!!! this tbinarynode should be tassignmentnode }
-                      (tbinarynode(hp.left).left.nodetype=funcretn) then
+                      (tbinarynode(hp.right).left.nodetype=funcretn) then
                       begin
-                         if assigned(texitnode(tstatementnode(hp.right).left).left) then
+                         if assigned(texitnode(tstatementnode(hp.left).right).left) then
                            CGMessage(cg_n_inefficient_code)
                          else
                            begin
-                              texitnode(tstatementnode(hp.right).left).left:=tassignmentnode(hp.left).right;
-                              tassignmentnode(hp.left).right:=nil;
-                              hp.left.free;
-                              hp.left:=nil;
+                              texitnode(tstatementnode(hp.left).right).left:=tstatementnode(hp.right).right;
+                              tstatementnode(hp.right).right:=nil;
+                              hp.right.free;
+                              hp.right:=nil;
                            end;
                       end
                    { warning if unreachable code occurs and elimate this }
-                   else if (hp.left.nodetype in
+                   else if (hp.right.nodetype in
                      [exitn,breakn,continuen,goton]) and
                      { statement node (JM) }
-                     assigned(hp.right) and
+                     assigned(hp.left) and
                      { kind of statement! (JM) }
-                     assigned(tstatementnode(hp.right).left) and
-                     (tstatementnode(hp.right).left.nodetype<>labeln) then
+                     assigned(tstatementnode(hp.left).right) and
+                     (tstatementnode(hp.left).right.nodetype<>labeln) then
                      begin
                         { use correct line number }
-                        aktfilepos:=hp.right.fileinfo;
-                        hp.right.free;
-                        hp.right:=nil;
+                        aktfilepos:=hp.left.fileinfo;
+                        hp.left.free;
+                        hp.left:=nil;
                         CGMessage(cg_w_unreachable_code);
                         { old lines }
-                        aktfilepos:=hp.left.fileinfo;
+                        aktfilepos:=hp.right.fileinfo;
                      end;
                 end;
-              if assigned(hp.left) then
+              if assigned(hp.right) then
                 begin
-                {$ifndef newra}
                    rg.cleartempgen;
-                {$endif}
                    codegenerror:=false;
-                   firstpass(hp.left);
+                   firstpass(hp.right);
 
-                   hp.expectloc:=hp.left.expectloc;
-                   hp.registers32:=hp.left.registers32;
-                   hp.registersfpu:=hp.left.registersfpu;
+                   hp.registers32:=hp.right.registers32;
+                   hp.registersfpu:=hp.right.registersfpu;
 {$ifdef SUPPORT_MMX}
-                   hp.registersmmx:=hp.left.registersmmx;
+                   hp.registersmmx:=hp.right.registersmmx;
 {$endif SUPPORT_MMX}
                 end
               else
@@ -460,28 +427,12 @@ implementation
               if hp.registersmmx>registersmmx then
                 registersmmx:=hp.registersmmx;
 {$endif}
-              expectloc:=hp.expectloc;
+              location.loc:=hp.location.loc;
               inc(count);
-              hp:=tstatementnode(hp.right);
+              hp:=tstatementnode(hp.left);
            end;
       end;
 
-{$ifdef state_tracking}
-      function Tblocknode.track_state_pass(exec_known:boolean):boolean;
-
-      var hp:Tstatementnode;
-
-      begin
-        track_state_pass:=false;
-        hp:=Tstatementnode(left);
-        while assigned(hp) do
-            begin
-                if hp.left.track_state_pass(exec_known) then
-                    track_state_pass:=true;
-                hp:=Tstatementnode(hp.right);
-            end;
-      end;
-{$endif state_tracking}
 
 {*****************************************************************************
                              TASMNODE
@@ -501,52 +452,6 @@ implementation
         inherited destroy;
       end;
 
-
-    constructor tasmnode.ppuload(t:tnodetype;ppufile:tcompilerppufile);
-      var
-        hp : tai;
-      begin
-        inherited ppuload(t,ppufile);
-        p_asm:=taasmoutput.create;
-        repeat
-          hp:=ppuloadai(ppufile);
-          if hp=nil then
-           break;
-          p_asm.concat(hp);
-        until false;
-      end;
-
-
-    procedure tasmnode.ppuwrite(ppufile:tcompilerppufile);
-      var
-        hp : tai;
-      begin
-        inherited ppuwrite(ppufile);
-        hp:=tai(p_asm.first);
-        while assigned(hp) do
-         begin
-           ppuwriteai(ppufile,hp);
-           hp:=tai(hp.next);
-         end;
-        { end is marked by a nil }
-        ppuwriteai(ppufile,nil);
-      end;
-
-
-    procedure tasmnode.derefimpl;
-      var
-        hp : tai;
-      begin
-        inherited derefimpl;
-        hp:=tai(p_asm.first);
-        while assigned(hp) do
-         begin
-           hp.derefimpl;
-           hp:=tai(hp.next);
-         end;
-      end;
-
-
     function tasmnode.getcopy: tnode;
       var
         n: tasmnode;
@@ -570,25 +475,22 @@ implementation
     function tasmnode.pass_1 : tnode;
       begin
          result:=nil;
-         expectloc:=LOC_VOID;
-         procinfo.flags:=procinfo.flags or pi_uses_asm;
+         procinfo^.flags:=procinfo^.flags or pi_uses_asm;
       end;
 
-
     function tasmnode.docompare(p: tnode): boolean;
       begin
         { comparing of asmlists is not implemented (JM) }
         docompare := false;
       end;
 
-
 {*****************************************************************************
                           TEMPCREATENODE
 *****************************************************************************}
 
     constructor ttempcreatenode.create(const _restype: ttype; _size: longint; _persistent: boolean);
       begin
-        inherited create(tempcreaten);
+        inherited create(tempn);
         size := _size;
         new(tempinfo);
         fillchar(tempinfo^,sizeof(tempinfo^),0);
@@ -607,24 +509,17 @@ implementation
         fillchar(n.tempinfo^,sizeof(n.tempinfo^),0);
         n.tempinfo^.restype := tempinfo^.restype;
 
-        { when the tempinfo has already a hookoncopy then it is not
-          reset by a tempdeletenode }
-        if assigned(tempinfo^.hookoncopy) then
-          internalerror(200211262);
-
         { signal the temprefs that the temp they point to has been copied, }
         { so that if the refs get copied as well, they can hook themselves }
         { to the copy of the temp                                          }
         tempinfo^.hookoncopy := n.tempinfo;
-        tempinfo^.nextref_set_hookoncopy_nil := false;
 
         result := n;
       end;
 
     function ttempcreatenode.pass_1 : tnode;
       begin
-         result := nil;
-         expectloc:=LOC_VOID;
+        result := nil;
       end;
 
     function ttempcreatenode.det_resulttype: tnode;
@@ -639,7 +534,7 @@ implementation
         result :=
           inherited docompare(p) and
           (ttempcreatenode(p).size = size) and
-          equal_defs(ttempcreatenode(p).tempinfo^.restype.def,tempinfo^.restype.def);
+          is_equal(ttempcreatenode(p).tempinfo^.restype.def,tempinfo^.restype.def);
       end;
 
 {*****************************************************************************
@@ -664,7 +559,6 @@ implementation
         n: ttemprefnode;
       begin
         n := ttemprefnode(inherited getcopy);
-        n.offset := offset;
 
         if assigned(tempinfo^.hookoncopy) then
           { if the temp has been copied, assume it becomes a new }
@@ -672,12 +566,6 @@ implementation
           begin
             { hook the ref to the copied temp }
             n.tempinfo := tempinfo^.hookoncopy;
-            { if we passed a ttempdeletenode that changed the temp }
-            { from a persistent one into a normal one, we must be  }
-            { the last reference (since our parent should free the }
-            { temp (JM)                                            }
-            if (tempinfo^.nextref_set_hookoncopy_nil) then
-              tempinfo^.hookoncopy := nil;
           end
         else
           { if the temp we refer to hasn't been copied, assume }
@@ -691,7 +579,7 @@ implementation
 
     function ttemprefnode.pass_1 : tnode;
       begin
-        expectloc:=LOC_REFERENCE;
+        location.loc:=LOC_REFERENCE;
         result := nil;
       end;
 
@@ -708,24 +596,16 @@ implementation
       begin
         result :=
           inherited docompare(p) and
-          (ttemprefnode(p).tempinfo = tempinfo) and
-          (ttemprefnode(p).offset = offset);
+          (ttemprefnode(p).tempinfo = tempinfo);
       end;
 
-    procedure Ttemprefnode.mark_write;
-
-    begin
-      include(flags,nf_write);
-    end;
-
-
 {*****************************************************************************
                              TEMPDELETENODE
 *****************************************************************************}
 
     constructor ttempdeletenode.create(const temp: ttempcreatenode);
       begin
-        inherited create(tempdeleten);
+        inherited create(temprefn);
         tempinfo := temp.tempinfo;
         release_to_normal := false;
         if not temp.persistent then
@@ -734,7 +614,7 @@ implementation
 
     constructor ttempdeletenode.create_normal_temp(const temp: ttempcreatenode);
       begin
-        inherited create(tempdeleten);
+        inherited create(temprefn);
         tempinfo := temp.tempinfo;
         release_to_normal := true;
       end;
@@ -744,7 +624,6 @@ implementation
         n: ttempdeletenode;
       begin
         n := ttempdeletenode(inherited getcopy);
-        n.release_to_normal := release_to_normal;
 
         if assigned(tempinfo^.hookoncopy) then
           { if the temp has been copied, assume it becomes a new }
@@ -752,13 +631,6 @@ implementation
           begin
             { hook the tempdeletenode to the copied temp }
             n.tempinfo := tempinfo^.hookoncopy;
-            { the temp shall not be used, reset hookoncopy    }
-            { Only if release_to_normal is false, otherwise   }
-            { the temp can still be referenced once more (JM) }
-            if (not release_to_normal) then
-              tempinfo^.hookoncopy:=nil
-            else
-              tempinfo^.nextref_set_hookoncopy_nil := true;
           end
         else
           { if the temp we refer to hasn't been copied, we have a }
@@ -770,8 +642,7 @@ implementation
 
     function ttempdeletenode.pass_1 : tnode;
       begin
-         expectloc:=LOC_VOID;
-         result := nil;
+        result := nil;
       end;
 
     function ttempdeletenode.det_resulttype: tnode;
@@ -804,116 +675,8 @@ begin
 end.
 {
   $Log$
-  Revision 1.46  2002-04-25 20:15:39  florian
-    * block nodes within expressions shouldn't release the used registers,
-      fixed using a flag till the new rg is ready
-
-  Revision 1.45  2003/04/23 08:41:34  jonas
-    * fixed ttemprefnode.compare and .getcopy to take offset field into
-      account
-
-  Revision 1.44  2003/04/22 23:50:22  peter
-    * firstpass uses expectloc
-    * checks if there are differences between the expectloc and
-      location.loc from secondpass in EXTDEBUG
-
-  Revision 1.43  2003/04/21 15:00:22  jonas
-    * fixed tstatementnode.det_resulttype and tststatementnode.pass_1
-    * fixed some getcopy issues with ttemp*nodes
-
-  Revision 1.42  2003/04/17 07:50:24  daniel
-    * Some work on interference graph construction
-
-  Revision 1.41  2003/04/12 14:53:59  jonas
-    * ttempdeletenode.create now sets the nodetype to tempdeleten instead of
-      temprefn
-
-  Revision 1.40  2003/03/17 20:30:46  peter
-    * errornode.mark_write added
-
-  Revision 1.39  2003/01/03 12:15:55  daniel
-    * Removed ifdefs around notifications
-      ifdefs around for loop optimizations remain
-
-  Revision 1.38  2002/11/27 02:37:12  peter
-    * case statement inlining added
-    * fixed inlining of write()
-    * switched statementnode left and right parts so the statements are
-      processed in the correct order when getcopy is used. This is
-      required for tempnodes
-
-  Revision 1.37  2002/11/25 17:43:17  peter
-    * splitted defbase in defutil,symutil,defcmp
-    * merged isconvertable and is_equal into compare_defs(_ext)
-    * made operator search faster by walking the list only once
-
-  Revision 1.36  2002/10/05 15:15:19  peter
-    * don't complain in X- mode for internal generated function calls
-      with funcretrefnode set
-    * give statement error at the correct line position instead of the
-      block begin
-
-  Revision 1.35  2002/09/01 08:01:16  daniel
-   * Removed sets from Tcallnode.det_resulttype
-   + Added read/write notifications of variables. These will be usefull
-     for providing information for several optimizations. For example
-     the value of the loop variable of a for loop does matter is the
-     variable is read after the for loop, but if it's no longer used
-     or written, it doesn't matter and this can be used to optimize
-     the loop code generation.
-
-  Revision 1.34  2002/08/18 20:06:23  peter
-    * inlining is now also allowed in interface
-    * renamed write/load to ppuwrite/ppuload
-    * tnode storing in ppu
-    * nld,ncon,nbas are already updated for storing in ppu
-
-  Revision 1.33  2002/08/17 22:09:44  florian
-    * result type handling in tcgcal.pass_2 overhauled
-    * better tnode.dowrite
-    * some ppc stuff fixed
-
-  Revision 1.32  2002/08/17 09:23:34  florian
-    * first part of procinfo rewrite
-
-  Revision 1.31  2002/08/15 19:10:35  peter
-    * first things tai,tnode storing in ppu
-
-  Revision 1.30  2002/07/20 11:57:53  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.29  2002/07/19 11:41:35  daniel
-  * State tracker work
-  * The whilen and repeatn are now completely unified into whilerepeatn. This
-    allows the state tracker to change while nodes automatically into
-    repeat nodes.
-  * Resulttypepass improvements to the notn. 'not not a' is optimized away and
-    'not(a>b)' is optimized into 'a<=b'.
-  * Resulttypepass improvements to the whilerepeatn. 'while not a' is optimized
-    by removing the notn and later switchting the true and falselabels. The
-    same is done with 'repeat until not a'.
-
-  Revision 1.28  2002/07/14 18:00:43  daniel
-  + Added the beginning of a state tracker. This will track the values of
-    variables through procedures and optimize things away.
-
-  Revision 1.27  2002/07/01 18:46:22  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.26  2002/06/24 12:43:00  jonas
-    * fixed errors found with new -CR code from Peter when cycling with -O2p3r
-
-  Revision 1.25  2002/05/18 13:34:09  peter
-    * readded missing revisions
-
-  Revision 1.24  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.23  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
 
   Revision 1.22  2002/04/23 19:16:34  peter
     * add pinline unit that inserts compiler supported functions using

+ 5 - 254
compiler/ncal.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This file implements the node for sub procedure calling
 
@@ -1870,7 +1870,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.73  2002-05-12 16:53:06  peter
+  Revision 1.74  2002-05-14 19:34:41  peter
+    * removed old logs and updated copyright year
+
+  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
@@ -1967,256 +1970,4 @@ end.
   Revision 1.62  2002/01/19 11:57:05  peter
     * fixed path appending for lib
 
-  Revision 1.61  2001/12/31 16:59:41  peter
-    * protected/private symbols parsing fixed
-
-  Revision 1.60  2001/12/11 13:21:36  jonas
-    * fixed to my previous patch: the hightree must always be converted to a
-      longint
-
-  Revision 1.59  2001/12/10 14:28:47  jonas
-    * gen_high_tree now uses an inline node of type in_high_x in most cases
-      so that it doesn't duplicate any code anymore from ninl.pas (and
-      dynamic array support was still missing)
-
-  Revision 1.58  2001/11/20 18:49:43  peter
-    * require overload for cross object overloading
-
-  Revision 1.57  2001/11/18 20:18:54  peter
-    * use cp_value_equal_const instead of cp_all
-
-  Revision 1.56  2001/11/18 18:43:13  peter
-    * overloading supported in child classes
-    * fixed parsing of classes with private and virtual and overloaded
-      so it is compatible with delphi
-
-  Revision 1.55  2001/11/02 23:16:50  peter
-    * removed obsolete chainprocsym and test_procsym code
-
-  Revision 1.54  2001/11/02 22:58:01  peter
-    * procsym definition rewrite
-
-  Revision 1.53  2001/10/28 17:22:25  peter
-    * allow assignment of overloaded procedures to procvars when we know
-      which procedure to take
-
-  Revision 1.51  2001/10/13 09:01:14  jonas
-    * fixed bug with using procedures as procvar parameters in TP/Delphi mode
-
-  Revision 1.50  2001/10/12 16:04:32  peter
-    * nested inline fix (merged)
-
-  Revision 1.49  2001/09/02 21:12:06  peter
-    * move class of definitions into type section for delphi
-
-  Revision 1.48  2001/08/30 15:39:59  jonas
-    * fixed docompare for the fields I added to tcallnode in my previous
-      commit
-    * removed nested comment warning
-
-  Revision 1.47  2001/08/29 12:18:07  jonas
-    + new createinternres() constructor for tcallnode to support setting a
-      custom resulttype
-    * compilerproc typeconversions now set the resulttype from the type
-      conversion for the generated call node, because the resulttype of
-      of the compilerproc helper isn't always exact (e.g. the ones that
-      return shortstrings, actually return a shortstring[x], where x is
-      specified by the typeconversion node)
-    * ti386callnode.pass_2 now always uses resulttype instead of
-      procsym.definition.rettype (so the custom resulttype, if any, is
-      always used). Note that this "rettype" stuff is only for use with
-      compilerprocs.
-
-  Revision 1.46  2001/08/28 13:24:46  jonas
-    + compilerproc implementation of most string-related type conversions
-    - removed all code from the compiler which has been replaced by
-      compilerproc implementations (using (ifdef hascompilerproc) is not
-      necessary in the compiler)
-
-  Revision 1.45  2001/08/26 13:36:39  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.44  2001/08/24 13:47:27  jonas
-    * moved "reverseparameters" from ninl.pas to ncal.pas
-    + support for non-persistent temps in ttempcreatenode.create, for use
-      with typeconversion nodes
-
-  Revision 1.43  2001/08/23 14:28:35  jonas
-    + tempcreate/ref/delete nodes (allows the use of temps in the
-      resulttype and first pass)
-    * made handling of read(ln)/write(ln) processor independent
-    * moved processor independent handling for str and reset/rewrite-typed
-      from firstpass to resulttype pass
-    * changed names of helpers in text.inc to be generic for use as
-      compilerprocs + added "iocheck" directive for most of them
-    * reading of ordinals is done by procedures instead of functions
-      because otherwise FPC_IOCHECK overwrote the result before it could
-      be stored elsewhere (range checking still works)
-    * compilerprocs can now be used in the system unit before they are
-      implemented
-    * added note to errore.msg that booleans can't be read using read/readln
-
-  Revision 1.42  2001/08/19 21:11:20  florian
-    * some bugs fix:
-      - overload; with external procedures fixed
-      - better selection of routine to do an overloaded
-        type case
-      - ... some more
-
-  Revision 1.41  2001/08/13 12:41:56  jonas
-    * made code for str(x,y) completely processor independent
-
-  Revision 1.40  2001/08/06 21:40:46  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.39  2001/08/01 15:07:29  jonas
-    + "compilerproc" directive support, which turns both the public and mangled
-      name to lowercase(declaration_name). This prevents a normal user from
-      accessing the routine, but they can still be easily looked up within
-      the compiler. This is used for helper procedures and should facilitate
-      the writing of more processor independent code in the code generator
-      itself (mostly written by Peter)
-    + new "createintern" constructor for tcal nodes to create a call to
-      helper exported using the "compilerproc" directive
-    + support for high(dynamic_array) using the the above new things
-    + definition of 'HASCOMPILERPROC' symbol (to be able to check in the
-      compiler and rtl whether the "compilerproc" directive is supported)
-
-  Revision 1.38  2001/07/30 20:52:25  peter
-    * fixed array constructor passing with type conversions
-
-  Revision 1.37  2001/07/09 21:15:40  peter
-    * Length made internal
-    * Add array support for Length
-
-  Revision 1.36  2001/07/01 20:16:15  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.35  2001/06/04 18:08:19  peter
-    * procvar support for varargs
-
-  Revision 1.34  2001/06/04 11:48:02  peter
-    * better const to var checking
-
-  Revision 1.33  2001/05/20 12:09:31  peter
-    * fixed exit with ansistring return from function call, no_fast_exit
-      should be set in det_resulttype instead of pass_1
-
-  Revision 1.32  2001/04/26 21:55:05  peter
-    * defcoll must be assigned in insert_typeconv
-
-  Revision 1.31  2001/04/21 12:03:11  peter
-    * m68k updates merged from fixes branch
-
-  Revision 1.30  2001/04/18 22:01:54  peter
-    * registration of targets and assemblers
-
-  Revision 1.29  2001/04/13 23:52:29  peter
-    * don't allow passing signed-unsigned ords to var parameter, this
-      forbids smallint-word, shortint-byte, longint-cardinal mixtures.
-      It's still allowed in tp7 -So mode.
-
-  Revision 1.28  2001/04/13 22:22:59  peter
-    * call set_varstate for procvar calls
-
-  Revision 1.27  2001/04/13 01:22:08  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.26  2001/04/04 22:42:39  peter
-    * move constant folding into det_resulttype
-
-  Revision 1.25  2001/04/02 21:20:30  peter
-    * resulttype rewrite
-
-  Revision 1.24  2001/03/12 12:47:46  michael
-  + Patches from peter
-
-  Revision 1.23  2001/02/26 19:44:52  peter
-    * merged generic m68k updates from fixes branch
-
-  Revision 1.22  2001/01/08 21:46:46  peter
-    * don't push high value for open array with cdecl;external;
-
-  Revision 1.21  2000/12/31 11:14:10  jonas
-    + implemented/fixed docompare() mathods for all nodes (not tested)
-    + nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
-      and constant strings/chars together
-    * n386add.pas: don't copy temp strings (of size 256) to another temp string
-      when adding
-
-  Revision 1.20  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.19  2000/12/17 14:35:12  peter
-    * fixed crash with procvar load in tp mode
-
-  Revision 1.18  2000/11/29 00:30:32  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.17  2000/11/22 15:12:06  jonas
-    * fixed inline-related problems (partially "merges")
-
-  Revision 1.16  2000/11/11 16:14:52  peter
-    * fixed crash with settextbuf,ptr
-
-  Revision 1.15  2000/11/06 21:36:25  peter
-    * fixed var parameter varstate bug
-
-  Revision 1.14  2000/11/04 14:25:20  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.13  2000/10/31 22:02:47  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.12  2000/10/21 18:16:11  florian
-    * a lot of changes:
-       - basic dyn. array support
-       - basic C++ support
-       - some work for interfaces done
-       ....
-
-  Revision 1.11  2000/10/21 14:35:27  peter
-    * readd to many remove p. for tcallnode.is_equal()
-
-  Revision 1.10  2000/10/14 21:52:55  peter
-    * fixed memory leaks
-
-  Revision 1.9  2000/10/14 10:14:50  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.8  2000/10/01 19:48:24  peter
-    * lot of compile updates for cg11
-
-  Revision 1.7  2000/09/28 19:49:52  florian
-  *** empty log message ***
-
-  Revision 1.6  2000/09/27 18:14:31  florian
-    * fixed a lot of syntax errors in the n*.pas stuff
-
-  Revision 1.5  2000/09/24 21:15:34  florian
-    * some errors fix to get more stuff compilable
-
-  Revision 1.4  2000/09/24 20:17:44  florian
-    * more conversion work done
-
-  Revision 1.3  2000/09/24 15:06:19  peter
-    * use defines.inc
-
-  Revision 1.2  2000/09/20 21:52:38  florian
-    * removed a lot of errors
-
-  Revision 1.1  2000/09/20 20:52:16  florian
-    * initial revision
-
 }

+ 4 - 49
compiler/ncgbas.pas

@@ -294,7 +294,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.16  2002-05-13 19:54:37  peter
+  Revision 1.17  2002-05-14 19:34:42  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.16  2002/05/13 19:54:37  peter
     * removed n386ld and n386util units
     * maybe_save/maybe_restore added instead of the old maybe_push
 
@@ -348,52 +351,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.10  2001/12/31 16:54:14  peter
-    * fixed inline crash with assembler routines
-
-  Revision 1.9  2001/11/02 22:58:01  peter
-    * procsym definition rewrite
-
-  Revision 1.8  2001/10/25 21:22:35  peter
-    * calling convention rewrite
-
-  Revision 1.7  2001/08/26 13:36:39  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.6  2001/08/24 13:47:27  jonas
-    * moved "reverseparameters" from ninl.pas to ncal.pas
-    + support for non-persistent temps in ttempcreatenode.create, for use
-      with typeconversion nodes
-
-  Revision 1.5  2001/08/23 14:28:35  jonas
-    + tempcreate/ref/delete nodes (allows the use of temps in the
-      resulttype and first pass)
-    * made handling of read(ln)/write(ln) processor independent
-    * moved processor independent handling for str and reset/rewrite-typed
-      from firstpass to resulttype pass
-    * changed names of helpers in text.inc to be generic for use as
-      compilerprocs + added "iocheck" directive for most of them
-    * reading of ordinals is done by procedures instead of functions
-      because otherwise FPC_IOCHECK overwrote the result before it could
-      be stored elsewhere (range checking still works)
-    * compilerprocs can now be used in the system unit before they are
-      implemented
-    * added note to errore.msg that booleans can't be read using read/readln
-
-  Revision 1.4  2001/06/02 19:22:15  peter
-    * refs count for relabeled asmsymbols fixed
-
-  Revision 1.3  2001/05/18 22:31:06  peter
-    * tasmnode.pass_2 is independent of cpu, moved to ncgbas
-    * include ncgbas for independent nodes
-
-  Revision 1.2  2001/04/13 01:22:08  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.1  2000/10/14 10:14:50  peter
-    * moehrendorf oct 2000 rewrite
-
 }

+ 4 - 19
compiler/ncgcnv.pas

@@ -468,7 +468,10 @@ end.
 
 {
   $Log$
-  Revision 1.12  2002-05-12 16:53:07  peter
+  Revision 1.13  2002-05-14 19:34:42  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.12  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
@@ -540,22 +543,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.4  2001/12/31 09:53:15  jonas
-    * changed remaining "getregister32" calls to "getregisterint"
-
-  Revision 1.3  2001/10/04 14:33:28  jonas
-    * fixed range check errors
-
-  Revision 1.2  2001/09/30 16:16:28  jonas
-    - removed unused units form uses-clause and unused local vars
-
-  Revision 1.1  2001/09/29 21:32:47  jonas
-    * almost all second pass typeconvnode helpers are now processor independent
-    * fixed converting boolean to int64/qword
-    * fixed register allocation bugs which could cause internalerror 10
-    * isnode and asnode are completely processor indepent now as well
-    * fpc_do_as now returns its class argument (necessary to be able to use it
-      properly with compilerproc)
-
-
 }

+ 5 - 53
compiler/ncgflw.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generate assembler for nodes that influence the flow which are
     the same for all (most?) processors
@@ -611,7 +611,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.15  2002-05-13 19:54:37  peter
+  Revision 1.16  2002-05-14 19:34:42  peter
+    * removed old logs and updated copyright year
+
+  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
 
@@ -679,56 +682,5 @@ end.
   Revision 1.8  2002/03/04 19:10:11  peter
     * removed compiler warnings
 
-  Revision 1.7  2001/12/30 17:24:48  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
-
-  Revision 1.6  2001/12/29 15:28:57  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.4  2001/11/02 22:58:01  peter
-    * procsym definition rewrite
-
-  Revision 1.3  2001/10/04 14:33:28  jonas
-    * fixed range check errors
-
-  Revision 1.2  2001/09/30 16:19:58  jonas
-    - removed unused units
-
-  Revision 1.1  2001/09/28 20:39:33  jonas
-    * changed all flow control structures (except for exception handling
-      related things) to processor independent code (in new ncgflw unit)
-    + generic cgobj unit which contains lots of code generator helpers with
-      global "cg" class instance variable
-    + cgcpu unit for i386 (implements processor specific routines of the above
-      unit)
-    * updated cgbase and cpubase for the new code generator units
-    * include ncgflw unit in cpunode unit
-
-  Revision 1.4  2001/09/09 17:10:25  jonas
-    * some more things implemented
-
-  Revision 1.3  2001/09/06 15:25:55  jonas
-    * changed type of tcg from object to class ->  abstract methods are now
-      a lot cleaner :)
-    + more updates: load_*_loc methods, op_*_* methods, g_flags2reg method
-      (if possible with geenric implementation and necessary ppc
-       implementations)
-    * worked a bit further on cgflw, now working on exitnode
-
-  Revision 1.2  2001/09/05 20:21:03  jonas
-    * new cgflow based on n386flw with all nodes until forn "translated"
-    + a_cmp_*_loc_label methods for tcg
-    + base implementatino for a_cmp_ref_*_label methods
-    * small bugfixes to powerpc cg
-
-
 }
 

+ 5 - 2
compiler/ncgld.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generate assembler for nodes that handle loads and assignments which
     are the same for all (most) processors
@@ -906,7 +906,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.4  2002-05-13 19:54:37  peter
+  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
 

+ 5 - 12
compiler/ncgmem.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Generate assembler for memory related nodes which are
     the same for all (most?) processors
@@ -454,7 +454,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.9  2002-05-12 16:53:07  peter
+  Revision 1.10  2002-05-14 19:34:42  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.9  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
@@ -515,14 +518,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.3  2001/12/31 09:53:15  jonas
-    * changed remaining "getregister32" calls to "getregisterint"
-
-  Revision 1.2  2001/11/02 22:58:02  peter
-    * procsym definition rewrite
-
-  Revision 1.1  2001/09/30 16:17:17  jonas
-    * made most constant and mem handling processor independent
-
-
 }

+ 5 - 9
compiler/ncgutil.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Helper routines for all code generators
 
@@ -1607,7 +1607,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.13  2002-05-13 19:54:37  peter
+  Revision 1.14  2002-05-14 19:34:42  peter
+    * removed old logs and updated copyright year
+
+  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
 
@@ -1688,11 +1691,4 @@ end.
   Revision 1.2  2002/03/04 19:10:11  peter
     * removed compiler warnings
 
-  Revision 1.1  2001/12/30 17:24:48  jonas
-    * range checking is now processor independent (part in cgobj,
-      part in cg64f32) and should work correctly again (it needed
-      some changes after the changes of the low and high of
-      tordef's to int64)
-    * maketojumpbool() is now processor independent (in ncgutil)
-    * getregister32 is now called getregisterint
 }

+ 5 - 195
compiler/ncnv.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 2000-2001 by Florian Klaempfl
+    Copyright (c) 2000-2002 by Florian Klaempfl
 
     Type checking and register allocation for type converting nodes
 
@@ -1739,7 +1739,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.55  2002-05-12 16:53:07  peter
+  Revision 1.56  2002-05-14 19:34:42  peter
+    * removed old logs and updated copyright year
+
+  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
@@ -1792,197 +1795,4 @@ end.
   Revision 1.48  2002/02/03 09:30:03  peter
     * more fixes for protected handling
 
-  Revision 1.47  2001/12/10 14:34:04  jonas
-    * fixed type conversions from dynamic arrays to open arrays
-
-  Revision 1.46  2001/12/06 17:57:34  florian
-    + parasym to tparaitem added
-
-  Revision 1.45  2001/12/03 21:48:41  peter
-    * freemem change to value parameter
-    * torddef low/high range changed to int64
-
-  Revision 1.44  2001/11/02 23:24:11  jonas
-    * fixed web bug 1665 (allow char to chararray type conversion) ("merged")
-
-  Revision 1.43  2001/11/02 22:58:02  peter
-    * procsym definition rewrite
-
-  Revision 1.42  2001/10/28 17:22:25  peter
-    * allow assignment of overloaded procedures to procvars when we know
-      which procedure to take
-
-  Revision 1.41  2001/10/20 19:28:37  peter
-    * interface 2 guid support
-    * guid constants support
-
-  Revision 1.40  2001/10/20 17:21:54  peter
-    * fixed size of constset when change from small to normalset
-
-  Revision 1.39  2001/09/30 16:12:46  jonas
-    - removed unnecessary i386 pass_2 of as- and isnode and added dummy generic ones
-
-  Revision 1.38  2001/09/29 21:32:46  jonas
-    * almost all second pass typeconvnode helpers are now processor independent
-    * fixed converting boolean to int64/qword
-    * fixed register allocation bugs which could cause internalerror 10
-    * isnode and asnode are completely processor indepent now as well
-    * fpc_do_as now returns its class argument (necessary to be able to use it
-      properly with compilerproc)
-
-  Revision 1.37  2001/09/03 13:27:42  jonas
-    * compilerproc implementation of set addition/substraction/...
-    * changed the declaration of some set helpers somewhat to accomodate the
-      above change
-    * i386 still uses the old code for comparisons of sets, because its
-      helpers return the results in the flags
-    * dummy tc_normal_2_small_set type conversion because I need the original
-      resulttype of the set add nodes
-    NOTE: you have to start a cycle with 1.0.5!
-
-  Revision 1.36  2001/09/02 21:12:06  peter
-    * move class of definitions into type section for delphi
-
-  Revision 1.35  2001/08/29 19:49:03  jonas
-    * some fixes in compilerprocs for chararray to string conversions
-    * conversion from string to chararray is now also done via compilerprocs
-
-  Revision 1.34  2001/08/29 12:18:07  jonas
-    + new createinternres() constructor for tcallnode to support setting a
-      custom resulttype
-    * compilerproc typeconversions now set the resulttype from the type
-      conversion for the generated call node, because the resulttype of
-      of the compilerproc helper isn't always exact (e.g. the ones that
-      return shortstrings, actually return a shortstring[x], where x is
-      specified by the typeconversion node)
-    * ti386callnode.pass_2 now always uses resulttype instead of
-      procsym.definition.rettype (so the custom resulttype, if any, is
-      always used). Note that this "rettype" stuff is only for use with
-      compilerprocs.
-
-  Revision 1.33  2001/08/28 13:24:46  jonas
-    + compilerproc implementation of most string-related type conversions
-    - removed all code from the compiler which has been replaced by
-      compilerproc implementations (using (ifdef hascompilerproc) is not
-      necessary in the compiler)
-
-  Revision 1.32  2001/08/26 13:36:40  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.31  2001/08/05 13:19:51  peter
-    * partly fix for proc of obj=nil
-
-  Revision 1.30  2001/07/30 20:59:27  peter
-    * m68k updates from v10 merged
-
-  Revision 1.29  2001/07/08 21:00:15  peter
-    * various widestring updates, it works now mostly without charset
-      mapping supported
-
-  Revision 1.28  2001/05/13 15:43:46  florian
-    * made resultype_char_to_char a little bit robuster
-
-  Revision 1.27  2001/05/08 21:06:30  florian
-    * some more support for widechars commited especially
-      regarding type casting and constants
-
-  Revision 1.26  2001/05/04 15:52:03  florian
-    * some Delphi incompatibilities fixed:
-       - out, dispose and new can be used as idenfiers now
-       - const p = apointerype(nil); is supported now
-    + support for const p = apointertype(pointer(1234)); added
-
-  Revision 1.25  2001/04/13 22:20:58  peter
-    * remove wrongly placed first_call_helper
-
-  Revision 1.24  2001/04/13 01:22:08  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.23  2001/04/04 22:42:39  peter
-    * move constant folding into det_resulttype
-
-  Revision 1.22  2001/04/02 21:20:30  peter
-    * resulttype rewrite
-
-  Revision 1.21  2001/03/08 17:44:47  jonas
-    * fixed web bug 1430
-
-  Revision 1.20  2001/02/21 11:49:50  jonas
-    * evaluate typecasts of const pointers to ordinals inline ('merged')
-
-  Revision 1.19  2001/02/20 18:37:10  peter
-    * removed unused code
-
-  Revision 1.18  2001/02/20 13:14:18  marco
-   * Fix from Peter for passing a procedure of method to a other method in a method
-
-  Revision 1.17  2001/02/08 13:09:03  jonas
-    * fixed web bug 1396: tpointerord is now a cardinal instead of a longint,
-      but added a hack in ncnv so that pointer(-1) still works
-
-  Revision 1.16  2000/12/31 11:14:10  jonas
-    + implemented/fixed docompare() mathods for all nodes (not tested)
-    + nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
-      and constant strings/chars together
-    * n386add.pas: don't copy temp strings (of size 256) to another temp string
-      when adding
-
-  Revision 1.15  2000/12/08 12:41:01  jonas
-    * fixed bug in sign extension patch
-
-  Revision 1.14  2000/12/07 17:19:42  jonas
-    * new constant handling: from now on, hex constants >$7fffffff are
-      parsed as unsigned constants (otherwise, $80000000 got sign extended
-      and became $ffffffff80000000), all constants in the longint range
-      become longints, all constants >$7fffffff and <=cardinal($ffffffff)
-      are cardinals and the rest are int64's.
-    * added lots of longint typecast to prevent range check errors in the
-      compiler and rtl
-    * type casts of symbolic ordinal constants are now preserved
-    * fixed bug where the original resulttype.def wasn't restored correctly
-      after doing a 64bit rangecheck
-
-  Revision 1.13  2000/11/29 00:30:32  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.12  2000/11/20 16:06:04  jonas
-    + allow evaluation of 64bit constant expressions at compile time
-    * disable range checking for explicit typecasts of constant expressions
-
-  Revision 1.11  2000/11/12 23:24:11  florian
-    * interfaces are basically running
-
-  Revision 1.10  2000/11/04 14:25:20  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.9  2000/10/31 22:02:48  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.8  2000/10/14 21:52:55  peter
-    * fixed memory leaks
-
-  Revision 1.7  2000/10/14 10:14:50  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.6  2000/10/01 19:48:24  peter
-    * lot of compile updates for cg11
-
-  Revision 1.5  2000/09/28 19:49:52  florian
-  *** empty log message ***
-
-  Revision 1.4  2000/09/27 18:14:31  florian
-    * fixed a lot of syntax errors in the n*.pas stuff
-
-  Revision 1.3  2000/09/26 20:06:13  florian
-    * hmm, still a lot of work to get things compilable
-
-  Revision 1.2  2000/09/26 14:59:34  florian
-    * more conversion work done
-
-  Revision 1.1  2000/09/25 15:37:14  florian
-    * more fixes
 }

+ 4 - 94
compiler/ncon.pas

@@ -721,7 +721,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.29  2002-05-12 16:53:07  peter
+  Revision 1.30  2002-05-14 19:34:42  peter
+    * removed old logs and updated copyright year
+
+  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
@@ -759,97 +762,4 @@ end.
   Revision 1.25  2002/03/04 19:10:11  peter
     * removed compiler warnings
 
-  Revision 1.24  2001/10/20 19:28:38  peter
-    * interface 2 guid support
-    * guid constants support
-
-  Revision 1.23  2001/09/17 21:29:12  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.22  2001/09/02 21:12:06  peter
-    * move class of definitions into type section for delphi
-
-  Revision 1.21  2001/08/26 13:36:40  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.20  2001/08/06 10:18:39  jonas
-    * restype wasn't copied for some constant nodetypes in getcopy
-
-  Revision 1.19  2001/07/08 21:00:15  peter
-    * various widestring updates, it works now mostly without charset
-      mapping supported
-
-  Revision 1.18  2001/05/08 21:06:30  florian
-    * some more support for widechars commited especially
-      regarding type casting and constants
-
-  Revision 1.17  2001/04/13 01:22:09  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.16  2001/04/02 21:20:30  peter
-    * resulttype rewrite
-
-  Revision 1.15  2000/12/31 11:14:10  jonas
-    + implemented/fixed docompare() mathods for all nodes (not tested)
-    + nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
-      and constant strings/chars together
-    * n386add.pas: don't copy temp strings (of size 256) to another temp string
-      when adding
-
-  Revision 1.14  2000/12/16 15:58:48  jonas
-    * genintconstnode now returns cardinals instead of int64 constants if possible
-
-  Revision 1.13  2000/12/15 13:26:01  jonas
-    * only return int64's from functions if it int64funcresok is defined
-    + added int64funcresok define to options.pas
-
-  Revision 1.12  2000/12/07 17:19:42  jonas
-    * new constant handling: from now on, hex constants >$7fffffff are
-      parsed as unsigned constants (otherwise, $80000000 got sign extended
-      and became $ffffffff80000000), all constants in the longint range
-      become longints, all constants >$7fffffff and <=cardinal($ffffffff)
-      are cardinals and the rest are int64's.
-    * added lots of longint typecast to prevent range check errors in the
-      compiler and rtl
-    * type casts of symbolic ordinal constants are now preserved
-    * fixed bug where the original resulttype.def wasn't restored correctly
-      after doing a 64bit rangecheck
-
-  Revision 1.11  2000/11/29 00:30:32  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.10  2000/10/31 22:02:48  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.9  2000/10/14 21:52:55  peter
-    * fixed memory leaks
-
-  Revision 1.8  2000/10/14 10:14:50  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.7  2000/09/28 19:49:52  florian
-  *** empty log message ***
-
-  Revision 1.6  2000/09/27 20:25:44  florian
-    * more stuff fixed
-
-  Revision 1.5  2000/09/27 18:14:31  florian
-    * fixed a lot of syntax errors in the n*.pas stuff
-
-  Revision 1.4  2000/09/26 14:59:34  florian
-    * more conversion work done
-
-  Revision 1.3  2000/09/24 21:15:34  florian
-    * some errors fix to get more stuff compilable
-
-  Revision 1.2  2000/09/24 15:06:19  peter
-    * use defines.inc
-
-  Revision 1.1  2000/09/22 21:44:48  florian
-    + initial revision
-
 }

+ 5 - 97
compiler/nflw.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Type checking and register allocation for nodes that influence
     the flow
@@ -1113,7 +1113,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.29  2002-05-12 16:53:07  peter
+  Revision 1.30  2002-05-14 19:34:42  peter
+    * removed old logs and updated copyright year
+
+  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
@@ -1147,99 +1150,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.27  2001/11/19 14:21:30  jonas
-    * upper constant limits for "for" loops are now also converted to the
-      type of the counter var ('merged')
-
-  Revision 1.26  2001/11/02 22:58:02  peter
-    * procsym definition rewrite
-
-  Revision 1.25  2001/10/16 15:10:35  jonas
-    * fixed goto/label/try bugs
-
-  Revision 1.24  2001/09/02 21:12:07  peter
-    * move class of definitions into type section for delphi
-
-  Revision 1.23  2001/08/30 20:56:38  peter
-    * exit() with exceptions fix
-
-  Revision 1.22  2001/08/26 13:36:40  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.21  2001/08/06 21:40:47  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.20  2001/04/26 21:56:08  peter
-    * moved some code from exitnode.create to det_resulttype
-
-  Revision 1.19  2001/04/21 15:36:29  peter
-    * fixed crash with for counter
-
-  Revision 1.18  2001/04/15 09:48:30  peter
-    * fixed crash in labelnode
-    * easier detection of goto and label in try blocks
-
-  Revision 1.17  2001/04/14 14:07:10  peter
-    * moved more code from pass_1 to det_resulttype
-
-  Revision 1.16  2001/04/13 01:22:09  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.15  2001/04/02 21:20:30  peter
-    * resulttype rewrite
-
-  Revision 1.14  2001/03/25 12:27:59  peter
-    * set funcret to assigned (merged)
-
-  Revision 1.13  2001/02/26 19:44:53  peter
-    * merged generic m68k updates from fixes branch
-
-  Revision 1.12  2000/12/31 11:14:10  jonas
-    + implemented/fixed docompare() mathods for all nodes (not tested)
-    + nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
-      and constant strings/chars together
-    * n386add.pas: don't copy temp strings (of size 256) to another temp string
-      when adding
-
-  Revision 1.11  2000/11/29 00:30:33  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.10  2000/11/04 14:25:20  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.9  2000/10/31 22:02:48  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.8  2000/10/21 18:16:11  florian
-    * a lot of changes:
-       - basic dyn. array support
-       - basic C++ support
-       - some work for interfaces done
-       ....
-
-  Revision 1.7  2000/10/14 21:52:55  peter
-    * fixed memory leaks
-
-  Revision 1.6  2000/10/14 10:14:50  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.5  2000/10/01 19:48:24  peter
-    * lot of compile updates for cg11
-
-  Revision 1.4  2000/09/28 19:49:52  florian
-  *** empty log message ***
-
-  Revision 1.3  2000/09/24 21:15:34  florian
-    * some errors fix to get more stuff compilable
-
-  Revision 1.2  2000/09/24 15:06:19  peter
-    * use defines.inc
-
-  Revision 1.1  2000/09/22 22:46:03  florian
-    + initial revision
-
 }

+ 5 - 266
compiler/ninl.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Type checking and register allocation for inline nodes
 
@@ -2267,7 +2267,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.73  2002-05-12 16:53:07  peter
+  Revision 1.74  2002-05-14 19:34:42  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.73  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
@@ -2324,268 +2327,4 @@ end.
   Revision 1.68  2002/01/19 11:53:56  peter
     * constant evaluation for assinged added
 
-  Revision 1.67  2001/12/28 14:09:21  jonas
-    * fixed web bug 1735 (argument of inc/dec must be made unique) ("merged")
-
-  Revision 1.66  2001/12/10 14:26:22  jonas
-    - removed unnecessary resulttypepass call
-
-  Revision 1.65  2001/12/04 15:59:03  jonas
-    * converted lo/hi to processor independent code, generated code is the
-      same as before (when turning on the optimizer)
-
-  Revision 1.64  2001/12/03 14:21:34  jonas
-    * fixed web bug 1693 (dynarray support for length)
-
-  Revision 1.63  2001/10/24 16:17:36  jonas
-    * fixed web bug 1621 (write(typed_file,function_call) works again)
-    * allow write(typed_file,procvar_call) too (it was already allowed for
-      text file writes)
-
-  Revision 1.62  2001/09/30 16:16:28  jonas
-    - removed unused units form uses-clause and unused local vars
-
-  Revision 1.61  2001/09/24 16:09:55  jonas
-    * check if amount of dimensions passed to setlength for dynamic arrays
-      is correct
-
-  Revision 1.60  2001/09/24 11:35:55  jonas
-    * fix from Pavel V. Ozersk to accept multiple dimensions for setlength
-      and dynamical arrays
-
-  Revision 1.59  2001/09/17 21:29:12  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.58  2001/09/05 15:19:43  jonas
-    * the result of high/low nodes wasn't always resulttypepassed
-
-  Revision 1.57  2001/09/04 14:32:45  jonas
-    * simplified det_resulttype code for include/exclude
-    * include/exclude doesn't use any helpers anymore in the i386 secondpass
-
-  Revision 1.56  2001/09/04 11:38:55  jonas
-    + searchsystype() and searchsystype() functions in symtable
-    * changed ninl and nadd to use these functions
-    * i386 set comparison functions now return their results in al instead
-      of in the flags so that they can be sued as compilerprocs
-    - removed all processor specific code from n386add.pas that has to do
-      with set handling, it's now all done in nadd.pas
-    * fixed fpc_set_contains_sets in genset.inc
-    * fpc_set_in_byte is now coded inline in n386set.pas and doesn't use a
-      helper anymore
-    * some small fixes in compproc.inc/set.inc regarding the declaration of
-      internal helper types (fpc_small_set and fpc_normal_set)
-
-  Revision 1.55  2001/09/02 21:12:07  peter
-    * move class of definitions into type section for delphi
-
-  Revision 1.54  2001/08/28 13:24:46  jonas
-    + compilerproc implementation of most string-related type conversions
-    - removed all code from the compiler which has been replaced by
-      compilerproc implementations (using $ifdef hascompilerproc is not
-      necessary in the compiler)
-
-  Revision 1.53  2001/08/27 11:04:41  jonas
-    * avoid nonsense range error when using cardinal with value
-      > high(longint) as code para with val()
-
-  Revision 1.52  2001/08/26 13:36:40  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.51  2001/08/24 13:47:27  jonas
-    * moved "reverseparameters" from ninl.pas to ncal.pas
-    + support for non-persistent temps in ttempcreatenode.create, for use
-      with typeconversion nodes
-
-  Revision 1.50  2001/08/24 12:33:54  jonas
-    * fixed big bug in handle_str that caused it to (almost) always call
-      fpc_<stringtype>_longint
-    * fixed small bug in handle_read_write that caused wrong warnigns about
-      uninitialized vars with read(ln)
-    + handle_val (processor independent val() handling)
-
-  Revision 1.49  2001/08/23 14:28:35  jonas
-    + tempcreate/ref/delete nodes (allows the use of temps in the
-      resulttype and first pass)
-    * made handling of read(ln)/write(ln) processor independent
-    * moved processor independent handling for str and reset/rewrite-typed
-      from firstpass to resulttype pass
-    * changed names of helpers in text.inc to be generic for use as
-      compilerprocs + added "iocheck" directive for most of them
-    * reading of ordinals is done by procedures instead of functions
-      because otherwise FPC_IOCHECK overwrote the result before it could
-      be stored elsewhere (range checking still works)
-    * compilerprocs can now be used in the system unit before they are
-      implemented
-    * added note to errore.msg that booleans can't be read using read/readln
-
-  Revision 1.48  2001/08/13 15:39:52  jonas
-    * made in_reset_typedfile/in_rewrite_typedfile handling processor
-      independent
-
-  Revision 1.47  2001/08/13 12:41:57  jonas
-    * made code for str(x,y) completely processor independent
-
-  Revision 1.46  2001/08/06 12:47:31  jonas
-    * parameters to FPC_TYPED_WRITE can't be regvars (merged)
-
-  Revision 1.45  2001/08/06 09:44:10  jonas
-    + support for high(dynarray) using compilerproc (forgot to commit
-      previously)
-
-  Revision 1.44  2001/07/09 21:15:40  peter
-    * Length made internal
-    * Add array support for Length
-
-  Revision 1.43  2001/07/08 21:00:15  peter
-    * various widestring updates, it works now mostly without charset
-      mapping supported
-
-  Revision 1.42  2001/06/04 11:48:01  peter
-    * better const to var checking
-
-  Revision 1.41  2001/06/03 20:12:53  peter
-    * changed int64($ffffffff) that is buggy under 1.0.x to expression
-      with a shl
-
-  Revision 1.40  2001/05/06 17:16:43  jonas
-    + added warning about missing implementation for high(dynamic_array)
-
-  Revision 1.39  2001/04/26 21:57:05  peter
-    * moved code from firstpass to det_resulttype and remove extraneous
-      calls to firstcallparan for in_str,in_write,in_val
-
-  Revision 1.38  2001/04/21 12:03:11  peter
-    * m68k updates merged from fixes branch
-
-  Revision 1.37  2001/04/13 22:22:30  peter
-    * call set_varstate for setlength
-    * ptr returns pointerconstnode instead of ordconstnode
-
-  Revision 1.36  2001/04/13 01:22:09  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.35  2001/04/05 21:02:13  peter
-    * fixed fpu inline functions typeconvs
-
-  Revision 1.34  2001/04/04 22:42:40  peter
-    * move constant folding into det_resulttype
-
-  Revision 1.33  2001/04/04 21:30:43  florian
-    * applied several fixes to get the DD8 Delphi Unit compiled
-     e.g. "forward"-interfaces are working now
-
-  Revision 1.32  2001/04/02 21:20:31  peter
-    * resulttype rewrite
-
-  Revision 1.31  2001/03/23 00:16:07  florian
-    + some stuff to compile FreeCLX added
-
-  Revision 1.30  2001/03/12 12:47:46  michael
-  + Patches from peter
-
-  Revision 1.29  2001/03/03 12:38:08  jonas
-    * fixed low() for signed types < 64bit
-
-  Revision 1.28  2001/02/26 19:44:53  peter
-    * merged generic m68k updates from fixes branch
-
-  Revision 1.27  2001/02/22 11:24:40  jonas
-    * fixed bug in previous fix (hopped over revision 1.26 because that one
-      also removed the fix for high(cardinal))
-
-  Revision 1.26  2001/02/21 20:50:59  peter
-    * fix to compile again, but high(cardinal) with $R+ still fails!
-
-  Revision 1.25  2001/02/21 12:57:46  jonas
-    * fixed high/low for cardinal, int64 and qword
-
-  Revision 1.24  2001/01/06 19:54:11  peter
-    * merged fix for 1310
-
-  Revision 1.23  2001/01/06 18:28:39  peter
-    * fixed wrong notes about locals
-
-  Revision 1.22  2000/12/31 11:14:10  jonas
-    + implemented/fixed docompare() mathods for all nodes (not tested)
-    + nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
-      and constant strings/chars together
-    * n386add.pas: don't copy temp strings (of size 256) to another temp string
-      when adding
-
-  Revision 1.21  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.20  2000/12/17 14:35:41  peter
-    * fixed crash with val()
-
-  Revision 1.19  2000/11/29 00:30:33  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.18  2000/11/12 15:27:22  jonas
-    * also don't do conversion for chars/booleans (hopefully final change :/)
-
-  Revision 1.17  2000/11/11 21:08:13  jonas
-    * don't do inc/dec to add/sub conversion for enums
-
-  Revision 1.16  2000/11/11 16:18:35  peter
-    * ptr returns farpointer
-
-  Revision 1.15  2000/11/11 15:59:07  jonas
-    * convert inc/dec to add/sub when range/overflow checking is on
-
-  Revision 1.14  2000/11/09 17:46:54  florian
-    * System.TypeInfo fixed
-    + System.Finalize implemented
-    + some new keywords for interface support added
-
-  Revision 1.13  2000/11/04 16:48:32  florian
-    * innr.inc renamed to make compiler compilation easier because the rtl contains
-      a file of the same name
-
-  Revision 1.12  2000/10/31 22:02:48  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.11  2000/10/26 14:15:06  jonas
-    * fixed setlength for shortstrings
-
-  Revision 1.10  2000/10/21 18:16:11  florian
-    * a lot of changes:
-       - basic dyn. array support
-       - basic C++ support
-       - some work for interfaces done
-       ....
-
-  Revision 1.9  2000/10/15 08:38:46  jonas
-    * added missing getcopy for previous addition
-
-  Revision 1.8  2000/10/14 18:27:53  jonas
-    * merged fix for inc/dec on 64bit types from tcinl
-
-  Revision 1.7  2000/10/14 10:14:50  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.6  2000/10/01 19:48:24  peter
-    * lot of compile updates for cg11
-
-  Revision 1.5  2000/09/28 19:49:52  florian
-  *** empty log message ***
-
-  Revision 1.4  2000/09/28 16:34:47  florian
-  *** empty log message ***
-
-  Revision 1.3  2000/09/27 21:33:22  florian
-    * finally nadd.pas compiles
-
-  Revision 1.2  2000/09/27 20:25:44  florian
-    * more stuff fixed
-
-  Revision 1.1  2000/09/26 14:59:34  florian
-    * more conversion work done
-
 }

+ 4 - 111
compiler/nld.pas

@@ -955,7 +955,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.39  2002-05-12 16:53:07  peter
+  Revision 1.40  2002-05-14 19:34:42  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.39  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
@@ -1021,114 +1024,4 @@ end.
   Revision 1.32  2002/01/19 11:52:32  peter
     * dynarr:=nil support added
 
-  Revision 1.31  2001/12/28 15:02:00  jonas
-    * fixed web bug 1684 (it already didn't crash anymore, but it also didn't
-      generate an error) ("merged")
-
-  Revision 1.30  2001/11/07 13:52:52  jonas
-    * only save/restore nf_forcevaria flag when reversing order of
-      arrayconstructor elements, since the other flags are element specific
-
-  Revision 1.29  2001/11/02 22:58:02  peter
-    * procsym definition rewrite
-
-  Revision 1.28  2001/10/31 17:34:20  jonas
-    * fixed web bug 1651
-
-  Revision 1.27  2001/10/28 17:22:25  peter
-    * allow assignment of overloaded procedures to procvars when we know
-      which procedure to take
-
-  Revision 1.26  2001/10/12 13:51:51  jonas
-    * fixed internalerror(10) due to previous fpu overflow fixes ("merged")
-    * fixed bug in n386add (introduced after compilerproc changes for string
-      operations) where calcregisters wasn't called for shortstring addnodes
-    * NOTE: from now on, the location of a binary node must now always be set
-       before you call calcregisters() for it
-
-  Revision 1.25  2001/09/02 21:12:07  peter
-    * move class of definitions into type section for delphi
-
-  Revision 1.24  2001/08/30 15:48:34  jonas
-    * fix from Peter for getting correct symtableentry for funcret loads
-
-  Revision 1.23  2001/08/26 13:36:41  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.22  2001/08/12 22:11:52  peter
-    * errordef.typesym is not updated anymore
-
-  Revision 1.21  2001/08/06 21:40:47  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.20  2001/07/30 20:52:25  peter
-    * fixed array constructor passing with type conversions
-
-  Revision 1.19  2001/06/04 18:07:47  peter
-    * remove unused typenode for procvar load. Don't know what happened why
-      this code was not there already with revision 1.17.
-
-  Revision 1.18  2001/06/04 11:48:01  peter
-    * better const to var checking
-
-  Revision 1.17  2001/05/19 21:19:57  peter
-    * remove unused typenode for procvars to prevent error
-    * typenode.allowed flag to allow a typenode
-
-  Revision 1.16  2001/05/09 19:57:51  peter
-    * typenode doesn't generate code, give error in pass_1 instead of
-      getting an abstract methode runtime error
-
-  Revision 1.15  2001/04/14 14:06:31  peter
-    * move more code from loadnode.pass_1 to det_resulttype
-
-  Revision 1.14  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.13  2001/04/05 21:03:08  peter
-    * array constructor fix
-
-  Revision 1.12  2001/04/04 22:42:40  peter
-    * move constant folding into det_resulttype
-
-  Revision 1.11  2001/04/02 21:20:31  peter
-    * resulttype rewrite
-
-  Revision 1.10  2000/12/31 11:14:10  jonas
-    + implemented/fixed docompare() mathods for all nodes (not tested)
-    + nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
-      and constant strings/chars together
-    * n386add.pas: don't copy temp strings (of size 256) to another temp string
-      when adding
-
-  Revision 1.9  2000/11/29 00:30:33  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.8  2000/11/04 14:25:20  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.7  2000/10/31 22:02:49  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.6  2000/10/14 10:14:50  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.5  2000/10/01 19:48:24  peter
-    * lot of compile updates for cg11
-
-  Revision 1.4  2000/09/28 19:49:52  florian
-  *** empty log message ***
-
-  Revision 1.3  2000/09/27 18:14:31  florian
-    * fixed a lot of syntax errors in the n*.pas stuff
-
-  Revision 1.2  2000/09/25 15:37:14  florian
-    * more fixes
-
-  Revision 1.1  2000/09/25 14:55:05  florian
-    * initial revision
 }

+ 4 - 94
compiler/nmat.pas

@@ -678,7 +678,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.31  2002-04-07 13:26:10  carl
+  Revision 1.32  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.31  2002/04/07 13:26:10  carl
   + change unit use
 
   Revision 1.30  2002/04/02 17:11:29  peter
@@ -698,97 +701,4 @@ end.
   Revision 1.28  2002/02/11 11:45:51  michael
   * Compilation without mmx support fixed from Peter
 
-  Revision 1.27  2001/12/29 15:27:24  jonas
-    * made 'mod powerof2' -> 'and' optimization processor independent
-
-  Revision 1.26  2001/12/27 15:33:58  jonas
-    * fixed fpuregister counting errors ("merged")
-
-  Revision 1.25  2001/11/02 22:58:02  peter
-    * procsym definition rewrite
-
-  Revision 1.24  2001/10/12 13:51:51  jonas
-    * fixed internalerror(10) due to previous fpu overflow fixes ("merged")
-    * fixed bug in n386add (introduced after compilerproc changes for string
-      operations) where calcregisters wasn't called for shortstring addnodes
-    * NOTE: from now on, the location of a binary node must now always be set
-       before you call calcregisters() for it
-
-  Revision 1.23  2001/09/05 15:22:09  jonas
-    * made multiplying, dividing and mod'ing of int64 and qword processor
-      independent with compilerprocs (+ small optimizations by using shift/and
-      where possible)
-
-  Revision 1.22  2001/09/02 21:12:07  peter
-    * move class of definitions into type section for delphi
-
-  Revision 1.21  2001/08/26 13:36:41  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.20  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.19  2001/04/05 21:00:27  peter
-    * fix constant not evaluation
-
-  Revision 1.18  2001/04/04 22:42:40  peter
-    * move constant folding into det_resulttype
-
-  Revision 1.17  2001/04/02 21:20:31  peter
-    * resulttype rewrite
-
-  Revision 1.16  2001/03/20 18:11:03  jonas
-    * not (cardinal) now has cardinal instead of longint result (bug reported
-      in mailinglist) ("merged")
-
-  Revision 1.15  2001/03/04 10:38:55  jonas
-    * fixed 'qword mod/div pos_const' to have qword result
-
-  Revision 1.14  2001/02/20 21:48:17  peter
-    * remove nasm hack
-
-  Revision 1.13  2001/01/06 18:28:39  peter
-    * fixed wrong notes about locals
-
-  Revision 1.12  2001/01/05 17:36:57  florian
-  * the info about exception frames is stored now on the stack
-  instead on the heap
-
-  Revision 1.11  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.10  2000/12/16 15:54:01  jonas
-    * 'resulttype.def of cardinal shl/shr x' is cardinal instead of longint
-
-  Revision 1.9  2000/11/29 00:30:34  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.8  2000/10/31 22:02:49  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.7  2000/10/01 19:48:24  peter
-    * lot of compile updates for cg11
-
-  Revision 1.6  2000/09/27 21:33:22  florian
-    * finally nadd.pas compiles
-
-  Revision 1.5  2000/09/27 20:25:44  florian
-    * more stuff fixed
-
-  Revision 1.4  2000/09/24 15:06:19  peter
-    * use defines.inc
-
-  Revision 1.3  2000/09/22 22:48:54  florian
-    * some fixes
-
-  Revision 1.2  2000/09/22 22:09:54  florian
-    * more stuff converted
-
-  Revision 1.1  2000/09/20 21:35:12  florian
-    * initial revision
 }

+ 4 - 87
compiler/nmem.pas

@@ -894,7 +894,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.30  2002-05-12 16:53:07  peter
+  Revision 1.31  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.30  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
@@ -944,90 +947,4 @@ end.
         constructs with either too many or too little parameters)
     (both merged, includes second typo fix of pexpr.pas)
 
-  Revision 1.25  2001/12/06 17:57:34  florian
-    + parasym to tparaitem added
-
-  Revision 1.24  2001/12/03 21:48:42  peter
-    * freemem change to value parameter
-    * torddef low/high range changed to int64
-
-  Revision 1.23  2001/11/02 22:58:02  peter
-    * procsym definition rewrite
-
-  Revision 1.22  2001/10/28 17:22:25  peter
-    * allow assignment of overloaded procedures to procvars when we know
-      which procedure to take
-
-  Revision 1.20  2001/09/02 21:12:07  peter
-    * move class of definitions into type section for delphi
-
-  Revision 1.19  2001/08/26 13:36:42  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.18  2001/04/13 22:15:21  peter
-    * removed wrongly placed set_varstate in subscriptnode
-
-  Revision 1.17  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.16  2001/04/02 21:20:31  peter
-    * resulttype rewrite
-
-  Revision 1.15  2001/03/23 00:16:07  florian
-    + some stuff to compile FreeCLX added
-
-  Revision 1.14  2000/12/31 11:14:11  jonas
-    + implemented/fixed docompare() mathods for all nodes (not tested)
-    + nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
-      and constant strings/chars together
-    * n386add.pas: don't copy temp strings (of size 256) to another temp string
-      when adding
-
-  Revision 1.13  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.12  2000/12/05 15:19:50  jonas
-    * fixed webbug 1268 ("merged")
-
-  Revision 1.11  2000/11/29 00:30:34  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.10  2000/11/04 14:25:20  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.9  2000/10/31 22:02:49  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.8  2000/10/21 18:16:11  florian
-    * a lot of changes:
-       - basic dyn. array support
-       - basic C++ support
-       - some work for interfaces done
-       ....
-
-  Revision 1.7  2000/10/14 21:52:55  peter
-    * fixed memory leaks
-
-  Revision 1.6  2000/10/14 10:14:51  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.5  2000/10/01 19:48:24  peter
-    * lot of compile updates for cg11
-
-  Revision 1.4  2000/09/28 19:49:52  florian
-  *** empty log message ***
-
-  Revision 1.3  2000/09/25 15:37:14  florian
-    * more fixes
-
-  Revision 1.2  2000/09/25 15:05:25  florian
-    * some updates
-
-  Revision 1.1  2000/09/25 09:58:22  florian
-    * first revision for testing purpose
 }

+ 5 - 109
compiler/nobj.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Routines for the code generation of data structures
     like VMT, Messages, VTables, Interfaces descs
@@ -1269,7 +1269,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.17  2002-05-12 16:53:08  peter
+  Revision 1.18  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.17  2002/05/12 16:53:08  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -1310,111 +1313,4 @@ end.
     * fixed vmt generation for private procedures that were skipped after
       my previous changes
 
-  Revision 1.12  2001/12/31 16:59:41  peter
-    * protected/private symbols parsing fixed
-
-  Revision 1.11  2001/11/20 18:49:43  peter
-    * require overload for cross object overloading
-
-  Revision 1.10  2001/11/18 20:18:54  peter
-    * use cp_value_equal_const instead of cp_all
-
-  Revision 1.9  2001/11/18 18:43:14  peter
-    * overloading supported in child classes
-    * fixed parsing of classes with private and virtual and overloaded
-      so it is compatible with delphi
-
-  Revision 1.8  2001/11/02 22:58:02  peter
-    * procsym definition rewrite
-
-  Revision 1.7  2001/10/25 21:22:35  peter
-    * calling convention rewrite
-
-  Revision 1.6  2001/10/20 19:28:38  peter
-    * interface 2 guid support
-    * guid constants support
-
-  Revision 1.5  2001/10/20 17:20:14  peter
-    * fixed generation of rtti for virtualmethods
-
-  Revision 1.4  2001/09/19 11:04:42  michael
-  * Smartlinking with interfaces fixed
-  * Better smartlinking for rtti and init tables
-
-  Revision 1.3  2001/08/30 20:13:53  peter
-    * rtti/init table updates
-    * rttisym for reusable global rtti/init info
-    * support published for interfaces
-
-  Revision 1.2  2001/08/22 21:16:20  florian
-    * some interfaces related problems regarding
-      mapping of interface implementions fixed
-
-  Revision 1.1  2001/04/21 13:37:16  peter
-    * made tclassheader using class of to implement cpu dependent code
-
-  Revision 1.20  2001/04/18 22:01:54  peter
-    * registration of targets and assemblers
-
-  Revision 1.19  2001/04/13 01:22:07  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.18  2001/04/04 21:30:43  florian
-    * applied several fixes to get the DD8 Delphi Unit compiled
-     e.g. "forward"-interfaces are working now
-
-  Revision 1.17  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.16  2000/11/29 00:30:30  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.15  2000/11/19 16:23:35  florian
-  *** empty log message ***
-
-  Revision 1.14  2000/11/12 23:24:10  florian
-    * interfaces are basically running
-
-  Revision 1.13  2000/11/08 00:07:40  florian
-     * potential range check error fixed
-
-  Revision 1.12  2000/11/06 23:13:53  peter
-    * uppercase manglednames
-
-  Revision 1.11  2000/11/04 17:31:00  florian
-    * fixed some problems of previous commit
-
-  Revision 1.10  2000/11/04 14:25:19  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.9  2000/11/01 23:04:37  peter
-    * tprocdef.fullprocname added for better casesensitve writing of
-      procedures
-
-  Revision 1.8  2000/10/31 22:02:47  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.7  2000/10/14 10:14:47  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.6  2000/09/24 21:19:50  peter
-    * delphi compile fixes
-
-  Revision 1.5  2000/09/24 15:06:17  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/13 12:08:26  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:41  michael
-  + removed logs
-
 }

Fișier diff suprimat deoarece este prea mare
+ 187 - 522
compiler/node.pas


+ 5 - 20
compiler/nopt.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Jonas Maebe
+    Copyright (c) 1998-2002 by Jonas Maebe
 
     This unit implements optimized nodes
 
@@ -278,7 +278,10 @@ end.
 
 {
   $Log$
-  Revision 1.6  2002-04-02 17:11:29  peter
+  Revision 1.7  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.6  2002/04/02 17:11:29  peter
     * tlocation,treference update
     * LOC_CONSTANT added for better constant handling
     * secondadd splitted in multiple routines
@@ -289,22 +292,4 @@ end.
       with string operations
     * adapted some routines to use the new cg methods
 
-  Revision 1.5  2001/09/02 21:12:07  peter
-    * move class of definitions into type section for delphi
-
-  Revision 1.4  2001/08/26 13:36:43  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.3  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.2  2001/04/02 21:20:31  peter
-    * resulttype rewrite
-
-  Revision 1.1  2001/01/04 11:24:19  jonas
-    + initial implementation (still needs to be made more modular)
-
 }

+ 5 - 69
compiler/nset.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 2000-2001 by Florian Klaempfl
+    Copyright (c) 2000-2002 by Florian Klaempfl
 
     Type checking and register allocation for set/case nodes
 
@@ -574,7 +574,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.21  2002-05-12 16:53:08  peter
+  Revision 1.22  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.21  2002/05/12 16:53:08  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -622,71 +625,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.17  2001/12/06 17:57:35  florian
-    + parasym to tparaitem added
-
-  Revision 1.16  2001/10/12 13:51:51  jonas
-    * fixed internalerror(10) due to previous fpu overflow fixes ("merged")
-    * fixed bug in n386add (introduced after compilerproc changes for string
-      operations) where calcregisters wasn't called for shortstring addnodes
-    * NOTE: from now on, the location of a binary node must now always be set
-       before you call calcregisters() for it
-
-  Revision 1.15  2001/09/02 21:12:07  peter
-    * move class of definitions into type section for delphi
-
-  Revision 1.14  2001/08/26 13:36:43  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.13  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.12  2001/04/02 21:20:31  peter
-    * resulttype rewrite
-
-  Revision 1.11  2000/12/31 11:14:11  jonas
-    + implemented/fixed docompare() mathods for all nodes (not tested)
-    + nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
-      and constant strings/chars together
-    * n386add.pas: don't copy temp strings (of size 256) to another temp string
-      when adding
-
-  Revision 1.10  2000/12/18 17:44:26  jonas
-    * more int64 case fixes
-
-  Revision 1.9  2000/11/29 00:30:34  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.8  2000/11/04 14:25:20  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.7  2000/10/31 22:02:49  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.6  2000/10/21 18:16:11  florian
-    * a lot of changes:
-       - basic dyn. array support
-       - basic C++ support
-       - some work for interfaces done
-       ....
-
-  Revision 1.5  2000/10/14 10:14:51  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.4  2000/10/01 19:48:25  peter
-    * lot of compile updates for cg11
-
-  Revision 1.3  2000/09/27 18:14:31  florian
-    * fixed a lot of syntax errors in the n*.pas stuff
-
-  Revision 1.2  2000/09/24 20:17:44  florian
-    * more conversion work done
-
-  Revision 1.1  2000/09/24 19:38:39  florian
-    * initial implementation
-
 }

+ 3 - 30
compiler/ogbase.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Peter Vreman
+    Copyright (c) 1998-2002 by Peter Vreman
 
     Contains the base stuff for binary object file writers
 
@@ -578,34 +578,7 @@ implementation
 end.
 {
   $Log$
-  Revision 1.8  2001-12-31 16:54:14  peter
-    * fixed inline crash with assembler routines
-
-  Revision 1.7  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.6  2001/03/05 21:40:38  peter
-    * more things for tcoffobjectinput
-
-  Revision 1.5  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.4  2000/12/24 12:25:31  peter
-    + cstreams unit
-    * dynamicarray object to class
-
-  Revision 1.3  2000/12/23 19:59:35  peter
-    * object to class for ow/og objects
-    * split objectdata from objectoutput
-
-  Revision 1.2  2000/11/13 21:56:07  peter
-    * removed some virtual from methods
-    * sectionsize method implemented (fixes lineinfo stabs)
-
-  Revision 1.1  2000/11/12 22:20:37  peter
-    * create generic tobjectsection for binary writers
+  Revision 1.9  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
 
 }

+ 6 - 66
compiler/ogcoff.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Peter Vreman and Pierre Muller
+    Copyright (c) 1998-2002 by Peter Vreman and Pierre Muller
 
     Contains the binary coff reader and writer
 
@@ -1181,78 +1181,18 @@ implementation
 initialization
   RegisterAssembler(as_i386_coff_info,TCoffAssembler);
   RegisterAssembler(as_i386_pecoff_info,TPECoffAssembler);
-  RegisterAssembler(as_i386_pecoffwdosx_info,TPECoffAssembler); 
+  RegisterAssembler(as_i386_pecoffwdosx_info,TPECoffAssembler);
 end.
 {
   $Log$
-  Revision 1.18  2002-04-04 19:05:58  peter
+  Revision 1.19  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.18  2002/04/04 19:05:58  peter
     * removed unused units
     * use tlocation.size in cg.a_*loc*() routines
 
   Revision 1.17  2002/04/04 18:38:30  carl
   + added wdosx support (patch from Pavel)
 
-  Revision 1.16  2001/09/17 21:29:12  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.15  2001/05/06 17:13:23  jonas
-    * completed incomplete typed constant records
-
-  Revision 1.14  2001/05/04 19:50:58  peter
-    * finally added the missing outputbinary field that was missing
-
-  Revision 1.13  2001/04/18 22:01:54  peter
-    * registration of targets and assemblers
-
-  Revision 1.12  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.11  2001/04/02 21:20:31  peter
-    * resulttype rewrite
-
-  Revision 1.10  2001/03/13 18:45:07  peter
-    * fixed some memory leaks
-
-  Revision 1.9  2001/03/05 21:40:38  peter
-    * more things for tcoffobjectinput
-
-  Revision 1.8  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.7  2000/12/24 12:25:31  peter
-    + cstreams unit
-    * dynamicarray object to class
-
-  Revision 1.6  2000/12/23 19:59:35  peter
-    * object to class for ow/og objects
-    * split objectdata from objectoutput
-
-  Revision 1.5  2000/12/21 12:06:38  jonas
-    * changed type of all "flags" variables/parameters/fields to cardinal
-      and removed longint typecasts around constants
-
-  Revision 1.4  2000/12/20 15:59:04  jonas
-    * fixed range check errors
-
-  Revision 1.3  2000/12/18 21:56:35  peter
-    * fixed stab reloc writing
-
-  Revision 1.2  2000/12/07 17:19:42  jonas
-    * new constant handling: from now on, hex constants >$7fffffff are
-      parsed as unsigned constants (otherwise, $80000000 got sign extended
-      and became $ffffffff80000000), all constants in the longint range
-      become longints, all constants >$7fffffff and <=cardinal($ffffffff)
-      are cardinals and the rest are int64's.
-    * added lots of longint typecast to prevent range check errors in the
-      compiler and rtl
-    * type casts of symbolic ordinal constants are now preserved
-    * fixed bug where the original resulttype wasn't restored correctly
-      after doing a 64bit rangecheck
-
-  Revision 1.1  2000/11/12 22:20:37  peter
-    * create generic toutputsection for binary writers
-
 }

+ 5 - 37
compiler/ogelf.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Peter Vreman
+    Copyright (c) 1998-2002 by Peter Vreman
 
     Contains the binary elf writer
 
@@ -874,7 +874,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.12  2002-05-12 16:53:08  peter
+  Revision 1.13  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.12  2002/05/12 16:53:08  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -895,39 +898,4 @@ end.
     * removed unused units
     * use tlocation.size in cg.a_*loc*() routines
 
-  Revision 1.10  2001/05/06 17:13:23  jonas
-    * completed incomplete typed constant records
-
-  Revision 1.9  2001/05/04 19:50:58  peter
-    * finally added the missing outputbinary field that was missing
-
-  Revision 1.8  2001/04/18 22:01:54  peter
-    * registration of targets and assemblers
-
-  Revision 1.7  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.6  2001/03/05 21:40:39  peter
-    * more things for tcoffobjectinput
-
-  Revision 1.5  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.4  2000/12/24 12:25:32  peter
-    + cstreams unit
-    * dynamicarray object to class
-
-  Revision 1.3  2000/12/23 19:59:35  peter
-    * object to class for ow/og objects
-    * split objectdata from objectoutput
-
-  Revision 1.2  2000/11/12 22:45:14  peter
-    * moved setting of stab hdrsym
-
-  Revision 1.1  2000/11/12 22:20:37  peter
-    * create generic toutputsection for binary writers
-
 }

+ 5 - 247
compiler/options.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl and Peter Vreman
+    Copyright (c) 1998-2002 by Florian Klaempfl and Peter Vreman
 
     Reads command line options and config files
 
@@ -1664,7 +1664,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.70  2002-05-12 16:53:08  peter
+  Revision 1.71  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.70  2002/05/12 16:53:08  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -1707,249 +1710,4 @@ end.
   Revision 1.65  2002/04/04 18:39:45  carl
   + added wdosx support (patch from Pavel)
 
-  Revision 1.64  2001/12/03 21:48:42  peter
-    * freemem change to value parameter
-    * torddef low/high range changed to int64
-
-  Revision 1.63  2001/11/24 02:09:54  carl
-  * Renamed ppc.cfg -> fpc.cfg
-
-  Revision 1.62  2001/11/23 02:48:46  carl
-  + ppc.cfg is now configuration file for compiler.
-    (first tries loading ppc386.cfg for backward compatibility)
-
-  Revision 1.61  2001/10/23 21:49:42  peter
-    * $calling directive and -Cc commandline patch added
-      from Pavel Ozerski
-
-  Revision 1.60  2001/09/17 21:29:12  peter
-    * merged netbsd, fpu-overflow from fixes branch
-
-  Revision 1.59  2001/09/12 12:46:54  marco
-   * fix from peter
-
-  Revision 1.58  2001/08/30 20:57:09  peter
-    * asbsd merged
-
-  Revision 1.57  2001/08/30 20:13:53  peter
-    * rtti/init table updates
-    * rttisym for reusable global rtti/init info
-    * support published for interfaces
-
-  Revision 1.56  2001/08/20 10:58:48  florian
-    * renamed messages unit to cmsgs to avoid conflicts with the
-      win32 messages unit
-
-  Revision 1.55  2001/08/19 11:22:23  peter
-    * palmos support from v10 merged
-
-  Revision 1.54  2001/08/12 17:57:06  peter
-    * under development flag for targets
-
-  Revision 1.53  2001/08/07 18:42:46  peter
-    * list targets with -i
-
-  Revision 1.52  2001/08/01 15:07:29  jonas
-    + "compilerproc" directive support, which turns both the public and mangled
-      name to lowercase(declaration_name). This prevents a normal user from
-      accessing the routine, but they can still be easily looked up within
-      the compiler. This is used for helper procedures and should facilitate
-      the writing of more processor independent code in the code generator
-      itself (mostly written by Peter)
-    + new "createintern" constructor for tcal nodes to create a call to
-      helper exported using the "compilerproc" directive
-    + support for high(dynamic_array) using the the above new things
-    + definition of 'HASCOMPILERPROC' symbol (to be able to check in the
-      compiler and rtl whether the "compilerproc" directive is supported)
-
-  Revision 1.51  2001/07/31 19:38:46  peter
-    * removed fpu_in_rtl define (merged)
-
-  Revision 1.50  2001/07/30 21:39:26  peter
-    * declare fpu in rtl for m68k linux
-
-  Revision 1.49  2001/07/09 21:15:40  peter
-    * Length made internal
-    * Add array support for Length
-
-  Revision 1.48  2001/07/08 21:00:15  peter
-    * various widestring updates, it works now mostly without charset
-      mapping supported
-
-  Revision 1.47  2001/07/01 20:16:16  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.46  2001/06/29 19:41:54  peter
-    * patch from Pavel Ozerski to support +/- better
-
-  Revision 1.45  2001/06/19 14:55:45  jonas
-    * fixed typo in NOBOUNDCHECK define
-
-  Revision 1.44  2001/06/18 20:36:24  peter
-    * -Ur switch (merged)
-    * masm fixes (merged)
-    * quoted filenames for go32v2 and win32
-
-  Revision 1.43  2001/06/02 19:21:45  peter
-    * extradefines field added to target_info, so that targets don't
-      need to put code in options.pas for it
-
-  Revision 1.42  2001/05/18 22:28:59  peter
-    * endian define
-
-  Revision 1.41  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.40  2001/04/18 22:01:54  peter
-    * registration of targets and assemblers
-
-  Revision 1.39  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.38  2001/03/25 12:27:31  peter
-    * fixed -Se (merged)
-
-  Revision 1.37  2001/03/23 00:16:07  florian
-    + some stuff to compile FreeCLX added
-
-  Revision 1.36  2001/03/13 20:59:56  peter
-    * message loading fixes from Sergey (merged)
-
-  Revision 1.35  2001/03/10 13:19:10  peter
-    * don't check messagefile for numbers, this allows the usage of
-      1.1 msgfiles with a 1.0.x compiler
-
-  Revision 1.34  2001/03/05 21:50:29  peter
-    * press enter moved to errore.msg
-
-  Revision 1.33  2001/03/03 12:41:22  jonas
-    * simplified and optimized range checking code, FPC_BOUNDCHECK is no longer necessary
-
-  Revision 1.32  2001/02/26 19:44:53  peter
-    * merged generic m68k updates from fixes branch
-
-  Revision 1.31  2001/02/26 12:47:46  jonas
-    * fixed bug in type checking for compatibility of set elements (merged)
-    * released fix in options.pas from Carl also for FPC (merged)
-
-  Revision 1.30  2001/02/26 08:08:39  michael
-  * option_help_pages:
-     allow to omit an option (use one space char insteed an option)
-     but to indent a continuation line as if option is present. For lines:
-       3*2CX_first line
-       3*2 _second line
-       3*2*_third line
-     we could get:
-       -CX        first line
-                  second line
-       third line
-
-  Revision 1.29  2001/02/26 07:49:50  michael
-  Support replacements for all -F<x> options
-
-  Revision 1.28  2001/02/05 21:26:36  peter
-    * applied patches from Sergey Korshunoff
-
-  Revision 1.27  2001/01/20 18:36:51  hajny
-    + APPTYPE support under OS/2, app_fs, GetEnvPChar for OS/2
-
-  Revision 1.26  2001/01/12 19:21:09  peter
-    * fixed writing of quickinfo when no ppc386.cfg is available
-
-  Revision 1.25  2001/01/05 17:36:57  florian
-  * the info about exception frames is stored now on the stack
-  instead on the heap
-
-  Revision 1.24  2000/12/25 00:07:26  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.23  2000/12/24 12:21:41  peter
-    * use system.paramstr()
-
-  Revision 1.22  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.21  2000/12/16 15:56:19  jonas
-    - removed all ifdef cardinalmulfix code
-
-  Revision 1.20  2000/12/15 13:26:01  jonas
-    * only return int64's from functions if it int64funcresok is defined
-    + added int64funcresok define to options.pas
-
-  Revision 1.19  2000/11/30 22:48:23  florian
-  * opts386 renamed
-
-  Revision 1.18  2000/11/29 00:30:34  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.17  2000/11/13 15:26:12  marco
-   * Renamefest
-
-  Revision 1.16  2000/11/12 22:20:37  peter
-    * create generic toutputsection for binary writers
-
-  Revision 1.15  2000/11/07 15:09:27  marco
-   * Define UNIX for FreeBSD and Linux. Checked crosscompile thingy.
-
-  Revision 1.14  2000/11/07 14:25:08  marco
-   * FreeBSD defines (FreeBSD,Linux,BSD,Unix) Linux defines (Linux,Unix)
-
-  Revision 1.13  2000/11/06 20:30:54  peter
-    * more fixes to get make cycle working
-
-  Revision 1.12  2000/11/04 14:25:20  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.11  2000/09/26 10:50:41  jonas
-    * initmodeswitches is changed is you change the compiler mode from the
-      command line (the -S<x> switches didn't work anymore for changing the
-      compiler mode) (merged from fixes branch)
-
-  Revision 1.10  2000/09/24 21:33:47  peter
-    * message updates merges
-
-  Revision 1.9  2000/09/24 15:06:20  peter
-    * use defines.inc
-
-  Revision 1.8  2000/09/18 12:28:41  marco
-   * Definition of multiple FreeBSD target defines moved to after error check
-      commandline parsing
-
-  Revision 1.7  2000/09/16 12:22:52  peter
-    * freebsd support merged
-
-  Revision 1.6  2000/08/27 16:11:51  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.5  2000/08/07 11:31:04  jonas
-    * fixed bug in type conversions between enum subranges (it didn't take
-      the packenum directive into account)
-    + define PACKENUMFIXED symbol in options.pas
-     (merged from fixes branch)
-
-  Revision 1.4  2000/07/14 05:11:48  michael
-  + Patch to 1.1
-
-  Revision 1.3  2000/07/13 12:08:26  michael
-  + patched to 1.1.0 with former 1.09patch from peter
-
-  Revision 1.2  2000/07/13 11:32:44  michael
-  + removed logs
-
 }

+ 5 - 23
compiler/owar.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Peter Vreman
+    Copyright (c) 1998-2002 by Peter Vreman
 
     Contains the stuff for writing .a files directly
 
@@ -278,29 +278,11 @@ end;
 end.
 {
   $Log$
-  Revision 1.9  2002-04-04 19:06:00  peter
+  Revision 1.10  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.9  2002/04/04 19:06:00  peter
     * removed unused units
     * use tlocation.size in cg.a_*loc*() routines
 
-  Revision 1.8  2001/03/05 21:40:39  peter
-    * more things for tcoffobjectinput
-
-  Revision 1.7  2000/12/24 12:25:32  peter
-    + cstreams unit
-    * dynamicarray object to class
-
-  Revision 1.5  2000/09/24 15:06:20  peter
-    * use defines.inc
-
-  Revision 1.4  2000/08/19 18:44:27  peter
-    * new tdynamicarray implementation using blocks instead of
-      reallocmem (merged)
-
-  Revision 1.3  2000/08/08 19:28:57  peter
-    * memdebug/memory patches (merged)
-    * only once illegal directive (merged)
-
-  Revision 1.2  2000/07/13 11:32:44  michael
-  + removed logs
-
 }

+ 3 - 17
compiler/owbase.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Peter Vreman
+    Copyright (c) 1998-2002 by Peter Vreman
 
     Contains the base stuff for writing for object files to disk
 
@@ -305,21 +305,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.7  2001-03-05 21:40:39  peter
-    * more things for tcoffobjectinput
-
-  Revision 1.6  2000/12/24 12:25:32  peter
-    + cstreams unit
-    * dynamicarray object to class
-
-  Revision 1.4  2000/09/24 15:06:20  peter
-    * use defines.inc
-
-  Revision 1.3  2000/08/19 18:44:27  peter
-    * new tdynamicarray implementation using blocks instead of
-      reallocmem (merged)
-
-  Revision 1.2  2000/07/13 11:32:44  michael
-  + removed logs
+  Revision 1.8  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
 
 }

+ 5 - 92
compiler/parser.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit does the parsing process
 
@@ -628,7 +628,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.30  2002-04-21 18:57:23  peter
+  Revision 1.31  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.30  2002/04/21 18:57:23  peter
     * fixed memleaks when file can't be opened
 
   Revision 1.29  2002/04/20 21:32:24  carl
@@ -651,94 +654,4 @@ end.
   Revision 1.27  2002/01/29 19:43:11  peter
     * update target_asm according to outputformat
 
-  Revision 1.26  2001/11/02 22:58:02  peter
-    * procsym definition rewrite
-
-  Revision 1.25  2001/10/25 21:22:35  peter
-    * calling convention rewrite
-
-  Revision 1.24  2001/10/23 21:49:42  peter
-    * $calling directive and -Cc commandline patch added
-      from Pavel Ozerski
-
-  Revision 1.23  2001/10/16 15:10:35  jonas
-    * fixed goto/label/try bugs
-
-  Revision 1.22  2001/08/26 13:36:43  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.21  2001/07/30 20:59:27  peter
-    * m68k updates from v10 merged
-
-  Revision 1.20  2001/07/01 20:16:16  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.19  2001/05/19 23:05:19  peter
-    * support uses <unit> in <file> construction
-
-  Revision 1.18  2001/05/06 14:49:17  peter
-    * ppu object to class rewrite
-    * move ppu read and write stuff to fppu
-
-  Revision 1.17  2001/04/18 22:01:54  peter
-    * registration of targets and assemblers
-
-  Revision 1.16  2001/04/15 09:48:30  peter
-    * fixed crash in labelnode
-    * easier detection of goto and label in try blocks
-
-  Revision 1.15  2001/04/13 18:08:37  peter
-    * scanner object to class
-
-  Revision 1.14  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.13  2000/12/25 00:07:27  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.12  2000/12/24 12:24:38  peter
-    * moved preprocessfile into a conditional
-
-  Revision 1.11  2000/11/29 00:30:34  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.10  2000/11/12 22:17:46  peter
-    * some realname updates for messages
-
-  Revision 1.9  2000/11/04 14:25:20  florian
-    + merged Attila's changes for interfaces, not tested yet
-
-  Revision 1.8  2000/10/31 22:02:49  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.7  2000/10/14 10:14:51  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.6  2000/10/01 19:48:25  peter
-    * lot of compile updates for cg11
-
-  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/08/12 15:34:22  peter
-    + usedasmsymbollist to check and reset only the used symbols (merged)
-
-  Revision 1.2  2000/07/13 11:32:44  michael
-  + removed logs
-
 }

+ 5 - 60
compiler/pass_1.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit handles the typecheck and node conversion pass
 
@@ -197,7 +197,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.20  2002-04-04 19:06:00  peter
+  Revision 1.21  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.20  2002/04/04 19:06:00  peter
     * removed unused units
     * use tlocation.size in cg.a_*loc*() routines
 
@@ -218,62 +221,4 @@ end.
     - list field removed of the tnode class because it's not used currently
       and can cause hard-to-find bugs
 
-  Revision 1.18  2001/10/20 17:23:43  peter
-    * fixed firstpass when det_resulttype returns an error
-
-  Revision 1.17  2001/09/02 21:18:28  peter
-    * split constsym.value in valueord,valueordptr,valueptr. The valueordptr
-      is used for holding target platform pointer values. As those can be
-      bigger than the source platform.
-
-  Revision 1.16  2001/08/26 13:36:44  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.15  2001/07/06 15:29:39  peter
-    * fixed EXTDEBUG
-
-  Revision 1.14  2001/04/15 09:48:30  peter
-    * fixed crash in labelnode
-    * easier detection of goto and label in try blocks
-
-  Revision 1.13  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.12  2001/04/02 21:20:31  peter
-    * resulttype rewrite
-
-  Revision 1.11  2000/12/18 21:56:52  peter
-    * extdebug fixes
-
-  Revision 1.10  2000/11/29 00:30:35  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.9  2000/10/14 10:14:51  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.8  2000/10/01 19:48:25  peter
-    * lot of compile updates for cg11
-
-  Revision 1.7  2000/09/30 16:08:45  peter
-    * more cg11 updates
-
-  Revision 1.6  2000/09/28 19:49:52  florian
-  *** empty log message ***
-
-  Revision 1.5  2000/09/24 21:15:34  florian
-    * some errors fix to get more stuff compilable
-
-  Revision 1.4  2000/09/24 15:06:21  peter
-    * use defines.inc
-
-  Revision 1.3  2000/09/19 23:09:07  pierre
-   * problems wih extdebug cond. solved
-
-  Revision 1.2  2000/07/13 11:32:44  michael
-  + removed logs
-
 }

+ 5 - 78
compiler/pass_2.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     This unit handles the codegeneration pass
 
@@ -321,7 +321,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.27  2002-05-12 16:53:08  peter
+  Revision 1.28  2002-05-14 19:34:43  peter
+    * removed old logs and updated copyright year
+
+  Revision 1.27  2002/05/12 16:53:08  peter
     * moved entry and exitcode to ncgutil and cgobj
     * foreach gets extra argument for passing local data to the
       iterator function
@@ -385,80 +388,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  2001/11/06 16:39:02  jonas
-    * moved call to "cleanup_regvars" to cga.pas for i386 because it has
-      to insert "fstp %st0" instructions after the exit label
-
-  Revision 1.20  2001/11/02 22:58:02  peter
-    * procsym definition rewrite
-
-  Revision 1.19  2001/10/25 21:22:35  peter
-    * calling convention rewrite
-
-  Revision 1.18  2001/08/26 13:36:44  florian
-    * some cg reorganisation
-    * some PPC updates
-
-  Revision 1.17  2001/08/06 21:40:47  peter
-    * funcret moved from tprocinfo to tprocdef
-
-  Revision 1.16  2001/05/09 19:57:07  peter
-    * check for errorcount after firstpass
-
-  Revision 1.15  2001/04/15 09:48:30  peter
-    * fixed crash in labelnode
-    * easier detection of goto and label in try blocks
-
-  Revision 1.14  2001/04/13 01:22:10  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.13  2001/04/02 21:20:31  peter
-    * resulttype rewrite
-
-  Revision 1.12  2000/12/25 00:07:27  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.11  2000/11/29 00:30:35  florian
-    * unused units removed from uses clause
-    * some changes for widestrings
-
-  Revision 1.10  2000/10/31 22:02:49  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.9  2000/10/14 10:14:51  peter
-    * moehrendorf oct 2000 rewrite
-
-  Revision 1.8  2000/09/24 15:06:21  peter
-    * use defines.inc
-
-  Revision 1.7  2000/08/27 16:11:51  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.6  2000/08/12 15:34:22  peter
-    + usedasmsymbollist to check and reset only the used symbols (merged)
-
-  Revision 1.5  2000/08/03 13:17:25  jonas
-    + allow regvars to be used inside inlined procs, which required  the
-      following changes:
-        + load regvars in genentrycode/free them in genexitcode (cgai386)
-        * moved all regvar related code to new regvars unit
-        + added pregvarinfo type to hcodegen
-        + added regvarinfo field to tprocinfo (symdef/symdefh)
-        * deallocate the regvars of the caller in secondprocinline before
-          inlining the called procedure and reallocate them afterwards
-
-  Revision 1.4  2000/08/03 11:15:42  jonas
-    - disable regvars for inlined procedures (merged from fixes branch)
-
-  Revision 1.3  2000/07/21 15:14:02  jonas
-    + added is_addr field for labels, if they are only used for getting the address
-       (e.g. for io checks) and corresponding getaddrlabel() procedure
-
-  Revision 1.2  2000/07/13 11:32:44  michael
-  + removed logs
-
 }

+ 5 - 44
compiler/pbase.pas

@@ -1,6 +1,6 @@
 {
     $Id$
-    Copyright (c) 1998-2000 by Florian Klaempfl
+    Copyright (c) 1998-2002 by Florian Klaempfl
 
     Contains some helper routines for the parser
 
@@ -368,49 +368,10 @@ end.
 
 {
   $Log$
-  Revision 1.14  2002-01-06 21:47:32  peter
-    * removed getprocvar, use only getprocvardef
-
-  Revision 1.13  2001/06/03 21:57:35  peter
-    + hint directive parsing support
-
-  Revision 1.12  2001/05/06 14:49:17  peter
-    * ppu object to class rewrite
-    * move ppu read and write stuff to fppu
-
-  Revision 1.11  2001/04/13 18:08:37  peter
-    * scanner object to class
-
-  Revision 1.10  2001/04/13 01:22:11  peter
-    * symtable change to classes
-    * range check generation and errors fixed, make cycle DEBUG=1 works
-    * memory leaks fixed
-
-  Revision 1.9  2001/04/02 21:20:31  peter
-    * resulttype rewrite
-
-  Revision 1.8  2001/03/11 22:58:49  peter
-    * getsym redesign, removed the globals srsym,srsymtable
+  Revision 1.15  2002-05-14 19:34:44  peter
+    * removed old logs and updated copyright year
 
-  Revision 1.7  2000/12/25 00:07:27  peter
-    + new tlinkedlist class (merge of old tstringqueue,tcontainer and
-      tlinkedlist objects)
-
-  Revision 1.6  2000/10/31 22:02:49  peter
-    * symtable splitted, no real code changes
-
-  Revision 1.5  2000/09/24 15:06:21  peter
-    * use defines.inc
-
-  Revision 1.4  2000/08/27 20:19:39  peter
-    * store strings with case in ppu, when an internal symbol is created
-      a '$' is prefixed so it's not automatic uppercased
-
-  Revision 1.3  2000/08/27 16:11:51  peter
-    * moved some util functions from globals,cobjects to cutils
-    * splitted files into finput,fmodule
-
-  Revision 1.2  2000/07/13 11:32:44  michael
-  + removed logs
+  Revision 1.14  2002/01/06 21:47:32  peter
+    * removed getprocvar, use only getprocvardef
 
 }

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff