浏览代码

* logs truncated

florian 21 年之前
父节点
当前提交
8a9758c5e2
共有 100 个文件被更改,包括 350 次插入8262 次删除
  1. 4 81
      compiler/aasmbase.pas
  2. 4 427
      compiler/aasmtai.pas
  3. 4 245
      compiler/aggas.pas
  4. 2 14
      compiler/alpha/aasmcpu.pas
  5. 2 8
      compiler/alpha/agaxpgas.pas
  6. 2 5
      compiler/alpha/aoptcpu.pas
  7. 2 5
      compiler/alpha/aoptcpub.pas
  8. 2 5
      compiler/alpha/aoptcpuc.pas
  9. 2 5
      compiler/alpha/aoptcpud.pas
  10. 4 10
      compiler/alpha/cgcpu.pas
  11. 2 17
      compiler/alpha/cpubase.pas
  12. 2 4
      compiler/alpha/cpunode.pas
  13. 2 50
      compiler/alpha/cpupara.pas
  14. 3 2
      compiler/alpha/cpupi.pas
  15. 3 2
      compiler/alpha/cpuswtch.pas
  16. 3 2
      compiler/alpha/cputarg.pas
  17. 2 26
      compiler/alpha/radirect.pas
  18. 3 2
      compiler/alpha/rasm.pas
  19. 2 14
      compiler/alpha/rgcpu.pas
  20. 2 8
      compiler/alpha/tgcpu.pas
  21. 2 12
      compiler/aopt.pas
  22. 2 12
      compiler/aoptbase.pas
  23. 2 28
      compiler/aoptcs.pas
  24. 4 16
      compiler/aoptda.pas
  25. 4 24
      compiler/aoptobj.pas
  26. 4 110
      compiler/arm/aasmcpu.pas
  27. 4 59
      compiler/arm/agarmgas.pas
  28. 4 178
      compiler/arm/cgcpu.pas
  29. 4 92
      compiler/arm/cpubase.pas
  30. 5 22
      compiler/arm/cpuinfo.pas
  31. 4 22
      compiler/arm/cpunode.pas
  32. 4 55
      compiler/arm/cpupara.pas
  33. 4 17
      compiler/arm/cpupi.pas
  34. 3 2
      compiler/arm/cpuswtch.pas
  35. 3 2
      compiler/arm/cputarg.pas
  36. 4 14
      compiler/arm/itcpugas.pas
  37. 4 31
      compiler/arm/narmadd.pas
  38. 2 11
      compiler/arm/narmcal.pas
  39. 4 25
      compiler/arm/narmcnv.pas
  40. 4 6
      compiler/arm/narminl.pas
  41. 4 6
      compiler/arm/narmmat.pas
  42. 3 2
      compiler/arm/raarm.pas
  43. 4 22
      compiler/arm/raarmgas.pas
  44. 4 37
      compiler/arm/rgcpu.pas
  45. 4 166
      compiler/assemble.pas
  46. 4 56
      compiler/browcol.pas
  47. 4 20
      compiler/browlog.pas
  48. 2 26
      compiler/catch.pas
  49. 5 106
      compiler/cclasses.pas
  50. 4 232
      compiler/cg64f32.pas
  51. 4 41
      compiler/cg64f64.pas
  52. 4 84
      compiler/cgbase.pas
  53. 5 587
      compiler/cgobj.pas
  54. 2 12
      compiler/charset.pas
  55. 4 23
      compiler/cmsgs.pas
  56. 2 39
      compiler/comphook.pas
  57. 4 88
      compiler/compiler.pas
  58. 4 22
      compiler/compinnr.inc
  59. 2 27
      compiler/comprsrc.pas
  60. 2 8
      compiler/crc.pas
  61. 5 51
      compiler/cresstr.pas
  62. 4 15
      compiler/cstreams.pas
  63. 5 98
      compiler/cutils.pas
  64. 4 175
      compiler/defcmp.pas
  65. 4 242
      compiler/defutil.pas
  66. 2 19
      compiler/dmisc.pas
  67. 4 7
      compiler/dwarf.pas
  68. 2 15
      compiler/export.pas
  69. 4 57
      compiler/finput.pas
  70. 4 104
      compiler/fmodule.pas
  71. 5 129
      compiler/fpcdefs.inc
  72. 4 177
      compiler/fppu.pas
  73. 4 33
      compiler/gdb.pas
  74. 4 19
      compiler/gendef.pas
  75. 5 330
      compiler/globals.pas
  76. 5 171
      compiler/globtype.pas
  77. 5 227
      compiler/htypechk.pas
  78. 5 185
      compiler/i386/ag386int.pas
  79. 5 182
      compiler/i386/ag386nsm.pas
  80. 2 18
      compiler/i386/aopt386.pas
  81. 4 202
      compiler/i386/cgcpu.pas
  82. 4 48
      compiler/i386/cpubase.inc
  83. 5 94
      compiler/i386/cpuinfo.pas
  84. 4 58
      compiler/i386/cpunode.pas
  85. 4 202
      compiler/i386/cpupara.pas
  86. 2 61
      compiler/i386/cpupi.pas
  87. 4 36
      compiler/i386/cpuswtch.pas
  88. 2 46
      compiler/i386/cputarg.pas
  89. 4 181
      compiler/i386/csopt386.pas
  90. 4 199
      compiler/i386/daopt386.pas
  91. 4 3
      compiler/i386/n386add.pas
  92. 4 244
      compiler/i386/n386cal.pas
  93. 4 220
      compiler/i386/n386cnv.pas
  94. 2 72
      compiler/i386/n386con.pas
  95. 4 199
      compiler/i386/n386inl.pas
  96. 4 226
      compiler/i386/n386mat.pas
  97. 4 191
      compiler/i386/n386mem.pas
  98. 4 146
      compiler/i386/n386obj.pas
  99. 5 287
      compiler/i386/n386set.pas
  100. 2 19
      compiler/i386/optbase.pas

+ 4 - 81
compiler/aasmbase.pas

@@ -942,7 +942,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.18  2004-06-16 20:07:06  florian
+  Revision 1.19  2004-06-20 08:55:28  florian
+    * logs truncated
+
+  Revision 1.18  2004/06/16 20:07:06  florian
     * dwarf branch merged
 
   Revision 1.17.2.4  2004/05/11 21:04:40  peter
@@ -957,84 +960,4 @@ end.
   Revision 1.17.2.1  2004/04/08 18:33:22  peter
     * rewrite of TAsmSection
 
-  Revision 1.17  2004/03/18 11:45:39  olle
-    + added type similarity check in newasmsymbol
-
-  Revision 1.16  2004/03/02 00:36:32  olle
-    * big transformation of Tai_[const_]Symbol.Create[data]name*
-
-  Revision 1.15  2003/05/23 14:27:35  peter
-    * remove some unit dependencies
-    * current_procinfo changes to store more info
-
-  Revision 1.14  2003/04/06 21:11:23  olle
-    * changed newasmsymbol to newasmsymboldata for data symbols
-
-  Revision 1.13  2003/01/30 21:46:20  peter
-    * tai_const_symbol.createdataname added
-
-  Revision 1.12  2002/11/17 16:31:55  carl
-    * memory optimization (3-4%) : cleanup of tai fields,
-       cleanup of tdef and tsym fields.
-    * make it work for m68k
-
-  Revision 1.11  2002/11/15 16:29:30  peter
-    * made tasmsymbol.refs private (merged)
-
-  Revision 1.10  2002/11/15 01:58:45  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.9  2002/10/05 12:43:23  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.8  2002/08/19 19:36:42  peter
-    * More fixes for cross unit inlining, all tnodes are now implemented
-    * Moved pocall_internconst to po_internconst because it is not a
-      calling type at all and it conflicted when inlining of these small
-      functions was requested
-
-  Revision 1.7  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.6  2002/08/12 15:08:39  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.5  2002/08/11 14:32:25  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.4  2002/08/11 13:24:10  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.3  2002/07/10 07:24:40  jonas
-    * memory leak fixes from Sergey Korshunoff
-
-  Revision 1.2  2002/07/07 09:52:32  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
-  Revision 1.1  2002/07/01 18:46:20  peter
-    * internal linker
-    * reorganized aasm layer
-
 }

+ 4 - 427
compiler/aasmtai.pas

@@ -2217,7 +2217,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.85  2004-06-16 20:07:06  florian
+  Revision 1.86  2004-06-20 08:55:28  florian
+    * logs truncated
+
+  Revision 1.85  2004/06/16 20:07:06  florian
     * dwarf branch merged
 
   Revision 1.84  2004/05/23 14:31:05  peter
@@ -2232,430 +2235,4 @@ end.
   Revision 1.81.2.14  2004/06/13 10:51:16  florian
     * fixed several register allocator problems (sparc/arm)
 
-  Revision 1.81.2.13  2004/05/18 20:14:18  peter
-    * no section smartlink when using debuginfo
-
-  Revision 1.81.2.12  2004/05/10 21:28:34  peter
-    * section_smartlink enabled for gas under linux
-
-  Revision 1.81.2.11  2004/05/01 16:02:09  peter
-    * POINTER_SIZE replaced with sizeof(aint)
-    * aint,aword,tconst*int moved to globtype
-
-  Revision 1.81.2.10  2004/04/29 23:30:28  peter
-    * fix i386 compiler
-
-  Revision 1.81.2.9  2004/04/29 19:07:22  peter
-    * compile fixes
-
-  Revision 1.81.2.8  2004/04/27 18:18:25  peter
-    * aword -> aint
-
-  Revision 1.81.2.7  2004/04/20 16:35:58  peter
-    * generate dwarf for stackframe entry
-
-  Revision 1.81.2.6  2004/04/12 19:34:45  peter
-    * basic framework for dwarf CFI
-
-  Revision 1.81.2.5  2004/04/12 14:45:10  peter
-    * tai_const_symbol and tai_const merged
-
-  Revision 1.81.2.4  2004/04/10 19:45:07  florian
-    + .*leb128 support to assembler writer added
-
-  Revision 1.81.2.3  2004/04/10 12:36:40  peter
-    * fixed alignment issues
-
-  Revision 1.81.2.2  2004/04/09 14:34:52  peter
-    * fixed compilation for win32
-
-  Revision 1.81.2.1  2004/04/08 18:33:22  peter
-    * rewrite of TAsmSection
-
-  Revision 1.81  2004/03/16 22:12:10  florian
-    * some alignment issues resolved
-    * compiler doesn't generate anymore instructions not supported by the linux fpe
-
-  Revision 1.80  2004/03/15 16:09:03  peter
-    * fix lineinfo broken by valgrind patch
-
-  Revision 1.79  2004/03/15 08:44:51  michael
-  + Fix from peter: fixes crash when inlining assembler code referencing local vars
-
-  Revision 1.78  2004/03/14 22:47:56  peter
-    * fix memleak with top_local
-
-  Revision 1.77  2004/03/14 20:10:56  peter
-    * disable some debuginfo info when valgrind support is used
-
-  Revision 1.76  2004/03/02 17:32:12  florian
-    * make cycle fixed
-    + pic support for darwin
-    + support of importing vars from shared libs on darwin implemented
-
-  Revision 1.75  2004/03/02 00:36:32  olle
-    * big transformation of Tai_[const_]Symbol.Create[data]name*
-
-  Revision 1.74  2004/02/27 12:13:15  daniel
-    - Removed troublesome writeln statement
-
-  Revision 1.73  2004/02/27 10:21:04  florian
-    * top_symbol killed
-    + refaddr to treference added
-    + refsymbol to treference added
-    * top_local stuff moved to an extra record to save memory
-    + aint introduced
-    * tppufile.get/putint64/aint implemented
-
-  Revision 1.72  2004/02/26 16:16:38  peter
-    * tai_const.create_ptr added
-
-  Revision 1.71  2004/02/08 23:10:21  jonas
-    * tai_cpu.is_same_reg_move() now gets a regtype parameter so it only
-      removes moves of that particular register type. This is necessary so
-      we don't remove the live_start instruction of a register before it
-      has been processed
-
-  Revision 1.70  2004/02/08 20:15:42  jonas
-    - removed tai_cpu.is_reg_move because it's not used anymore
-    + support tracking fpu register moves by rgobj for the ppc
-
-  Revision 1.69  2004/01/31 17:45:16  peter
-    * Change several $ifdef i386 to x86
-    * Change several OS_32 to OS_INT/OS_ADDR
-
-  Revision 1.68  2004/01/30 13:42:03  florian
-    * fixed more alignment issues
-
-  Revision 1.67  2004/01/26 16:12:27  daniel
-    * reginfo now also only allocated during register allocation
-    * third round of gdb cleanups: kick out most of concatstabto
-
-  Revision 1.66  2004/01/24 18:12:40  florian
-    * fixed several arm floating point issues
-
-  Revision 1.65  2004/01/23 15:12:49  florian
-    * fixed generic shl/shr operations
-    + added register allocation hook calls for arm specific operand types:
-      register set and shifter op
-
-  Revision 1.64  2004/01/12 16:37:59  peter
-    * moved spilling code from tai_cpu to rg
-
-  Revision 1.63  2003/12/28 16:20:09  jonas
-    - removed unused methods from old generic spilling code
-
-  Revision 1.62  2003/12/26 14:02:30  peter
-    * sparc updates
-    * use registertype in spill_register
-
-  Revision 1.61  2003/12/15 21:25:48  peter
-    * reg allocations for imaginary register are now inserted just
-      before reg allocation
-    * tregister changed to enum to allow compile time check
-    * fixed several tregister-tsuperregister errors
-
-  Revision 1.60  2003/12/14 20:24:28  daniel
-    * Register allocator speed optimizations
-      - Worklist no longer a ringbuffer
-      - No find operations are left
-      - Simplify now done in constant time
-      - unusedregs is now a Tsuperregisterworklist
-      - Microoptimizations
-
-  Revision 1.59  2003/12/08 22:34:24  peter
-    * tai_const.create_32bit changed to cardinal
-
-  Revision 1.58  2003/12/06 22:16:12  jonas
-    * completely overhauled and fixed generic spilling code. New method:
-      spilling_get_operation_type(operand_number): returns the operation
-      performed by the instruction on the operand: read/write/read+write.
-      See powerpc/aasmcpu.pas for an example
-
-  Revision 1.57  2003/12/03 17:39:04  florian
-    * fixed several arm calling conventions issues
-    * fixed reference reading in the assembler reader
-    * fixed a_loadaddr_ref_reg
-
-  Revision 1.55  2003/11/12 16:05:39  florian
-    * assembler readers OOPed
-    + typed currency constants
-    + typed 128 bit float constants if the CPU supports it
-
-  Revision 1.54  2003/11/07 15:58:32  florian
-    * Florian's culmutative nr. 1; contains:
-      - invalid calling conventions for a certain cpu are rejected
-      - arm softfloat calling conventions
-      - -Sp for cpu dependend code generation
-      - several arm fixes
-      - remaining code for value open array paras on heap
-
-  Revision 1.53  2003/10/30 19:59:00  peter
-    * support scalefactor for opr_local
-    * support reference with opr_local set, fixes tw2631
-
-  Revision 1.52  2003/10/29 21:06:39  jonas
-    * allow more than 3 args in the spilling routine
-
-  Revision 1.51  2003/10/29 15:40:20  peter
-    * support indexing and offset retrieval for locals
-
-  Revision 1.50  2003/10/29 14:42:14  mazen
-  * code reformatted
-
-  Revision 1.49  2003/10/29 14:05:45  mazen
-  * Splling function devided to sub functions to make it easy to understand.
-    This commit is just to allow easy diffs to validate the migration (hint use -w)
-
-  Revision 1.48  2003/10/24 17:39:41  peter
-    * asmnode.get_position now inserts a marker
-
-  Revision 1.47  2003/10/23 14:44:07  peter
-    * splitted buildderef and buildderefimpl to fix interface crc
-      calculation
-
-  Revision 1.46  2003/10/22 20:39:59  peter
-    * write derefdata in a separate ppu entry
-
-  Revision 1.45  2003/10/21 15:15:35  peter
-    * tai_cpu_abstract.oper[] changed to pointers
-
-  Revision 1.44  2003/10/17 14:38:32  peter
-    * 64k registers supported
-    * fixed some memory leaks
-
-  Revision 1.43  2003/10/11 16:06:42  florian
-    * fixed some MMX<->SSE
-    * started to fix ppc, needs an overhaul
-    + stabs info improve for spilling, not sure if it works correctly/completly
-    - MMX_SUPPORT removed from Makefile.fpc
-
-  Revision 1.42  2003/10/10 17:48:13  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.41  2003/10/01 20:34:48  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.40  2003/09/23 17:56:05  peter
-    * locals and paras are allocated in the code generation
-    * tvarsym.localloc contains the location of para/local when
-      generating code for the current procedure
-
-  Revision 1.39  2003/09/07 22:09:34  peter
-    * preparations for different default calling conventions
-    * various RA fixes
-
-  Revision 1.38  2003/09/04 00:15:28  florian
-    * first bunch of adaptions of arm compiler for new register type
-
-  Revision 1.37  2003/09/03 15:55:00  peter
-    * NEWRA branch merged
-
-  Revision 1.36  2003/09/03 11:18:36  florian
-    * fixed arm concatcopy
-    + arm support in the common compiler sources added
-    * moved some generic cg code around
-    + tfputype added
-    * ...
-
-  Revision 1.35.2.5  2003/08/31 21:08:16  peter
-    * first batch of sparc fixes
-
-  Revision 1.35.2.4  2003/08/29 17:28:59  peter
-    * next batch of updates
-
-  Revision 1.35.2.3  2003/08/28 18:35:07  peter
-    * tregister changed to cardinal
-
-  Revision 1.35.2.2  2003/08/27 20:23:55  peter
-    * remove old ra code
-
-  Revision 1.35.2.1  2003/08/27 19:55:54  peter
-    * first tregister patch
-
-  Revision 1.35  2003/08/21 14:47:41  peter
-    * remove convert_registers
-
-  Revision 1.34  2003/08/20 20:29:06  daniel
-    * Some more R_NO changes
-    * Preventive code to loadref added
-
-  Revision 1.33  2003/08/17 20:47:47  daniel
-    * Notranslation changed into -sr functionality
-
-  Revision 1.32  2003/08/17 16:59:20  jonas
-    * fixed regvars so they work with newra (at least for ppc)
-    * fixed some volatile register bugs
-    + -dnotranslation option for -dnewra, which causes the registers not to
-      be translated from virtual to normal registers. Requires support in
-      the assembler writer as well, which is only implemented in aggas/
-      agppcgas currently
-
-  Revision 1.31  2003/08/11 21:18:20  peter
-    * start of sparc support for newra
-
-  Revision 1.30  2003/07/02 16:43:48  jonas
-    * always add dummy marker object at the start of an assembler list, so
-      the optimizer can't remove the first object
-
-  Revision 1.29  2003/06/03 13:01:59  daniel
-    * Register allocator finished
-
-  Revision 1.28  2003/05/12 18:13:57  peter
-    * create rtti label using newasmsymboldata and update binding
-      only when calling tai_symbol.create
-    * tai_symbol.create_global added
-
-  Revision 1.27  2003/04/25 20:59:33  peter
-    * removed funcretn,funcretsym, function result is now in varsym
-      and aliases for result and function name are added using absolutesym
-    * vs_hidden parameter for funcret passed in parameter
-    * vs_hidden fixes
-    * writenode changed to printnode and released from extdebug
-    * -vp option added to generate a tree.log with the nodetree
-    * nicer printnode for statements, callnode
-
-  Revision 1.26  2002/04/25 16:12:09  florian
-    * fixed more problems with cpubase and x86-64
-
-  Revision 1.25  2003/04/25 08:25:26  daniel
-    * Ifdefs around a lot of calls to cleartempgen
-    * Fixed registers that are allocated but not freed in several nodes
-    * Tweak to register allocator to cause less spills
-    * 8-bit registers now interfere with esi,edi and ebp
-      Compiler can now compile rtl successfully when using new register
-      allocator
-
-  Revision 1.24  2003/04/24 13:03:01  florian
-    * comp is now written with its bit pattern to the ppu instead as an extended
-
-  Revision 1.23  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.22  2003/04/22 10:09:34  daniel
-    + Implemented the actual register allocator
-    + Scratch registers unavailable when new register allocator used
-    + maybe_save/maybe_restore unavailable when new register allocator used
-
-  Revision 1.21  2003/02/19 22:00:14  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.20  2003/01/30 21:46:20  peter
-    * tai_const_symbol.createdataname added
-
-  Revision 1.19  2003/01/21 08:48:08  daniel
-    * Another 200301081 fixed
-
-  Revision 1.18  2003/01/09 20:40:59  daniel
-    * Converted some code in cgx86.pas to new register numbering
-
-  Revision 1.17  2003/01/09 15:49:56  daniel
-    * Added register conversion
-
-  Revision 1.16  2003/01/08 18:43:56  daniel
-   * Tregister changed into a record
-
-  Revision 1.15  2003/01/05 13:36:53  florian
-    * x86-64 compiles
-    + very basic support for float128 type (x86-64 only)
-
-  Revision 1.14  2002/12/06 17:50:21  peter
-    * symbol count fix merged
-
-  Revision 1.13  2002/11/17 16:31:55  carl
-    * memory optimization (3-4%) : cleanup of tai fields,
-       cleanup of tdef and tsym fields.
-    * make it work for m68k
-
-  Revision 1.12  2002/11/15 16:29:30  peter
-    * made tasmsymbol.refs private (merged)
-
-  Revision 1.11  2002/11/15 01:58:45  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.10  2002/11/09 15:38:03  carl
-    + NOOPT removed the optinfo field
-
-  Revision 1.9  2002/10/05 12:43:23  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.8  2002/08/19 19:36:42  peter
-    * More fixes for cross unit inlining, all tnodes are now implemented
-    * Moved pocall_internconst to po_internconst because it is not a
-      calling type at all and it conflicted when inlining of these small
-      functions was requested
-
-  Revision 1.7  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.6  2002/08/16 05:21:09  florian
-    * powerpc compilation fix
-
-  Revision 1.5  2002/08/15 19:10:35  peter
-    * first things tai,tnode storing in ppu
-
-  Revision 1.4  2002/08/11 14:32:25  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.3  2002/08/11 13:24:10  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.2  2002/08/05 18:27:48  carl
-    + more more more documentation
-    + first version include/exclude (can't test though, not enough scratch for i386 :()...
-
-  Revision 1.1  2002/07/01 18:46:20  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.27  2002/05/18 13:34:04  peter
-    * readded missing revisions
-
-  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
-      the tai_align class now, which may be empty
-
-  Revision 1.23  2002/04/15 18:54:34  carl
-  - removed tcpuflags
-
-  Revision 1.22  2002/04/07 13:18:19  carl
-  + more documentation
-
-  Revision 1.21  2002/04/07 10:17:40  carl
-  - remove packenumfixed (requires version 1.0.2 or later to compile now!)
-  + changing some comments so its commented automatically
-
-  Revision 1.20  2002/03/24 19:04:31  carl
-  + patch for SPARC from Mazen NEIFER
-
 }

+ 4 - 245
compiler/aggas.pas

@@ -962,7 +962,10 @@ var
 end.
 {
   $Log$
-  Revision 1.54  2004-06-16 20:07:06  florian
+  Revision 1.55  2004-06-20 08:55:28  florian
+    * logs truncated
+
+  Revision 1.54  2004/06/16 20:07:06  florian
     * dwarf branch merged
 
   Revision 1.53  2004/05/28 21:13:08  peter
@@ -977,248 +980,4 @@ end.
   Revision 1.50  2004/04/25 21:26:16  florian
     * some m68k stuff fixed
 
-  Revision 1.49  2004/04/12 18:59:32  florian
-    * small x86_64 fixes
-
-  Revision 1.48.2.14  2004/05/31 15:24:26  peter
-    * merge ait_regalloc on one line
-
-  Revision 1.48.2.13  2004/05/18 20:14:18  peter
-    * no section smartlink when using debuginfo
-
-  Revision 1.48.2.12  2004/05/10 21:28:34  peter
-    * section_smartlink enabled for gas under linux
-
-  Revision 1.48.2.11  2004/05/03 14:59:57  peter
-    * no dlltool needed for win32 linking executables
-
-  Revision 1.48.2.10  2004/04/29 23:30:28  peter
-    * fix i386 compiler
-
-  Revision 1.48.2.9  2004/04/26 21:01:36  peter
-    * aint fixes
-
-  Revision 1.48.2.8  2004/04/20 16:35:58  peter
-    * generate dwarf for stackframe entry
-
-  Revision 1.48.2.7  2004/04/12 19:34:45  peter
-    * basic framework for dwarf CFI
-
-  Revision 1.48.2.6  2004/04/12 14:45:10  peter
-    * tai_const_symbol and tai_const merged
-
-  Revision 1.48.2.5  2004/04/10 22:08:52  florian
-    + more dwarf infrastructure
-
-  Revision 1.48.2.4  2004/04/10 19:45:07  florian
-    + .*leb128 support to assembler writer added
-
-  Revision 1.48.2.3  2004/04/10 12:36:41  peter
-    * fixed alignment issues
-
-  Revision 1.48.2.2  2004/04/09 14:34:53  peter
-    * fixed compilation for win32
-
-  Revision 1.48.2.1  2004/04/08 18:33:22  peter
-    * rewrite of TAsmSection
-
-  Revision 1.48  2004/03/17 22:27:41  florian
-    * fixed handling of doubles in a native arm compiler
-    * fixed handling of typed double constants on arm
-
-  Revision 1.47  2004/03/02 17:32:12  florian
-    * make cycle fixed
-    + pic support for darwin
-    + support of importing vars from shared libs on darwin implemented
-
-  Revision 1.46  2004/02/22 16:51:50  peter
-    * tf_need_symbol_size added
-
-  Revision 1.45  2004/01/24 18:12:40  florian
-    * fixed several arm floating point issues
-
-  Revision 1.44  2004/01/20 21:02:54  florian
-    * fixed symbol type writing for arm-linux
-    * fixed assembler generation for abs
-
-  Revision 1.43  2004/01/12 16:39:40  peter
-    * sparc updates, mostly float related
-
-  Revision 1.42  2004/01/07 17:40:06  jonas
-    * darwin requires the alginment of .lcomm symbols to be specified
-      together with the symbol itself, instead of in a .align directive
-
-  Revision 1.41  2004/01/04 21:08:59  jonas
-    * darwin only supports .align, no .balign
-
-  Revision 1.40  2004/01/03 13:51:05  jonas
-    + support exported procedures for linuxppc
-    * refuse to compile systems/t_linux.pas if processor-specific  support
-      for exported procedures is absent
-    + generate .type and .size info for all currently defined linux-variants
-      in aggas.pas
-
-  Revision 1.39  2003/12/14 22:42:54  peter
-    * fixed range check error
-
-  Revision 1.38  2003/12/10 17:13:22  peter
-    * fix range error with tai_const
-
-  Revision 1.37  2003/11/12 16:05:39  florian
-    * assembler readers OOPed
-    + typed currency constants
-    + typed 128 bit float constants if the CPU supports it
-
-  Revision 1.36  2003/10/01 20:34:48  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.35  2003/09/23 17:56:05  peter
-    * locals and paras are allocated in the code generation
-    * tvarsym.localloc contains the location of para/local when
-      generating code for the current procedure
-
-  Revision 1.34  2003/09/06 16:47:24  florian
-    + support of NaN and Inf in the compiler as values of real constants
-
-  Revision 1.33  2003/09/04 00:15:29  florian
-    * first bunch of adaptions of arm compiler for new register type
-
-  Revision 1.32  2003/09/03 19:35:24  peter
-    * powerpc compiles again
-
-  Revision 1.31  2003/09/03 15:55:00  peter
-    * NEWRA branch merged
-
-  Revision 1.30  2003/09/03 11:18:36  florian
-    * fixed arm concatcopy
-    + arm support in the common compiler sources added
-    * moved some generic cg code around
-    + tfputype added
-    * ...
-
-  Revision 1.29.2.2  2003/09/01 21:02:55  peter
-    * sparc updates for new tregister
-
-  Revision 1.29.2.1  2003/08/31 15:46:26  peter
-    * more updates for tregister
-
-  Revision 1.29  2003/08/19 11:53:03  daniel
-    * Fixed PowerPC compilation
-
-  Revision 1.28  2003/08/18 11:49:47  daniel
-    * Made ATT asm writer work with -sr
-
-  Revision 1.27  2003/08/17 21:11:00  daniel
-    * Now -sr works...
-
-  Revision 1.26  2003/08/17 20:47:47  daniel
-    * Notranslation changed into -sr functionality
-
-  Revision 1.25  2003/08/17 16:59:20  jonas
-    * fixed regvars so they work with newra (at least for ppc)
-    * fixed some volatile register bugs
-    + -dnotranslation option for -dnewra, which causes the registers not to
-      be translated from virtual to normal registers. Requires support in
-      the assembler writer as well, which is only implemented in aggas/
-      agppcgas currently
-
-  Revision 1.24  2003/04/28 21:17:53  peter
-    * write sec_none info in extdebug
-
-  Revision 1.23  2003/04/25 20:59:33  peter
-    * removed funcretn,funcretsym, function result is now in varsym
-      and aliases for result and function name are added using absolutesym
-    * vs_hidden parameter for funcret passed in parameter
-    * vs_hidden fixes
-    * writenode changed to printnode and released from extdebug
-    * -vp option added to generate a tree.log with the nodetree
-    * nicer printnode for statements, callnode
-
-  Revision 1.22  2003/04/24 22:29:57  florian
-    * fixed a lot of PowerPC related stuff
-
-  Revision 1.21  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.20  2003/01/09 21:52:37  peter
-    * merged some verbosity options.
-    * V_LineInfo is a verbosity flag to include line info
-
-  Revision 1.19  2003/01/08 18:43:56  daniel
-   * Tregister changed into a record
-
-  Revision 1.18  2002/12/07 14:03:25  carl
-    - remove some duplicates and unused vars
-
-  Revision 1.17  2002/12/06 17:50:39  peter
-    * long symbol name fix merged
-
-  Revision 1.16  2002/11/17 16:31:55  carl
-    * memory optimization (3-4%) : cleanup of tai fields,
-       cleanup of tdef and tsym fields.
-    * make it work for m68k
-
-  Revision 1.15  2002/11/15 01:58:45  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.14  2002/10/30 21:01:14  peter
-    * always include lineno after fileswitch. valgrind requires this
-
-  Revision 1.13  2002/10/05 12:43:23  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.12  2002/08/31 16:05:17  florian
-    * write double # before float constants when -al is turned on
-      else some gas versions interpret it as line number
-
-  Revision 1.11  2002/08/20 16:55:38  peter
-    * don't write (stabs)line info when inlining a procedure
-
-  Revision 1.10  2002/08/18 22:16:14  florian
-    + the ppc gas assembler writer adds now registers aliases
-      to the assembler file
-
-  Revision 1.9  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.8  2002/07/26 21:15:37  florian
-    * rewrote the system handling
-
-  Revision 1.7  2002/07/07 09:52:32  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
-  Revision 1.6  2002/07/01 18:46:20  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.5  2002/05/18 13:34:05  peter
-    * readded missing revisions
-
-  Revision 1.4  2002/05/16 19:46:34  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.2  2002/04/15 18:53:48  carl
-  + comments in register allocator uses std_Reg2str
-
-  Revision 1.1  2002/04/14 16:51:54  carl
-  + basic GNU assembler writer class
-
 }

+ 2 - 14
compiler/alpha/aasmcpu.pas

@@ -282,19 +282,7 @@ implementation
     end.
 {
   $Log$
-  Revision 1.3  2002-09-29 23:54:12  florian
-    * alpha compiles again, changes to common code not yet commited
-
-  Revision 1.2  2002/09/29 23:42:45  florian
-    * several fixes to get forward with alpha compilation
-
-  Revision 1.1  2002/09/29 22:34:17  florian
-    * cpuasm renamed to aasmcpu
-
-  Revision 1.2  2002/09/07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.1  2002/08/18 09:06:54  florian
-    * alpha files moved compiler/alpha
+  Revision 1.4  2004-06-20 08:55:30  florian
+    * logs truncated
 
 }

+ 2 - 8
compiler/alpha/agaxpgas.pas

@@ -128,13 +128,7 @@ end.
 
 {
   $Log$
-  Revision 1.1  2002-09-29 23:42:45  florian
-    * several fixes to get forward with alpha compilation
-
-  Revision 1.2  2002/09/07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.1  2002/08/18 09:06:54  florian
-    * alpha files moved compiler/alpha
+  Revision 1.2  2004-06-20 08:55:30  florian
+    * logs truncated
 
 }

+ 2 - 5
compiler/alpha/aoptcpu.pas

@@ -39,10 +39,7 @@ Implementation
 End.
 {
  $Log$
- Revision 1.2  2002-09-07 15:25:10  peter
-   * old logs removed and tabs fixed
-
- Revision 1.1  2002/08/18 09:06:54  florian
-   * alpha files moved compiler/alpha
+ Revision 1.3  2004-06-20 08:55:30  florian
+   * logs truncated
 
 }

+ 2 - 5
compiler/alpha/aoptcpub.pas

@@ -117,10 +117,7 @@ End.
 
 {
  $Log$
- Revision 1.2  2002-09-07 15:25:10  peter
-   * old logs removed and tabs fixed
-
- Revision 1.1  2002/08/18 09:06:54  florian
-   * alpha files moved compiler/alpha
+ Revision 1.3  2004-06-20 08:55:30  florian
+   * logs truncated
 
 }

+ 2 - 5
compiler/alpha/aoptcpuc.pas

@@ -39,10 +39,7 @@ Implementation
 End.
 {
   $Log$
-  Revision 1.2  2002-09-07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.1  2002/08/18 09:06:54  florian
-    * alpha files moved compiler/alpha
+  Revision 1.3  2004-06-20 08:55:30  florian
+    * logs truncated
 
 }

+ 2 - 5
compiler/alpha/aoptcpud.pas

@@ -41,10 +41,7 @@ End.
 
 {
   $Log$
-  Revision 1.2  2002-09-07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.1  2002/08/18 09:06:54  florian
-    * alpha files moved compiler/alpha
+  Revision 1.3  2004-06-20 08:55:30  florian
+    * logs truncated
 
 }

+ 4 - 10
compiler/alpha/cgcpu.pas

@@ -161,16 +161,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.4  2004-03-02 00:36:33  olle
-    * big transformation of Tai_[const_]Symbol.Create[data]name*
-
-  Revision 1.3  2002/09/29 23:42:45  florian
-    * several fixes to get forward with alpha compilation
+  Revision 1.5  2004-06-20 08:55:30  florian
+    * logs truncated
 
-  Revision 1.2  2002/09/07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.1  2002/08/18 09:06:54  florian
-    * alpha files moved compiler/alpha
+  Revision 1.4  2004/03/02 00:36:33  olle
+    * big transformation of Tai_[const_]Symbol.Create[data]name*
 
 }

+ 2 - 17
compiler/alpha/cpubase.pas

@@ -458,22 +458,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.6  2002-11-17 18:26:15  mazen
-  * fixed a compilation bug accmulator-->accumulator, in definition of return_result_reg
-
-  Revision 1.5  2002/11/17 17:49:08  mazen
-  + return_result_reg and function_result_reg are now used, in all plateforms, to pass functions result between called function and its caller. See the explanation of each one
-
-  Revision 1.4  2002/09/29 23:54:12  florian
-    * alpha compiles again, changes to common code not yet commited
-
-  Revision 1.3  2002/09/29 23:42:45  florian
-    * several fixes to get forward with alpha compilation
-
-  Revision 1.2  2002/09/07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.1  2002/08/18 09:06:54  florian
-    * alpha files moved compiler/alpha
+  Revision 1.7  2004-06-20 08:55:31  florian
+    * logs truncated
 
 }

+ 2 - 4
compiler/alpha/cpunode.pas

@@ -55,9 +55,7 @@ unit cpunode;
 end.
 {
   $Log$
-  Revision 1.2  2002-09-29 23:54:12  florian
-    * alpha compiles again, changes to common code not yet commited
+  Revision 1.3  2004-06-20 08:55:31  florian
+    * logs truncated
 
-  Revision 1.1  2002/08/18 09:13:02  florian
-    * small fixes to the alpha stuff
 }

+ 2 - 50
compiler/alpha/cpupara.pas

@@ -291,55 +291,7 @@ begin
 end.
 {
   $Log$
-  Revision 1.1  2002-09-29 23:54:12  florian
-    * alpha compiles again, changes to common code not yet commited
+  Revision 1.2  2004-06-20 08:55:31  florian
+    * logs truncated
 
-  Revision 1.14  2002/09/28 21:27:16  florian
-    + getparaloc supports now sets and variants
-
-  Revision 1.13  2002/09/10 21:28:05  jonas
-    * int64 paras are now handled correctly (until the registers are used up
-      anyway :)
-    * the return location is now initialized correctly
-    * fixed bug where ret_in_reg() was called for the procdefinition instead
-      of for the result of the procedure
-
-  Revision 1.12  2002/09/09 09:11:37  florian
-    - removed passes_parameters_in_reg
-
-  Revision 1.11  2002/09/07 17:54:59  florian
-    * first part of PowerPC fixes
-
-  Revision 1.10  2002/09/01 21:04:49  florian
-    * several powerpc related stuff fixed
-
-  Revision 1.9  2002/08/31 12:43:31  florian
-    * ppc compilation fixed
-
-  Revision 1.8  2002/08/18 10:42:38  florian
-    * remaining assembler writer bugs fixed, the errors in the
-      system unit are inline assembler problems
-
-  Revision 1.7  2002/08/17 22:09:47  florian
-    * result type handling in tcgcal.pass_2 overhauled
-    * better tnode.dowrite
-    * some ppc stuff fixed
-
-  Revision 1.6  2002/08/13 21:40:58  florian
-    * more fixes for ppc calling conventions
-
-  Revision 1.5  2002/07/30 20:50:44  florian
-    * the code generator knows now if parameters are in registers
-
-  Revision 1.4  2002/07/28 20:45:22  florian
-    + added direct assembler reader for PowerPC
-
-  Revision 1.3  2002/07/26 22:22:10  florian
-    * several PowerPC related fixes to get forward with system unit compilation
-
-  Revision 1.2  2002/07/11 14:41:34  florian
-    * start of the new generic parameter handling
-
-  Revision 1.1  2002/07/07 09:44:32  florian
-    * powerpc target fixed, very simple units can be compiled
 }

+ 3 - 2
compiler/alpha/cpupi.pas

@@ -44,8 +44,9 @@ begin
 end.
 {
   $Log$
-  Revision 1.1  2002-09-29 23:54:12  florian
-    * alpha compiles again, changes to common code not yet commited
+  Revision 1.2  2004-06-20 08:55:31  florian
+    * logs truncated
+
 }
 
 

+ 3 - 2
compiler/alpha/cpuswtch.pas

@@ -122,6 +122,7 @@ initialization
 end.
 {
   $Log$
-  Revision 1.1  2002-09-29 23:42:45  florian
-    * several fixes to get forward with alpha compilation
+  Revision 1.2  2004-06-20 08:55:31  florian
+    * logs truncated
+
 }

+ 3 - 2
compiler/alpha/cputarg.pas

@@ -52,6 +52,7 @@ implementation
 end.
 {
   $Log$
-  Revision 1.1  2002-09-29 23:54:13  florian
-    * alpha compiles again, changes to common code not yet commited
+  Revision 1.2  2004-06-20 08:55:31  florian
+    * logs truncated
+
 }

+ 2 - 26
compiler/alpha/radirect.pas

@@ -314,31 +314,7 @@ initialization
 end.
 {
   $Log$
-  Revision 1.1  2002-09-29 23:42:45  florian
-    * several fixes to get forward with alpha compilation
+  Revision 1.2  2004-06-20 08:55:31  florian
+    * logs truncated
 
-  Revision 1.5  2002/09/03 19:04:18  daniel
-    * Fixed PowerPC & M68000 compilation
-
-  Revision 1.4  2002/09/03 16:26:28  daniel
-    * Make Tprocdef.defs protected
-
-  Revision 1.3  2002/08/31 15:59:31  florian
-    + HEAP* stuff must be generated for Linux/PPC as well
-    + direct assembler reader searches now global and static symtables as well
-
-  Revision 1.2  2002/08/18 21:36:42  florian
-    + handling of local variables in direct reader implemented
-
-  Revision 1.1  2002/08/10 14:52:52  carl
-    + moved target_cpu_string to cpuinfo
-    * renamed asmmode enum.
-    * assembler reader has now less ifdef's
-    * move from nppcmem.pas -> ncgmem.pas vec. node.
-
-  Revision 1.2  2002/07/28 20:45:23  florian
-    + added direct assembler reader for PowerPC
-
-  Revision 1.1  2002/07/11 14:41:34  florian
-    * start of the new generic parameter handling
 }

+ 3 - 2
compiler/alpha/rasm.pas

@@ -66,6 +66,7 @@ Begin
 end.
 {
   $Log$
-  Revision 1.1  2002-09-29 23:42:45  florian
-    * several fixes to get forward with alpha compilation
+  Revision 1.2  2004-06-20 08:55:31  florian
+    * logs truncated
+
 }

+ 2 - 14
compiler/alpha/rgcpu.pas

@@ -71,19 +71,7 @@ end.
 
 {
   $Log$
-  Revision 1.1  2002-09-29 23:42:45  florian
-    * several fixes to get forward with alpha compilation
-
-  Revision 1.3  2002/07/07 09:44:32  florian
-    * powerpc target fixed, very simple units can be compiled
-
-  Revision 1.2  2002/05/16 19:46:53  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.1  2002/04/06 18:13:02  jonas
-    * several powerpc-related additions and fixes
+  Revision 1.2  2004-06-20 08:55:31  florian
+    * logs truncated
 
 }

+ 2 - 8
compiler/alpha/tgcpu.pas

@@ -43,13 +43,7 @@ begin
 end.
 {
   $Log$
-  Revision 1.3  2002-09-29 23:42:46  florian
-    * several fixes to get forward with alpha compilation
-
-  Revision 1.2  2002/09/07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.1  2002/08/18 09:06:54  florian
-    * alpha files moved compiler/alpha
+  Revision 1.4  2004-06-20 08:55:31  florian
+    * logs truncated
 
 }

+ 2 - 12
compiler/aopt.pas

@@ -241,17 +241,7 @@ End.
 
 {
  $Log$
- Revision 1.5  2002-07-01 18:46:21  peter
-   * internal linker
-   * reorganized aasm layer
-
- Revision 1.4  2002/05/18 13:34:05  peter
-   * readded missing revisions
-
- Revision 1.3  2002/05/16 19:46:34  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.6  2004-06-20 08:55:28  florian
+   * logs truncated
 
 }

+ 2 - 12
compiler/aoptbase.pas

@@ -262,17 +262,7 @@ End.
 
 {
   $Log$
-  Revision 1.6  2002-07-07 09:52:32  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
-  Revision 1.5  2002/05/18 13:34:05  peter
-    * readded missing revisions
-
-  Revision 1.4  2002/05/16 19:46:34  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.7  2004-06-20 08:55:28  florian
+    * logs truncated
 
 }

+ 2 - 28
compiler/aoptcs.pas

@@ -850,33 +850,7 @@ End.
 
 {
   $Log$
-  Revision 1.8  2003-03-28 19:16:56  peter
-    * generic constructor working for i386
-    * remove fixed self register
-    * esi added as address register for i386
-
-  Revision 1.7  2002/05/18 13:34:05  peter
-    * readded missing revisions
-
-  Revision 1.6  2002/05/16 19:46:34  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.4  2002/04/20 21:32:23  carl
-  + generic FPC_CHECKPOINTER
-  + first parameter offset in stack now portable
-  * rename some constants
-  + move some cpu stuff to other units
-  - remove unused constents
-  * fix stacksize for some targets
-  * fix generic size problems which depend now on EXTEND_SIZE constant
-
-  Revision 1.3  2002/04/15 18:55:39  carl
-  + change reg2str array use
-
-  Revision 1.2  2002/04/14 16:49:30  carl
-  + att_reg2str -> gas_reg2str
+  Revision 1.9  2004-06-20 08:55:28  florian
+    * logs truncated
 
 }

+ 4 - 16
compiler/aoptda.pas

@@ -177,23 +177,11 @@ End.
 
 {
   $Log$
-  Revision 1.7  2004-01-31 17:45:16  peter
+  Revision 1.8  2004-06-20 08:55:28  florian
+    * logs truncated
+
+  Revision 1.7  2004/01/31 17:45:16  peter
     * Change several $ifdef i386 to x86
     * Change several OS_32 to OS_INT/OS_ADDR
 
-  Revision 1.6  2002/05/18 13:34:05  peter
-    * readded missing revisions
-
-  Revision 1.5  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.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
-
 }

+ 4 - 24
compiler/aoptobj.pas

@@ -788,34 +788,14 @@ End.
 
 {
  $Log$
- Revision 1.10  2004-01-31 17:45:17  peter
+ Revision 1.11  2004-06-20 08:55:28  florian
+   * logs truncated
+
+ Revision 1.10  2004/01/31 17:45:17  peter
    * Change several $ifdef i386 to x86
    * Change several OS_32 to OS_INT/OS_ADDR
 
  Revision 1.9  2004/01/30 13:42:03  florian
    * fixed more alignment issues
 
- Revision 1.8  2002/11/18 17:31:54  peter
-   * pass proccalloption to ret_in_xxx and push_xxx functions
-
- Revision 1.7  2002/08/18 18:16:55  florian
-   * fixed compilation error
-
- Revision 1.6  2002/07/07 09:52:32  florian
-   * powerpc target fixed, very simple units can be compiled
-   * some basic stuff for better callparanode handling, far from being finished
-
- Revision 1.5  2002/07/01 18:46:21  peter
-   * internal linker
-   * reorganized aasm layer
-
- Revision 1.4  2002/05/18 13:34:05  peter
-   * readded missing revisions
-
- Revision 1.3  2002/05/16 19:46:35  carl
- + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
- + try to fix temp allocation (still in ifdef)
- + generic constructor calls
- + start of tassembler / tmodulebase class cleanup
-
 }

+ 4 - 110
compiler/arm/aasmcpu.pas

@@ -486,7 +486,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.32  2004-06-16 20:07:10  florian
+  Revision 1.33  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.32  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.31.2.2  2004/06/13 10:51:17  florian
@@ -503,113 +506,4 @@ end.
   Revision 1.30  2004/03/15 22:20:13  florian
     * handling of spilling improved
 
-  Revision 1.29  2004/03/14 16:15:39  florian
-    * spilling problem fixed
-    * handling of floating point memory references fixed
-
-  Revision 1.28  2004/02/09 22:48:45  florian
-    * several fixes to parameter handling on arm
-
-  Revision 1.27  2004/02/08 23:10:21  jonas
-    * taicpu.is_same_reg_move() now gets a regtype parameter so it only
-      removes moves of that particular register type. This is necessary so
-      we don't remove the live_start instruction of a register before it
-      has been processed
-
-  Revision 1.26  2004/02/08 20:15:42  jonas
-    - removed taicpu.is_reg_move because it's not used anymore
-    + support tracking fpu register moves by rgobj for the ppc
-
-  Revision 1.25  2004/01/26 19:05:56  florian
-    * fixed several arm issues
-
-  Revision 1.24  2004/01/24 20:19:46  florian
-    * fixed some spilling stuff
-    + not(<int64>) implemented
-    + small set comparisations implemented
-
-  Revision 1.23  2004/01/23 15:12:49  florian
-    * fixed generic shl/shr operations
-    + added register allocation hook calls for arm specific operand types:
-      register set and shifter op
-
-  Revision 1.22  2004/01/21 19:01:03  florian
-    * fixed handling of max. distance of pc relative symbols
-
-  Revision 1.21  2004/01/20 21:02:55  florian
-    * fixed symbol type writing for arm-linux
-    * fixed assembler generation for abs
-
-  Revision 1.20  2003/12/28 16:20:09  jonas
-    - removed unused methods from old generic spilling code
-
-  Revision 1.19  2003/12/26 14:02:30  peter
-    * sparc updates
-    * use registertype in spill_register
-
-  Revision 1.18  2003/12/18 17:06:21  florian
-    * arm compiler compilation fixed
-
-  Revision 1.17  2003/12/03 17:39:05  florian
-    * fixed several arm calling conventions issues
-    * fixed reference reading in the assembler reader
-    * fixed a_loadaddr_ref_reg
-
-  Revision 1.16  2003/11/30 19:35:29  florian
-    * fixed several arm related problems
-
-  Revision 1.15  2003/11/29 17:36:56  peter
-    * fixed is_move
-
-  Revision 1.14  2003/11/24 15:17:37  florian
-    * changed some types to prevend range check errors
-
-  Revision 1.13  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.12  2003/09/11 11:54:59  florian
-    * improved arm code generation
-    * move some protected and private field around
-    * the temp. register for register parameters/arguments are now released
-      before the move to the parameter register is done. This improves
-      the code in a lot of cases.
-
-  Revision 1.11  2003/09/06 11:21:49  florian
-    * fixed stm and ldm to be usable with preindex operand
-
-  Revision 1.10  2003/09/04 21:07:03  florian
-    * ARM compiler compiles again
-
-  Revision 1.9  2003/09/04 00:15:29  florian
-    * first bunch of adaptions of arm compiler for new register type
-
-  Revision 1.8  2003/09/03 11:18:37  florian
-    * fixed arm concatcopy
-    + arm support in the common compiler sources added
-    * moved some generic cg code around
-    + tfputype added
-    * ...
-
-  Revision 1.7  2003/08/29 21:36:28  florian
-    * fixed procedure entry/exit code
-    * started to fix reference handling
-
-  Revision 1.6  2003/08/28 00:05:29  florian
-    * today's arm patches
-
-  Revision 1.5  2003/08/27 00:27:56  florian
-    + same procedure as very day: today's work on arm
-
-  Revision 1.4  2003/08/25 23:20:38  florian
-    + started to implement FPU support for the ARM
-    * fixed a lot of other things
-
-  Revision 1.3  2003/08/24 12:27:26  florian
-    * continued to work on the arm port
-
-  Revision 1.2  2003/08/20 15:50:12  florian
-    * more arm stuff
-
-  Revision 1.1  2003/08/16 13:23:01  florian
-    * several arm related stuff fixed
 }

+ 4 - 59
compiler/arm/agarmgas.pas

@@ -238,7 +238,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.20  2004-06-16 20:07:10  florian
+  Revision 1.21  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.20  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.19.2.1  2004/06/12 17:01:01  florian
@@ -253,62 +256,4 @@ end.
     * fixed arm compilation
     * cleaned up code generation for exported linux procedures
 
-  Revision 1.17  2003/11/30 19:35:29  florian
-    * fixed several arm related problems
-
-  Revision 1.16  2003/11/29 17:36:56  peter
-    * fixed is_move
-
-  Revision 1.15  2003/11/21 16:29:26  florian
-    * fixed reading of reg. sets in the arm assembler reader
-
-  Revision 1.14  2003/11/17 23:23:47  florian
-    + first part of arm assembler reader
-
-  Revision 1.13  2003/11/07 15:58:32  florian
-    * Florian's culmutative nr. 1; contains:
-      - invalid calling conventions for a certain cpu are rejected
-      - arm softfloat calling conventions
-      - -Sp for cpu dependend code generation
-      - several arm fixes
-      - remaining code for value open array paras on heap
-
-  Revision 1.12  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.11  2003/09/06 11:21:49  florian
-    * fixed stm and ldm to be usable with preindex operand
-
-  Revision 1.10  2003/09/05 23:57:01  florian
-    * arm is working again as before the new register naming scheme was implemented
-
-  Revision 1.9  2003/09/04 00:15:29  florian
-    * first bunch of adaptions of arm compiler for new register type
-
-  Revision 1.8  2003/09/03 19:10:30  florian
-    * initial revision of new register naming
-
-  Revision 1.7  2003/09/01 15:11:16  florian
-    * fixed reference handling
-    * fixed operand postfix for floating point instructions
-    * fixed wrong shifter constant handling
-
-  Revision 1.6  2003/08/29 21:36:28  florian
-    * fixed procedure entry/exit code
-    * started to fix reference handling
-
-  Revision 1.5  2003/08/28 13:26:10  florian
-    * another couple of arm fixes
-
-  Revision 1.4  2003/08/28 00:05:29  florian
-    * today's arm patches
-
-  Revision 1.3  2003/08/24 12:27:26  florian
-    * continued to work on the arm port
-
-  Revision 1.2  2003/08/20 15:50:12  florian
-    * more arm stuff
-
-  Revision 1.1  2003/08/16 13:23:01  florian
-    * several arm related stuff fixed
 }

+ 4 - 178
compiler/arm/cgcpu.pas

@@ -1324,7 +1324,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.52  2004-06-16 20:07:10  florian
+  Revision 1.53  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.52  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.51.2.1  2004/06/12 17:01:01  florian
@@ -1341,181 +1344,4 @@ end.
   Revision 1.49  2004/03/14 21:42:24  florian
     * optimized mul code generation
 
-  Revision 1.48  2004/03/14 16:15:40  florian
-    * spilling problem fixed
-    * handling of floating point memory references fixed
-
-  Revision 1.47  2004/03/10 22:35:40  florian
-    + fixed code generation for cmn
-
-  Revision 1.46  2004/03/06 20:35:19  florian
-    * fixed arm compilation
-    * cleaned up code generation for exported linux procedures
-
-  Revision 1.45  2004/03/02 00:36:33  olle
-    * big transformation of Tai_[const_]Symbol.Create[data]name*
-
-  Revision 1.44  2004/02/04 22:01:13  peter
-    * first try to get cpupara working for x86_64
-
-  Revision 1.43  2004/01/29 17:09:32  florian
-    * handling of floating point references fixed
-
-  Revision 1.42  2004/01/28 15:36:47  florian
-    * fixed another couple of arm bugs
-
-  Revision 1.41  2004/01/27 15:04:06  florian
-    * fixed code generation for math inl. nodes
-    * more code generator improvements
-
-  Revision 1.40  2004/01/26 19:05:56  florian
-    * fixed several arm issues
-
-  Revision 1.39  2004/01/24 20:19:46  florian
-    * fixed some spilling stuff
-    + not(<int64>) implemented
-    + small set comparisations implemented
-
-  Revision 1.38  2004/01/24 01:33:20  florian
-    * fixref fixed if index, base and offset were given
-
-  Revision 1.37  2004/01/22 20:13:18  florian
-    * fixed several issues with flags
-
-  Revision 1.36  2004/01/22 02:22:47  florian
-    * op_const_reg_reg with OP_SAR fixed
-
-  Revision 1.35  2004/01/22 01:47:15  florian
-    * improved register usage
-    + implemented second_cmp64bit
-
-  Revision 1.34  2004/01/21 19:01:03  florian
-    * fixed handling of max. distance of pc relative symbols
-
-  Revision 1.33  2004/01/21 15:41:56  florian
-    * fixed register allocator problems with concatcopy
-
-  Revision 1.32  2004/01/21 14:22:00  florian
-    + reintroduce implemented
-
-  Revision 1.31  2004/01/21 01:22:35  florian
-    * fixed a_cmp_const_reg_label
-    * fixed volatile register handling which was broken by my last patch
-
-  Revision 1.30  2004/01/20 23:18:00  florian
-    * fixed a_call_reg
-    + implemented paramgr.get_volative_registers
-
-  Revision 1.29  2003/12/26 14:02:30  peter
-    * sparc updates
-    * use registertype in spill_register
-
-  Revision 1.28  2003/12/18 17:06:21  florian
-    * arm compiler compilation fixed
-
-  Revision 1.27  2003/12/08 17:43:57  florian
-    * fixed ldm/stm arm assembler reading
-    * fixed a_load_reg_reg with OS_8 on ARM
-    * non supported calling conventions cause only a warning now
-
-  Revision 1.26  2003/12/03 17:39:05  florian
-    * fixed several arm calling conventions issues
-    * fixed reference reading in the assembler reader
-    * fixed a_loadaddr_ref_reg
-
-  Revision 1.25  2003/11/30 19:35:29  florian
-    * fixed several arm related problems
-
-  Revision 1.24  2003/11/24 15:17:37  florian
-    * changed some types to prevend range check errors
-
-  Revision 1.23  2003/11/21 16:29:26  florian
-    * fixed reading of reg. sets in the arm assembler reader
-
-  Revision 1.22  2003/11/07 15:58:32  florian
-    * Florian's culmutative nr. 1; contains:
-      - invalid calling conventions for a certain cpu are rejected
-      - arm softfloat calling conventions
-      - -Sp for cpu dependend code generation
-      - several arm fixes
-      - remaining code for value open array paras on heap
-
-  Revision 1.21  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.20  2003/10/11 16:06:42  florian
-    * fixed some MMX<->SSE
-    * started to fix ppc, needs an overhaul
-    + stabs info improve for spilling, not sure if it works correctly/completly
-    - MMX_SUPPORT removed from Makefile.fpc
-
-  Revision 1.19  2003/09/11 11:55:00  florian
-    * improved arm code generation
-    * move some protected and private field around
-    * the temp. register for register parameters/arguments are now released
-      before the move to the parameter register is done. This improves
-      the code in a lot of cases.
-
-  Revision 1.18  2003/09/09 12:53:40  florian
-    * some assembling problems fixed
-    * improved loadaddr_ref_reg
-
-  Revision 1.17  2003/09/06 16:45:51  florian
-    * fixed exit code (no preindexed addressing mode in LDM)
-
-  Revision 1.16  2003/09/06 11:21:50  florian
-    * fixed stm and ldm to be usable with preindex operand
-
-  Revision 1.15  2003/09/05 23:57:01  florian
-    * arm is working again as before the new register naming scheme was implemented
-
-  Revision 1.14  2003/09/04 21:07:03  florian
-    * ARM compiler compiles again
-
-  Revision 1.13  2003/09/04 00:15:29  florian
-    * first bunch of adaptions of arm compiler for new register type
-
-  Revision 1.12  2003/09/03 19:10:30  florian
-    * initial revision of new register naming
-
-  Revision 1.11  2003/09/03 11:18:37  florian
-    * fixed arm concatcopy
-    + arm support in the common compiler sources added
-    * moved some generic cg code around
-    + tfputype added
-    * ...
-
-  Revision 1.10  2003/09/01 15:11:16  florian
-    * fixed reference handling
-    * fixed operand postfix for floating point instructions
-    * fixed wrong shifter constant handling
-
-  Revision 1.9  2003/09/01 09:54:57  florian
-    *  results of work on arm port last weekend
-
-  Revision 1.8  2003/08/29 21:36:28  florian
-    * fixed procedure entry/exit code
-    * started to fix reference handling
-
-  Revision 1.7  2003/08/28 13:26:10  florian
-    * another couple of arm fixes
-
-  Revision 1.6  2003/08/28 00:05:29  florian
-    * today's arm patches
-
-  Revision 1.5  2003/08/25 23:20:38  florian
-    + started to implement FPU support for the ARM
-    * fixed a lot of other things
-
-  Revision 1.4  2003/08/24 12:27:26  florian
-    * continued to work on the arm port
-
-  Revision 1.3  2003/08/21 03:14:00  florian
-    * arm compiler can be compiled; far from being working
-
-  Revision 1.2  2003/08/20 15:50:12  florian
-    * more arm stuff
-
-  Revision 1.1  2003/07/21 16:35:30  florian
-    * very basic stuff for the arm
 }

+ 4 - 92
compiler/arm/cpubase.pas

@@ -592,7 +592,10 @@ unit cpubase;
 end.
 {
   $Log$
-  Revision 1.30  2004-06-16 20:07:10  florian
+  Revision 1.31  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.30  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.29.2.3  2004/06/13 10:51:17  florian
@@ -608,95 +611,4 @@ end.
     * arm assembler instructions can have 4 operands
     * qword comparisations fixed
 
-  Revision 1.28  2004/03/13 18:45:40  florian
-    * floating compares fixed
-    * unary minus for floats fixed
-
-  Revision 1.27  2004/03/06 20:35:19  florian
-    * fixed arm compilation
-    * cleaned up code generation for exported linux procedures
-
-  Revision 1.26  2004/02/12 13:24:44  florian
-    * small compilation fix
-
-  Revision 1.25  2004/01/29 17:09:14  florian
-    * alignment issues fixed
-
-  Revision 1.24  2004/01/22 20:13:18  florian
-    * fixed several issues with flags
-
-  Revision 1.23  2004/01/21 19:01:03  florian
-    * fixed handling of max. distance of pc relative symbols
-
-  Revision 1.22  2003/12/26 14:02:30  peter
-    * sparc updates
-    * use registertype in spill_register
-
-  Revision 1.21  2003/12/18 17:06:21  florian
-    * arm compiler compilation fixed
-
-  Revision 1.20  2003/11/29 17:36:56  peter
-    * fixed is_move
-
-  Revision 1.19  2003/11/21 16:29:26  florian
-    * fixed reading of reg. sets in the arm assembler reader
-
-  Revision 1.18  2003/11/17 23:23:47  florian
-    + first part of arm assembler reader
-
-  Revision 1.17  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.16  2003/10/31 08:40:51  mazen
-  * rgHelper renamed to rgBase
-  * using findreg_by_<name|number>_table directly to decrease heap overheading
-
-  Revision 1.15  2003/10/30 15:02:04  mazen
-  * now uses standard routines in rgBase unit to search registers by number and by name
-
-  Revision 1.14  2003/09/05 23:57:01  florian
-    * arm is working again as before the new register naming scheme was implemented
-
-  Revision 1.13  2003/09/04 21:07:03  florian
-    * ARM compiler compiles again
-
-  Revision 1.12  2003/09/04 00:15:29  florian
-    * first bunch of adaptions of arm compiler for new register type
-
-  Revision 1.11  2003/09/03 19:10:30  florian
-    * initial revision of new register naming
-
-  Revision 1.10  2003/09/01 15:11:16  florian
-    * fixed reference handling
-    * fixed operand postfix for floating point instructions
-    * fixed wrong shifter constant handling
-
-  Revision 1.9  2003/08/29 21:36:28  florian
-    * fixed procedure entry/exit code
-    * started to fix reference handling
-
-  Revision 1.8  2003/08/28 00:05:29  florian
-    * today's arm patches
-
-  Revision 1.7  2003/08/25 23:20:38  florian
-    + started to implement FPU support for the ARM
-    * fixed a lot of other things
-
-  Revision 1.6  2003/08/24 12:27:26  florian
-    * continued to work on the arm port
-
-  Revision 1.5  2003/08/21 03:14:00  florian
-    * arm compiler can be compiled; far from being working
-
-  Revision 1.4  2003/08/20 15:50:13  florian
-    * more arm stuff
-
-  Revision 1.3  2003/08/16 13:23:01  florian
-    * several arm related stuff fixed
-
-  Revision 1.2  2003/07/26 00:55:57  florian
-    * basic stuff fixed
-
-  Revision 1.1  2003/07/21 16:35:30  florian
-    * very basic stuff for the arm
 }

+ 5 - 22
compiler/arm/cpuinfo.pas

@@ -97,7 +97,10 @@ Implementation
 end.
 {
   $Log$
-  Revision 1.8  2004-06-16 20:07:10  florian
+  Revision 1.9  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.8  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.7  2004/04/28 15:19:03  florian
@@ -111,24 +114,4 @@ end.
     * fixed arm compilation
     * cleaned up code generation for exported linux procedures
 
-  Revision 1.5  2003/12/01 18:43:32  peter
-    * s128real type is not compatible with s80real
-
-  Revision 1.4  2003/11/17 23:23:47  florian
-    + first part of arm assembler reader
-
-  Revision 1.3  2003/11/07 15:58:32  florian
-    * Florian's culmutative nr. 1; contains:
-      - invalid calling conventions for a certain cpu are rejected
-      - arm softfloat calling conventions
-      - -Sp for cpu dependend code generation
-      - several arm fixes
-      - remaining code for value open array paras on heap
-
-  Revision 1.2  2003/08/25 23:20:38  florian
-    + started to implement FPU support for the ARM
-    * fixed a lot of other things
-
-  Revision 1.1  2003/07/21 16:35:30  florian
-    * very basic stuff for the arm
-}
+}

+ 4 - 22
compiler/arm/cpunode.pas

@@ -46,29 +46,11 @@ unit cpunode;
 end.
 {
   $Log$
-  Revision 1.8  2004-03-21 22:40:15  florian
+  Revision 1.9  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.8  2004/03/21 22:40:15  florian
     + added interface support for the arm
     * added  FPC_REQUIRES_PROPER_ALIGNMENT define for targets which require proper alignment
 
-  Revision 1.7  2003/08/28 00:05:29  florian
-    * today's arm patches
-
-  Revision 1.6  2003/08/27 00:27:56  florian
-    + same procedure as very day: today's work on arm
-
-  Revision 1.5  2003/08/25 23:20:38  florian
-    + started to implement FPU support for the ARM
-    * fixed a lot of other things
-
-  Revision 1.4  2003/08/24 12:27:26  florian
-    * continued to work on the arm port
-
-  Revision 1.3  2003/08/21 23:24:08  florian
-    * continued to work on the arm skeleton
-
-  Revision 1.2  2003/08/21 03:14:00  florian
-    * arm compiler can be compiled; far from being working
-
-  Revision 1.1  2003/07/21 16:35:30  florian
-    * very basic stuff for the arm
 }

+ 4 - 55
compiler/arm/cpupara.pas

@@ -438,7 +438,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.18  2004-06-16 20:07:10  florian
+  Revision 1.19  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.18  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.17.2.1  2004/06/13 20:38:38  florian
@@ -455,58 +458,4 @@ end.
   Revision 1.15  2004/03/07 00:16:59  florian
     * compilation of arm rtl fixed
 
-  Revision 1.14  2004/02/09 22:48:45  florian
-    * several fixes to parameter handling on arm
-
-  Revision 1.13  2004/01/24 01:32:49  florian
-    * genintparaloc fixed
-
-  Revision 1.12  2004/01/20 23:18:00  florian
-    * fixed a_call_reg
-    + implemented paramgr.get_volative_registers
-
-  Revision 1.11  2003/12/18 17:06:21  florian
-    * arm compiler compilation fixed
-
-  Revision 1.10  2003/12/03 17:39:05  florian
-    * fixed several arm calling conventions issues
-    * fixed reference reading in the assembler reader
-    * fixed a_loadaddr_ref_reg
-
-  Revision 1.9  2003/11/07 15:58:32  florian
-    * Florian's culmutative nr. 1; contains:
-      - invalid calling conventions for a certain cpu are rejected
-      - arm softfloat calling conventions
-      - -Sp for cpu dependend code generation
-      - several arm fixes
-      - remaining code for value open array paras on heap
-
-  Revision 1.8  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.7  2003/09/11 11:55:00  florian
-    * improved arm code generation
-    * move some protected and private field around
-    * the temp. register for register parameters/arguments are now released
-      before the move to the parameter register is done. This improves
-      the code in a lot of cases.
-
-  Revision 1.6  2003/09/09 12:53:40  florian
-    * some assembling problems fixed
-    * improved loadaddr_ref_reg
-
-  Revision 1.5  2003/09/05 23:57:01  florian
-    * arm is working again as before the new register naming scheme was implemented
-
-  Revision 1.4  2003/09/04 00:15:29  florian
-    * first bunch of adaptions of arm compiler for new register type
-
-  Revision 1.3  2003/08/27 00:27:56  florian
-    + same procedure as very day: today's work on arm
-
-  Revision 1.2  2003/08/16 13:23:01  florian
-    * several arm related stuff fixed
-
-  Revision 1.1  2003/07/21 16:35:30  florian
-    * very basic stuff for the arm
 }

+ 4 - 17
compiler/arm/cpupi.pas

@@ -106,7 +106,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.8  2004-06-16 20:07:10  florian
+  Revision 1.9  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.8  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.7.2.2  2004/06/12 17:01:01  florian
@@ -124,21 +127,5 @@ end.
     * fixed arm compilation
     * cleaned up code generation for exported linux procedures
 
-  Revision 1.5  2003/12/03 17:39:05  florian
-    * fixed several arm calling conventions issues
-    * fixed reference reading in the assembler reader
-    * fixed a_loadaddr_ref_reg
-
-  Revision 1.4  2003/11/30 19:35:29  florian
-    * fixed several arm related problems
-
-  Revision 1.3  2003/11/24 15:17:37  florian
-    * changed some types to prevend range check errors
-
-  Revision 1.2  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.1  2003/08/20 15:50:13  florian
-    * more arm stuff
 }
 

+ 3 - 2
compiler/arm/cpuswtch.pas

@@ -119,6 +119,7 @@ initialization
 end.
 {
   $Log$
-  Revision 1.1  2003-08-20 15:50:13  florian
-    * more arm stuff
+  Revision 1.2  2004-06-20 08:55:31  florian
+    * logs truncated
+
 }

+ 3 - 2
compiler/arm/cputarg.pas

@@ -52,6 +52,7 @@ implementation
 end.
 {
   $Log$
-  Revision 1.1  2003-08-21 03:14:00  florian
-    * arm compiler can be compiled; far from being working
+  Revision 1.2  2004-06-20 08:55:31  florian
+    * logs truncated
+
 }

+ 4 - 14
compiler/arm/itcpugas.pas

@@ -113,21 +113,11 @@ implementation
 end.
 {
   $Log$
-  Revision 1.3  2004-03-13 18:45:40  florian
+  Revision 1.4  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.3  2004/03/13 18:45:40  florian
     * floating compares fixed
     * unary minus for floats fixed
 
-  Revision 1.2  2003/11/17 23:23:47  florian
-    + first part of arm assembler reader
-
-  Revision 1.1  2003/11/12 16:05:39  florian
-    * assembler readers OOPed
-    + typed currency constants
-    + typed 128 bit float constants if the CPU supports it
-
-  Revision 1.2  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.1  2003/09/04 00:15:29  florian
-    * first bunch of adaptions of arm compiler for new register type
 }

+ 4 - 31
compiler/arm/narmadd.pas

@@ -343,7 +343,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.14  2004-03-23 21:03:50  florian
+  Revision 1.15  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.14  2004/03/23 21:03:50  florian
     * arm assembler instructions can have 4 operands
     * qword comparisations fixed
 
@@ -362,34 +365,4 @@ end.
     + not(<int64>) implemented
     + small set comparisations implemented
 
-  Revision 1.9  2004/01/24 18:12:40  florian
-    * fixed several arm floating point issues
-
-  Revision 1.8  2004/01/23 00:01:48  florian
-    * another fix to flag handling
-
-  Revision 1.7  2004/01/22 20:13:18  florian
-    * fixed several issues with flags
-
-  Revision 1.6  2004/01/22 01:47:15  florian
-    * improved register usage
-    + implemented second_cmp64bit
-
-  Revision 1.5  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.4  2003/09/01 15:11:16  florian
-    * fixed reference handling
-    * fixed operand postfix for floating point instructions
-    * fixed wrong shifter constant handling
-
-  Revision 1.3  2003/09/01 09:54:57  florian
-    *  results of work on arm port last weekend
-
-  Revision 1.2  2003/08/25 23:20:38  florian
-    + started to implement FPU support for the ARM
-    * fixed a lot of other things
-
-  Revision 1.1  2003/08/21 03:14:00  florian
-    * arm compiler can be compiled; far from being working
 }

+ 2 - 11
compiler/arm/narmcal.pas

@@ -51,16 +51,7 @@ begin
 end.
 {
   $Log$
-  Revision 1.3  2003-11-02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
+  Revision 1.4  2004-06-20 08:55:31  florian
+    * logs truncated
 
-  Revision 1.2  2003/09/11 11:55:00  florian
-    * improved arm code generation
-    * move some protected and private field around
-    * the temp. register for register parameters/arguments are now released
-      before the move to the parameter register is done. This improves
-      the code in a lot of cases.
-
-  Revision 1.1  2003/08/27 00:27:56  florian
-    + same procedure as very day: today's work on arm
 }

+ 4 - 25
compiler/arm/narmcnv.pas

@@ -227,7 +227,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.9  2004-02-03 22:32:54  peter
+  Revision 1.10  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.9  2004/02/03 22:32:54  peter
     * renamed xNNbittype to xNNinttype
     * renamed registers32 to registersint
     * replace some s32bit,u32bit with torddef([su]inttype).def.typ
@@ -235,28 +238,4 @@ end.
   Revision 1.8  2004/01/22 20:13:18  florian
     * fixed several issues with flags
 
-  Revision 1.7  2003/11/30 19:35:29  florian
-    * fixed several arm related problems
-
-  Revision 1.6  2003/11/04 22:30:15  florian
-    + type cast variant<->enum
-    * cnv. node second pass uses now as well helper wrappers
-
-  Revision 1.5  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.4  2003/09/01 15:11:16  florian
-    * fixed reference handling
-    * fixed operand postfix for floating point instructions
-    * fixed wrong shifter constant handling
-
-  Revision 1.3  2003/09/01 09:54:57  florian
-    *  results of work on arm port last weekend
-
-  Revision 1.2  2003/08/25 23:20:38  florian
-    + started to implement FPU support for the ARM
-    * fixed a lot of other things
-
-  Revision 1.1  2003/08/21 23:24:08  florian
-    * continued to work on the arm skeleton
 }

+ 4 - 6
compiler/arm/narminl.pas

@@ -202,7 +202,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.6  2004-03-16 22:12:10  florian
+  Revision 1.7  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.6  2004/03/16 22:12:10  florian
     * some alignment issues resolved
     * compiler doesn't generate anymore instructions not supported by the linux fpe
 
@@ -219,9 +222,4 @@ end.
     * fixed symbol type writing for arm-linux
     * fixed assembler generation for abs
 
-  Revision 1.2  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.1  2003/08/28 00:05:29  florian
-    * today's arm patches
 }

+ 4 - 6
compiler/arm/narmmat.pas

@@ -122,16 +122,14 @@ begin
 end.
 {
   $Log$
-  Revision 1.6  2004-03-13 18:45:40  florian
+  Revision 1.7  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.6  2004/03/13 18:45:40  florian
     * floating compares fixed
     * unary minus for floats fixed
 
   Revision 1.5  2004/01/28 15:36:47  florian
     * fixed another couple of arm bugs
 
-  Revision 1.4  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.3  2003/08/27 00:27:56  florian
-    + same procedure as very day: today's work on arm
 }

+ 3 - 2
compiler/arm/raarm.pas

@@ -55,6 +55,7 @@ unit raarm;
 end.
 {
   $Log$
-  Revision 1.1  2003-11-17 23:23:47  florian
-    + first part of arm assembler reader
+  Revision 1.2  2004-06-20 08:55:31  florian
+    * logs truncated
+
 }

+ 4 - 22
compiler/arm/raarmgas.pas

@@ -748,32 +748,14 @@ initialization
 end.
 {
   $Log$
-  Revision 1.8  2004-03-02 00:36:33  olle
+  Revision 1.9  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.8  2004/03/02 00:36:33  olle
     * big transformation of Tai_[const_]Symbol.Create[data]name*
 
   Revision 1.7  2004/01/20 21:02:56  florian
     * fixed symbol type writing for arm-linux
     * fixed assembler generation for abs
 
-  Revision 1.6  2003/12/18 17:06:21  florian
-    * arm compiler compilation fixed
-
-  Revision 1.5  2003/12/08 17:43:57  florian
-    * fixed ldm/stm arm assembler reading
-    * fixed a_load_reg_reg with OS_8 on ARM
-    * non supported calling conventions cause only a warning now
-
-  Revision 1.4  2003/12/03 17:39:05  florian
-    * fixed several arm calling conventions issues
-    * fixed reference reading in the assembler reader
-    * fixed a_loadaddr_ref_reg
-
-  Revision 1.3  2003/11/24 15:17:37  florian
-    * changed some types to prevend range check errors
-
-  Revision 1.2  2003/11/21 16:29:26  florian
-    * fixed reading of reg. sets in the arm assembler reader
-
-  Revision 1.1  2003/11/17 23:23:47  florian
-    + first part of arm assembler reader
 }

+ 4 - 37
compiler/arm/rgcpu.pas

@@ -227,7 +227,10 @@ end.
 
 {
   $Log$
-  Revision 1.11  2004-06-16 20:07:10  florian
+  Revision 1.12  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.11  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.10.2.4  2004/06/13 20:38:38  florian
@@ -242,40 +245,4 @@ end.
   Revision 1.10.2.1  2004/06/12 17:01:01  florian
     * fixed compilation of arm compiler
 
-  Revision 1.10  2004/03/14 16:15:40  florian
-    * spilling problem fixed
-    * handling of floating point memory references fixed
-
-  Revision 1.9  2004/03/06 20:35:20  florian
-    * fixed arm compilation
-    * cleaned up code generation for exported linux procedures
-
-  Revision 1.8  2004/02/08 23:06:59  florian
-    * fixed compilation problem
-
-  Revision 1.7  2004/01/28 15:36:47  florian
-    * fixed another couple of arm bugs
-
-  Revision 1.6  2004/01/26 19:05:56  florian
-    * fixed several arm issues
-
-  Revision 1.5  2003/11/02 14:30:03  florian
-    * fixed ARM for new reg. allocation scheme
-
-  Revision 1.4  2003/09/11 11:55:00  florian
-    * improved arm code generation
-    * move some protected and private field around
-    * the temp. register for register parameters/arguments are now released
-      before the move to the parameter register is done. This improves
-      the code in a lot of cases.
-
-  Revision 1.3  2003/09/04 00:15:29  florian
-    * first bunch of adaptions of arm compiler for new register type
-
-  Revision 1.2  2003/08/25 23:20:38  florian
-    + started to implement FPU support for the ARM
-    * fixed a lot of other things
-
-  Revision 1.1  2003/08/16 13:23:01  florian
-    * several arm related stuff fixed
 }

+ 4 - 166
compiler/assemble.pas

@@ -1645,7 +1645,10 @@ Implementation
 end.
 {
   $Log$
-  Revision 1.68  2004-06-16 20:07:06  florian
+  Revision 1.69  2004-06-20 08:55:28  florian
+    * logs truncated
+
+  Revision 1.68  2004/06/16 20:07:06  florian
     * dwarf branch merged
 
   Revision 1.67  2004/05/21 22:43:36  peter
@@ -1662,169 +1665,4 @@ end.
   Revision 1.66.2.5  2004/04/29 23:30:28  peter
     * fix i386 compiler
 
-  Revision 1.66.2.4  2004/04/12 19:34:45  peter
-    * basic framework for dwarf CFI
-
-  Revision 1.66.2.3  2004/04/12 14:45:10  peter
-    * tai_const_symbol and tai_const merged
-
-  Revision 1.66.2.2  2004/04/10 12:36:41  peter
-    * fixed alignment issues
-
-  Revision 1.66.2.1  2004/04/08 18:33:22  peter
-    * rewrite of TAsmSection
-
-  Revision 1.66  2004/03/22 09:28:34  michael
-  + Patch from peter for stack overflow
-
-  Revision 1.65  2004/03/15 21:50:09  peter
-    * start with bssline
-
-  Revision 1.64  2004/03/02 17:32:12  florian
-    * make cycle fixed
-    + pic support for darwin
-    + support of importing vars from shared libs on darwin implemented
-
-  Revision 1.63  2004/03/02 00:36:33  olle
-    * big transformation of Tai_[const_]Symbol.Create[data]name*
-
-  Revision 1.62  2004/02/27 10:21:05  florian
-    * top_symbol killed
-    + refaddr to treference added
-    + refsymbol to treference added
-    * top_local stuff moved to an extra record to save memory
-    + aint introduced
-    * tppufile.get/putint64/aint implemented
-
-  Revision 1.61  2004/01/31 17:45:17  peter
-    * Change several $ifdef i386 to x86
-    * Change several OS_32 to OS_INT/OS_ADDR
-
-  Revision 1.60  2004/01/30 15:44:23  jonas
-    + support for piped assembling under Darwin
-
-  Revision 1.59  2003/11/10 17:22:28  marco
-   * havelinuxrtl10 fixes
-
-  Revision 1.58  2003/10/21 15:15:36  peter
-    * taicpu_abstract.oper[] changed to pointers
-
-  Revision 1.57  2003/10/03 14:16:48  marco
-   * -XP<prefix> support
-
-  Revision 1.56  2003/09/30 19:54:23  peter
-    * better link on target support
-
-  Revision 1.55  2003/09/23 17:56:05  peter
-    * locals and paras are allocated in the code generation
-    * tvarsym.localloc contains the location of para/local when
-      generating code for the current procedure
-
-  Revision 1.54  2003/09/03 15:55:00  peter
-    * NEWRA branch merged
-
-  Revision 1.53.2.1  2003/09/01 21:02:55  peter
-    * sparc updates for new tregister
-
-  Revision 1.53  2003/07/04 22:40:58  pierre
-   * add support for constant offset in stabs address, needed by threadvar debugging support
-
-  Revision 1.52  2003/04/23 13:48:07  peter
-    * m68k fix
-
-  Revision 1.51  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.50  2003/03/10 18:16:00  olle
-    * niceified comments
-
-  Revision 1.49  2003/01/10 21:49:00  marco
-   * more hasunix fixes
-
-  Revision 1.48  2002/11/24 18:21:49  carl
-    - remove some unused defines
-
-  Revision 1.47  2002/11/17 16:31:55  carl
-    * memory optimization (3-4%) : cleanup of tai fields,
-       cleanup of tdef and tsym fields.
-    * make it work for m68k
-
-  Revision 1.46  2002/11/15 01:58:46  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.45  2002/10/30 21:01:14  peter
-    * always include lineno after fileswitch. valgrind requires this
-
-  Revision 1.44  2002/09/05 19:29:42  peter
-    * memdebug enhancements
-
-  Revision 1.43  2002/08/20 16:55:38  peter
-    * don't write (stabs)line info when inlining a procedure
-
-  Revision 1.42  2002/08/12 15:08:39  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.41  2002/08/11 14:32:26  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.40  2002/08/11 13:24:10  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.39  2002/07/26 21:15:37  florian
-    * rewrote the system handling
-
-  Revision 1.38  2002/07/10 07:24:40  jonas
-    * memory leak fixes from Sergey Korshunoff
-
-  Revision 1.37  2002/07/01 18:46:21  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.36  2002/05/18 13:34:05  peter
-    * readded missing revisions
-
-  Revision 1.35  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.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
-  + more documentation
-
-  Revision 1.31  2002/04/04 19:05:54  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.30  2002/04/02 17:11:27  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
 }

+ 4 - 56
compiler/browcol.pas

@@ -2118,7 +2118,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.38  2004-06-16 20:07:07  florian
+  Revision 1.39  2004-06-20 08:55:28  florian
+    * logs truncated
+
+  Revision 1.38  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.37.2.1  2004/05/03 21:08:56  peter
@@ -2129,59 +2132,4 @@ end.
     * integer constants have the smallest type, unsigned prefered over
       signed
 
-  Revision 1.36  2003/10/01 20:34:48  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.35  2003/09/24 13:02:10  marco
-   * (Peter) patch to fix snapshot
-
-  Revision 1.34  2003/09/07 22:09:34  peter
-    * preparations for different default calling conventions
-    * various RA fixes
-
-  Revision 1.33  2003/04/26 00:29:17  peter
-    * adapted for removed funcretsym
-
-  Revision 1.32  2002/12/29 14:57:50  peter
-    * unit loading changed to first register units and load them
-      afterwards. This is needed to support uses xxx in yyy correctly
-    * unit dependency check fixed
-
-  Revision 1.31  2002/11/27 20:04:10  peter
-    * tvarsym.get_push_size replaced by paramanager.push_size
-
-  Revision 1.30  2002/11/24 18:17:29  carl
-    * fix compilation problems after my changes to tcontsym
-
-  Revision 1.29  2002/11/20 22:48:42  pierre
-   * fix compilation failure for IDE
-
-  Revision 1.28  2002/09/07 14:13:40  peter
-    * fixed procdef access
-
-  Revision 1.27  2002/08/25 19:25:18  peter
-    * sym.insert_in_data removed
-    * symtable.insertvardata/insertconstdata added
-    * removed insert_in_data call from symtable.insert, it needs to be
-      called separatly. This allows to deref the address calculation
-    * procedures now calculate the parast addresses after the procedure
-      directives are parsed. This fixes the cdecl parast problem
-    * push_addr_param has an extra argument that specifies if cdecl is used
-      or not
-
-  Revision 1.26  2002/07/02 06:09:08  michael
-  + Patch from peter to fix snapshots
-
-  Revision 1.25  2002/05/18 13:34:05  peter
-    * readded missing revisions
-
-  Revision 1.24  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
 }

+ 4 - 20
compiler/browlog.pas

@@ -516,26 +516,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.17  2004-02-11 22:00:10  peter
-    * fixed compile with -CR
-
-  Revision 1.16  2002/09/07 15:25:00  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.15  2002/08/20 10:31:26  daniel
-   * Tcallnode.det_resulttype rewritten
+  Revision 1.18  2004-06-20 08:55:28  florian
+    * logs truncated
 
-  Revision 1.14  2002/07/23 09:51:22  daniel
-  * Tried to make Tprocsym.defs protected. I didn't succeed but the cleanups
-    are worth comitting.
-
-  Revision 1.13  2002/05/18 13:34:05  peter
-    * readded missing revisions
-
-  Revision 1.12  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
+  Revision 1.17  2004/02/11 22:00:10  peter
+    * fixed compile with -CR
 
 }

+ 2 - 26
compiler/catch.pas

@@ -115,31 +115,7 @@ end.
 
 {
   $Log$
-  Revision 1.17  2003-11-10 17:22:28  marco
-   * havelinuxrtl10 fixes
-
-  Revision 1.16  2003/09/18 08:50:48  marco
-   * fix for snapshot building.
-
-  Revision 1.15  2003/09/14 20:26:18  marco
-   * Unix reform
-
-  Revision 1.14  2003/09/05 17:41:12  florian
-    * merged Wiktor's Watcom patches in 1.1
-
-  Revision 1.13  2003/04/23 10:10:31  peter
-    * unix signalhandler has longint argument
-
-  Revision 1.12  2003/01/10 21:37:48  marco
-   * beos shouldnt define hassignal (unix<-> hasunix problem)
-
-  Revision 1.11  2002/05/18 13:34:05  peter
-    * readded missing revisions
-
-  Revision 1.10  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
+  Revision 1.18  2004-06-20 08:55:28  florian
+    * logs truncated
 
 }

+ 5 - 106
compiler/cclasses.pas

@@ -2301,7 +2301,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.34  2004-06-16 20:07:07  florian
+  Revision 1.35  2004-06-20 08:55:28  florian
+    * logs truncated
+
+  Revision 1.34  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.33  2004/05/24 17:30:09  peter
@@ -2318,108 +2321,4 @@ end.
   Revision 1.30.2.3  2004/05/02 14:27:21  peter
     * use sizeof(pointer) instead of 4
 
-  Revision 1.30.2.2  2004/04/09 14:34:53  peter
-    * fixed compilation for win32
-
-  Revision 1.30.2.1  2004/04/08 18:33:22  peter
-    * rewrite of TAsmSection
-
-  Revision 1.30  2004/01/15 15:16:17  daniel
-    * Some minor stuff
-    * Managed to eliminate speed effects of string compression
-
-  Revision 1.29  2004/01/11 23:56:19  daniel
-    * Experiment: Compress strings to save memory
-      Did not save a single byte of mem; clearly the core size is boosted by
-      temporary memory usage...
-
-  Revision 1.28  2003/10/23 14:44:07  peter
-    * splitted buildderef and buildderefimpl to fix interface crc
-      calculation
-
-  Revision 1.27  2003/10/22 20:40:00  peter
-    * write derefdata in a separate ppu entry
-
-  Revision 1.26  2003/10/11 16:06:42  florian
-    * fixed some MMX<->SSE
-    * started to fix ppc, needs an overhaul
-    + stabs info improve for spilling, not sure if it works correctly/completly
-    - MMX_SUPPORT removed from Makefile.fpc
-
-  Revision 1.25  2003/09/29 20:52:50  peter
-    * insertbefore added
-
-  Revision 1.24  2003/09/24 13:02:10  marco
-   * (Peter) patch to fix snapshot
-
-  Revision 1.23  2003/06/09 12:19:34  peter
-    * insertlistafter added
-
-  Revision 1.22  2002/12/15 19:34:31  florian
-    + some front end stuff for vs_hidden added
-
-  Revision 1.21  2002/11/24 18:18:39  carl
-    - remove some unused defines
-
-  Revision 1.20  2002/10/05 12:43:23  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.19  2002/09/09 17:34:14  peter
-    * tdicationary.replace added to replace and item in a dictionary. This
-      is only allowed for the same name
-    * varsyms are inserted in symtable before the types are parsed. This
-      fixes the long standing "var longint : longint" bug
-    - consume_idlist and idstringlist removed. The loops are inserted
-      at the callers place and uses the symtable for duplicate id checking
-
-  Revision 1.18  2002/09/05 19:29:42  peter
-    * memdebug enhancements
-
-  Revision 1.17  2002/08/11 13:24:11  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.16  2002/08/09 19:08:53  carl
-    + fix incorrect comment in insertlistcopy
-
-  Revision 1.15  2002/07/01 18:46:21  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.14  2002/06/17 13:56:14  jonas
-    * tdictionary.rename() returns nil if the original object wasn't found
-      (reported by Sergey Korshunoff <[email protected]>)
-
-  Revision 1.13  2002/05/18 13:34:05  peter
-    * readded missing revisions
-
-  Revision 1.12  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-}
+}

+ 4 - 232
compiler/cg64f32.pas

@@ -753,7 +753,10 @@ unit cg64f32;
 end.
 {
   $Log$
-  Revision 1.60  2004-06-18 15:16:46  peter
+  Revision 1.61  2004-06-20 08:55:28  florian
+    * logs truncated
+
+  Revision 1.60  2004/06/18 15:16:46  peter
     * remove obsolete cardinal() typecasts
 
   Revision 1.59  2004/06/17 16:55:46  peter
@@ -768,235 +771,4 @@ end.
   Revision 1.57.2.4  2004/06/12 17:01:01  florian
     * fixed compilation of arm compiler
 
-  Revision 1.57.2.3  2004/05/01 16:02:09  peter
-    * POINTER_SIZE replaced with sizeof(aint)
-    * aint,aword,tconst*int moved to globtype
-
-  Revision 1.57.2.2  2004/04/29 19:07:22  peter
-    * compile fixes
-
-  Revision 1.57.2.1  2004/04/27 18:18:25  peter
-    * aword -> aint
-
-  Revision 1.57  2004/01/22 02:22:47  florian
-    * op_const_reg_reg with OP_SAR fixed
-
-  Revision 1.56  2003/12/24 00:10:02  florian
-    - delete parameter in cg64 methods removed
-
-  Revision 1.55  2003/12/07 15:00:45  jonas
-    * fixed g_rangecheck64 so it works again for big endian
-
-  Revision 1.54  2003/12/06 01:15:22  florian
-    * reverted Peter's alloctemp patch; hopefully properly
-
-  Revision 1.53  2003/12/03 23:13:19  peter
-    * delayed paraloc allocation, a_param_*() gets extra parameter
-      if it needs to allocate temp or real paralocation
-    * optimized/simplified int-real loading
-
-  Revision 1.52  2003/10/10 17:48:13  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.51  2003/10/09 21:31:37  daniel
-    * Register allocator splitted, ans abstract now
-
-  Revision 1.50  2003/10/01 20:34:48  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.49  2003/09/03 15:55:00  peter
-    * NEWRA branch merged
-
-  Revision 1.48.2.2  2003/08/28 18:35:07  peter
-    * tregister changed to cardinal
-
-  Revision 1.48.2.1  2003/08/27 20:23:55  peter
-    * remove old ra code
-
-  Revision 1.48  2003/07/02 22:18:04  peter
-    * paraloc splitted in callerparaloc,calleeparaloc
-    * sparc calling convention updates
-
-  Revision 1.47  2003/06/03 21:11:09  peter
-    * cg.a_load_* get a from and to size specifier
-    * makeregsize only accepts newregister
-    * i386 uses generic tcgnotnode,tcgunaryminus
-
-  Revision 1.46  2003/06/03 13:01:59  daniel
-    * Register allocator finished
-
-  Revision 1.45  2003/06/01 21:38:06  peter
-    * getregisterfpu size parameter added
-    * op_const_reg size parameter added
-    * sparc updates
-
-  Revision 1.44  2003/05/14 19:31:37  jonas
-    * fixed a_param64_reg
-
-  Revision 1.43  2003/04/27 14:48:09  jonas
-    * fixed Florian's quick hack :)
-    * fixed small bug 64bit range checking code
-
-  Revision 1.42  2003/04/27 09:10:49  florian
-    * quick fix for param64 for intel
-
-  Revision 1.41  2003/04/27 08:23:51  florian
-    * fixed parameter passing for 64 bit ints
-
-  Revision 1.40  2003/04/23 20:16:03  peter
-    + added currency support based on int64
-    + is_64bit for use in cg units instead of is_64bitint
-    * removed cgmessage from n386add, replace with internalerrors
-
-  Revision 1.39  2003/04/22 10:09:34  daniel
-    + Implemented the actual register allocator
-    + Scratch registers unavailable when new register allocator used
-    + maybe_save/maybe_restore unavailable when new register allocator used
-
-  Revision 1.38  2003/04/07 08:52:58  jonas
-    * fixed compiling error
-
-  Revision 1.37  2003/04/07 08:45:09  jonas
-    + generic a_op64_reg_ref implementation
-
-  Revision 1.36  2003/03/28 19:16:56  peter
-    * generic constructor working for i386
-    * remove fixed self register
-    * esi added as address register for i386
-
-  Revision 1.35  2003/02/19 22:00:14  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.34  2003/01/08 18:43:56  daniel
-   * Tregister changed into a record
-
-  Revision 1.33  2003/01/05 13:36:53  florian
-    * x86-64 compiles
-    + very basic support for float128 type (x86-64 only)
-
-  Revision 1.32  2002/11/25 17:43:16  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.31  2002/10/05 12:43:23  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.30  2002/09/17 18:54:01  jonas
-    * a_load_reg_reg() now has two size parameters: source and dest. This
-      allows some optimizations on architectures that don't encode the
-      register size in the register name.
-
-  Revision 1.29  2002/09/10 21:24:38  jonas
-    * fixed a_param64_ref
-
-  Revision 1.28  2002/09/07 15:25:00  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.27  2002/08/19 18:17:47  carl
-    + optimize64_op_const_reg implemented (optimizes 64-bit constant opcodes)
-    * more fixes to m68k for 64-bit operations
-
-  Revision 1.26  2002/08/17 22:09:43  florian
-    * result type handling in tcgcal.pass_2 overhauled
-    * better tnode.dowrite
-    * some ppc stuff fixed
-
-  Revision 1.25  2002/08/14 18:41:47  jonas
-    - remove valuelow/valuehigh fields from tlocation, because they depend
-      on the endianess of the host operating system -> difficult to get
-      right. Use lo/hi(location.valueint64) instead (remember to use
-      valueint64 and not value!!)
-
-  Revision 1.24  2002/08/11 14:32:26  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.23  2002/08/11 13:24:11  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.22  2002/07/28 15:57:15  jonas
-    * fixed a_load64_const_reg() for big endian systems
-
-  Revision 1.21  2002/07/20 11:57:52  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.20  2002/07/12 10:14:26  jonas
-    * some big-endian fixes
-
-  Revision 1.19  2002/07/11 07:23:17  jonas
-    + generic implementations of a_op64_ref_reg() and a_op64_const_ref()
-      (only works for processors with >2 scratch registers)
-
-  Revision 1.18  2002/07/10 11:12:44  jonas
-    * fixed a_op64_const_loc()
-
-  Revision 1.17  2002/07/07 09:52:32  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
-  Revision 1.16  2002/07/01 18:46:21  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.15  2002/07/01 16:23:52  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.14  2002/05/20 13:30:40  carl
-  * bugfix of hdisponen (base must be set, not index)
-  * more portability fixes
-
-  Revision 1.13  2002/05/18 13:34:05  peter
-    * readded missing revisions
-
-  Revision 1.12  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.9  2002/04/25 20:16:38  peter
-    * moved more routines from cga/n386util
-
-  Revision 1.8  2002/04/21 15:28:51  carl
-  * a_jmp_cond -> a_jmp_always
-
-  Revision 1.7  2002/04/07 13:21:18  carl
-  + more documentation
-
 }

+ 4 - 41
compiler/cg64f64.pas

@@ -271,7 +271,10 @@ unit cg64f64;
 end.
 {
   $Log$
-  Revision 1.12  2004-06-16 20:07:07  florian
+  Revision 1.13  2004-06-20 08:55:28  florian
+    * logs truncated
+
+  Revision 1.12  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.11.2.2  2004/04/27 18:18:25  peter
@@ -283,44 +286,4 @@ end.
   Revision 1.11  2004/01/13 18:08:58  florian
     * x86-64 compilation fixed
 
-  Revision 1.10  2003/12/24 00:10:02  florian
-    - delete parameter in cg64 methods removed
-
-  Revision 1.9  2003/12/22 19:00:17  florian
-    * fixed some x86-64 issues
-
-  Revision 1.8  2003/06/03 21:11:09  peter
-    * cg.a_load_* get a from and to size specifier
-    * makeregsize only accepts newregister
-    * i386 uses generic tcgnotnode,tcgunaryminus
-
-  Revision 1.7  2003/05/30 23:49:18  jonas
-    * a_load_loc_reg now has an extra size parameter for the destination
-      register (properly fixes what I worked around in revision 1.106 of
-      ncgutil.pas)
-
-  Revision 1.6  2003/01/05 13:36:53  florian
-    * x86-64 compiles
-    + very basic support for float128 type (x86-64 only)
-
-  Revision 1.5  2002/09/07 15:25:00  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.4  2002/08/19 18:17:48  carl
-    + optimize64_op_const_reg implemented (optimizes 64-bit constant opcodes)
-    * more fixes to m68k for 64-bit operations
-
-  Revision 1.3  2002/08/17 22:09:43  florian
-    * result type handling in tcgcal.pass_2 overhauled
-    * better tnode.dowrite
-    * some ppc stuff fixed
-
-  Revision 1.2  2002/07/01 16:23:52  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.1  2002/06/08 19:36:54  florian
-    * initial release
-
 }

+ 4 - 84
compiler/cgbase.pas

@@ -588,7 +588,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.89  2004-06-16 20:07:07  florian
+  Revision 1.90  2004-06-20 08:55:28  florian
+    * logs truncated
+
+  Revision 1.89  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.88.2.2  2004/05/01 16:02:09  peter
@@ -611,87 +614,4 @@ end.
     * tparalocation.lochigh is now used to indicate if registerhigh
       is used and what the type is
 
-  Revision 1.86  2004/01/12 22:11:38  peter
-    * use localalign info for alignment for locals and temps
-    * sparc fpu flags branching added
-    * moved powerpc copy_valye_openarray to generic
-
-  Revision 1.85  2004/01/12 16:35:05  peter
-    * R_SUB_FS added to make a difference between double and single
-      floats, required for sparc only
-
-  Revision 1.84  2004/01/09 22:02:29  daniel
-    * Degree=0 problem fixed
-    * Degree to high problem fixed
-
-  Revision 1.83  2003/12/25 01:07:09  florian
-    + $fputype directive support
-    + single data type operations with sse unit
-    * fixed more x86-64 stuff
-
-  Revision 1.82  2003/12/22 23:10:21  peter
-    * use low(longint) instead of $8000000
-
-  Revision 1.81  2003/12/21 19:42:42  florian
-    * fixed ppc inlining stuff
-    * fixed wrong unit writing
-    + added some sse stuff
-
-  Revision 1.80  2003/12/19 22:08:44  daniel
-    * Some work to restore the MMX capabilities
-
-  Revision 1.79  2003/12/15 21:25:48  peter
-    * reg allocations for imaginary register are now inserted just
-      before reg allocation
-    * tregister changed to enum to allow compile time check
-    * fixed several tregister-tsuperregister errors
-
-  Revision 1.78  2003/12/14 20:24:28  daniel
-    * Register allocator speed optimizations
-      - Worklist no longer a ringbuffer
-      - No find operations are left
-      - Simplify now done in constant time
-      - unusedregs is now a Tsuperregisterworklist
-      - Microoptimizations
-
-  Revision 1.77  2003/11/04 15:35:13  peter
-    * fix for referencecounted temps
-
-  Revision 1.76  2003/11/03 17:48:04  peter
-    * int_cgsize returned garbage for a=0
-
-  Revision 1.75  2003/10/31 15:51:11  peter
-    * USEINLINE directive added (not enabled yet)
-
-  Revision 1.74  2003/10/30 14:56:40  mazen
-  + add support for double float register vars
-
-  Revision 1.73  2003/10/29 15:07:01  mazen
-  * 32 registers are available
-
-  Revision 1.72  2003/10/24 15:21:31  peter
-    * renamed R_SUBF64 to R_SUBFD
-
-  Revision 1.71  2003/10/17 14:38:32  peter
-    * 64k registers supported
-    * fixed some memory leaks
-
-  Revision 1.70  2003/10/13 01:10:01  florian
-    * some ideas for mm support implemented
-
-  Revision 1.69  2003/10/11 16:06:42  florian
-    * fixed some MMX<->SSE
-    * started to fix ppc, needs an overhaul
-    + stabs info improve for spilling, not sure if it works correctly/completly
-    - MMX_SUPPORT removed from Makefile.fpc
-
-  Revision 1.68  2003/10/09 21:31:37  daniel
-    * Register allocator splitted, ans abstract now
-
-  Revision 1.67  2003/10/01 20:34:48  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
 }

+ 5 - 587
compiler/cgobj.pas

@@ -2174,7 +2174,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.165  2004-06-16 20:07:07  florian
+  Revision 1.166  2004-06-20 08:55:28  florian
+    * logs truncated
+
+  Revision 1.165  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.164  2004/05/22 23:34:27  peter
@@ -2189,589 +2192,4 @@ end.
   Revision 1.161.2.17  2004/06/13 10:51:16  florian
     * fixed several register allocator problems (sparc/arm)
 
-  Revision 1.161.2.16  2004/06/02 16:07:00  peter
-    * fixed op64_reg_reg_reg to not override src when src=dst
-
-  Revision 1.161.2.15  2004/05/30 17:54:13  florian
-    + implemented cmp64bit
-    * started to fix spilling
-    * fixed int64 sub partially
-
-  Revision 1.161.2.14  2004/05/30 12:07:54  florian
-    * fixed loading/saving of exception reason for CPUs where RETURN and RESULT registers of functions are differently named
-
-  Revision 1.161.2.13  2004/05/27 23:36:18  peter
-    * nostackframe procdirective added
-
-  Revision 1.161.2.12  2004/05/10 21:28:34  peter
-    * section_smartlink enabled for gas under linux
-
-  Revision 1.161.2.11  2004/05/03 19:06:34  peter
-    * fixed range checking
-
-  Revision 1.161.2.10  2004/05/02 20:20:59  florian
-    * started to fix callee side result value handling
-
-  Revision 1.161.2.9  2004/05/02 12:45:32  peter
-    * enabled cpuhasfixedstack for x86-64 again
-    * fixed size of temp allocation for parameters
-
-  Revision 1.161.2.8  2004/05/01 16:02:09  peter
-    * POINTER_SIZE replaced with sizeof(aint)
-    * aint,aword,tconst*int moved to globtype
-
-  Revision 1.161.2.7  2004/05/01 11:12:23  florian
-    * spilling of registers with size<>4 fixed
-
-  Revision 1.161.2.6  2004/04/28 21:46:22  peter
-    * fix 1.0.x bootstrap of maxaint
-
-  Revision 1.161.2.5  2004/04/27 18:18:25  peter
-    * aword -> aint
-
-  Revision 1.161.2.4  2004/04/26 16:09:16  peter
-    * fixed infinite loop with 64bit rangecheck
-
-  Revision 1.161.2.3  2004/04/26 15:54:33  peter
-    * small x86-64 fixes
-
-  Revision 1.161.2.2  2004/04/24 20:13:24  florian
-    * fixed x86-64 exception handling
-
-  Revision 1.161.2.1  2004/04/18 16:55:37  peter
-    * procedure entry and exit code restructured, some x86 specific
-      things are removed from the generic ncgutil code and moved to
-      the target depend cg.g_proc_entry and cg.g_proc_exit that now
-      contain all the code during startup including stackframe allocation
-      only the saving of registers is excluded from this code
-
-  Revision 1.161  2004/03/06 20:35:19  florian
-    * fixed arm compilation
-    * cleaned up code generation for exported linux procedures
-
-  Revision 1.160  2004/03/02 00:36:33  olle
-    * big transformation of Tai_[const_]Symbol.Create[data]name*
-
-  Revision 1.159  2004/02/27 10:21:05  florian
-    * top_symbol killed
-    + refaddr to treference added
-    + refsymbol to treference added
-    * top_local stuff moved to an extra record to save memory
-    + aint introduced
-    * tppufile.get/putint64/aint implemented
-
-  Revision 1.158  2004/02/20 22:16:34  florian
-    * handling of float parameters passed in mm registers fixed
-
-  Revision 1.157  2004/02/12 15:54:03  peter
-    * make extcycle is working again
-
-  Revision 1.156  2004/02/08 18:08:59  jonas
-    * fixed regvars support. Needs -doldregvars to activate. Only tested with
-      ppc, other processors should however only require maxregvars and
-      maxfpuregvars constants in cpubase.pas. Remember to take scratch-
-      registers into account when defining that value.
-
-  Revision 1.155  2004/02/04 22:01:13  peter
-    * first try to get cpupara working for x86_64
-
-  Revision 1.154  2004/02/03 22:32:53  peter
-    * renamed xNNbittype to xNNinttype
-    * renamed registers32 to registersint
-    * replace some s32bit,u32bit with torddef([su]inttype).def.typ
-
-  Revision 1.153  2004/01/31 17:45:17  peter
-    * Change several $ifdef i386 to x86
-    * Change several OS_32 to OS_INT/OS_ADDR
-
-  Revision 1.152  2004/01/22 22:12:21  peter
-    * g_finalize needs to reset to nil after decr_ref
-    * support loadref in decr_ref reset to nil
-
-  Revision 1.151  2004/01/21 22:13:20  peter
-    * decrrefcount resets temps to nil
-
-  Revision 1.150  2004/01/21 21:01:34  peter
-    * fixed stackchecking for register calling
-
-  Revision 1.149  2004/01/20 12:59:36  florian
-    * common addnode code for x86-64 and i386
-
-  Revision 1.148  2004/01/12 22:11:38  peter
-    * use localalign info for alignment for locals and temps
-    * sparc fpu flags branching added
-    * moved powerpc copy_valye_openarray to generic
-
-  Revision 1.147  2004/01/11 23:56:19  daniel
-    * Experiment: Compress strings to save memory
-      Did not save a single byte of mem; clearly the core size is boosted by
-      temporary memory usage...
-
-  Revision 1.146  2003/12/26 14:02:30  peter
-    * sparc updates
-    * use registertype in spill_register
-
-  Revision 1.145  2003/12/26 13:19:16  florian
-    * rtl and compiler compile with -Cfsse2
-
-  Revision 1.144  2003/12/24 00:10:02  florian
-    - delete parameter in cg64 methods removed
-
-  Revision 1.143  2003/12/23 14:38:07  florian
-    + second_floataddsse implemented
-
-  Revision 1.142  2003/12/22 19:00:17  florian
-    * fixed some x86-64 issues
-
-  Revision 1.141  2003/12/21 19:42:42  florian
-    * fixed ppc inlining stuff
-    * fixed wrong unit writing
-    + added some sse stuff
-
-  Revision 1.140  2003/12/15 21:39:39  florian
-    * improved register allocation of generic a_param_const and a_param_ref
-
-  Revision 1.139  2003/12/15 21:25:48  peter
-    * reg allocations for imaginary register are now inserted just
-      before reg allocation
-    * tregister changed to enum to allow compile time check
-    * fixed several tregister-tsuperregister errors
-
-  Revision 1.138  2003/12/12 17:16:17  peter
-    * rg[tregistertype] added in tcg
-
-  Revision 1.137  2003/12/06 22:11:47  jonas
-    + allocate volatile registers around calls to procedures declared with
-      "saveregisters" on non-x86 processors
-
-  Revision 1.136  2003/12/06 01:15:22  florian
-    * reverted Peter's alloctemp patch; hopefully properly
-
-  Revision 1.135  2003/12/03 23:13:19  peter
-    * delayed paraloc allocation, a_param_*() gets extra parameter
-      if it needs to allocate temp or real paralocation
-    * optimized/simplified int-real loading
-
-  Revision 1.134  2003/11/05 23:05:13  florian
-    * elesize of g_copyvaluepara_openarray changed
-    + g_releaesvaluepara_openarray added
-
-  Revision 1.133  2003/10/19 01:34:30  florian
-    * some ppc stuff fixed
-    * memory leak fixed
-
-  Revision 1.132  2003/10/17 15:25:18  florian
-    * fixed more ppc stuff
-
-  Revision 1.131  2003/10/17 14:38:32  peter
-    * 64k registers supported
-    * fixed some memory leaks
-
-  Revision 1.130  2003/10/13 01:23:13  florian
-    * some ideas for mm support implemented
-
-  Revision 1.129  2003/10/11 16:06:42  florian
-    * fixed some MMX<->SSE
-    * started to fix ppc, needs an overhaul
-    + stabs info improve for spilling, not sure if it works correctly/completly
-    - MMX_SUPPORT removed from Makefile.fpc
-
-  Revision 1.128  2003/10/10 17:48:13  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.127  2003/10/09 21:31:37  daniel
-    * Register allocator splitted, ans abstract now
-
-  Revision 1.126  2003/10/01 20:34:48  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.125  2003/09/28 17:55:03  peter
-    * parent framepointer changed to hidden parameter
-    * tloadparentfpnode added
-
-  Revision 1.124  2003/09/28 13:40:13  peter
-    * a_call_ref removed
-
-  Revision 1.123  2003/09/25 21:26:24  peter
-    * remove obsolete tparalocation.sp_fixup
-
-  Revision 1.122  2003/09/23 20:37:16  peter
-    * fpc_check_object(_ext) has saveregisters and doesn't need
-      saving of registers
-
-  Revision 1.121  2003/09/10 08:31:47  marco
-   * Patch from Peter for paraloc
-
-  Revision 1.120  2003/09/09 20:59:27  daniel
-    * Adding register allocation order
-
-  Revision 1.119  2003/09/07 22:09:34  peter
-    * preparations for different default calling conventions
-    * various RA fixes
-
-  Revision 1.118  2003/09/03 15:55:00  peter
-    * NEWRA branch merged
-
-  Revision 1.117  2003/09/03 11:18:36  florian
-    * fixed arm concatcopy
-    + arm support in the common compiler sources added
-    * moved some generic cg code around
-    + tfputype added
-    * ...
-
-  Revision 1.116.2.4  2003/08/29 17:28:59  peter
-    * next batch of updates
-
-  Revision 1.116.2.3  2003/08/28 18:35:07  peter
-    * tregister changed to cardinal
-
-  Revision 1.116.2.2  2003/08/27 20:23:55  peter
-    * remove old ra code
-
-  Revision 1.116.2.1  2003/08/27 19:55:54  peter
-    * first tregister patch
-
-  Revision 1.116  2003/08/17 16:59:20  jonas
-    * fixed regvars so they work with newra (at least for ppc)
-    * fixed some volatile register bugs
-    + -dnotranslation option for -dnewra, which causes the registers not to
-      be translated from virtual to normal registers. Requires support in
-      the assembler writer as well, which is only implemented in aggas/
-      agppcgas currently
-
-  Revision 1.115  2003/07/23 11:01:14  jonas
-    * several rg.allocexplicitregistersint/rg.deallocexplicitregistersint
-      pairs round calls to helpers
-
-  Revision 1.114  2003/07/06 17:58:22  peter
-    * framepointer fixes for sparc
-    * parent framepointer code more generic
-
-  Revision 1.113  2003/07/02 22:18:04  peter
-    * paraloc splitted in callerparaloc,calleeparaloc
-    * sparc calling convention updates
-
-  Revision 1.112  2003/06/13 21:19:30  peter
-    * current_procdef removed, use current_procinfo.procdef instead
-
-  Revision 1.111  2003/06/12 21:11:10  peter
-    * ungetregisterfpu gets size parameter
-
-  Revision 1.110  2003/06/12 16:43:07  peter
-    * newra compiles for sparc
-
-  Revision 1.109  2003/06/07 18:57:04  jonas
-    + added freeintparaloc
-    * ppc get/freeintparaloc now check whether the parameter regs are
-      properly allocated/deallocated (and get an extra list para)
-    * ppc a_call_* now internalerrors if pi_do_call is not yet set
-    * fixed lot of missing pi_do_call's
-
-  Revision 1.108  2003/06/06 14:43:02  peter
-    * g_copyopenarrayvalue gets length reference
-    * don't copy open arrays for cdecl
-
-  Revision 1.107  2003/06/03 21:11:09  peter
-    * cg.a_load_* get a from and to size specifier
-    * makeregsize only accepts newregister
-    * i386 uses generic tcgnotnode,tcgunaryminus
-
-  Revision 1.106  2003/06/03 13:01:59  daniel
-    * Register allocator finished
-
-  Revision 1.105  2003/06/01 21:38:06  peter
-    * getregisterfpu size parameter added
-    * op_const_reg size parameter added
-    * sparc updates
-
-  Revision 1.104  2003/06/01 01:02:39  peter
-    * generic a_call_ref
-
-  Revision 1.103  2003/05/30 23:57:08  peter
-    * more sparc cleanup
-    * accumulator removed, splitted in function_return_reg (called) and
-      function_result_reg (caller)
-
-  Revision 1.102  2003/05/30 23:49:18  jonas
-    * a_load_loc_reg now has an extra size parameter for the destination
-      register (properly fixes what I worked around in revision 1.106 of
-      ncgutil.pas)
-
-  Revision 1.101  2003/05/30 21:40:00  jonas
-    * fixed bug in a_load_loc_ref (the source instead of dest size was passed
-      to a_load_reg_ref in case of a register)
-
-  Revision 1.100  2003/05/30 12:36:13  jonas
-    * use as little different registers on the ppc until newra is released,
-      since every used register must be saved
-
-  Revision 1.99  2003/05/23 14:27:35  peter
-    * remove some unit dependencies
-    * current_procinfo changes to store more info
-
-  Revision 1.98  2003/05/15 18:58:53  peter
-    * removed selfpointer_offset, vmtpointer_offset
-    * tvarsym.adjusted_address
-    * address in localsymtable is now in the real direction
-    * removed some obsolete globals
-
-  Revision 1.97  2003/05/13 19:14:41  peter
-    * failn removed
-    * inherited result code check moven to pexpr
-
-  Revision 1.96  2003/05/11 21:37:03  peter
-    * moved implicit exception frame from ncgutil to psub
-    * constructor/destructor helpers moved from cobj/ncgutil to psub
-
-  Revision 1.95  2003/05/09 17:47:02  peter
-    * self moved to hidden parameter
-    * removed hdisposen,hnewn,selfn
-
-  Revision 1.94  2003/05/01 12:23:46  jonas
-    * fix for op_reg_reg_reg in case the destination is the same as the first
-      source register
-
-  Revision 1.93  2003/04/29 07:28:52  michael
-  + Patch from peter to fix wrong pushing of ansistring function results in open array
-
-  Revision 1.92  2003/04/27 11:21:32  peter
-    * aktprocdef renamed to current_procinfo.procdef
-    * procinfo renamed to current_procinfo
-    * procinfo will now be stored in current_module so it can be
-      cleaned up properly
-    * gen_main_procsym changed to create_main_proc and release_main_proc
-      to also generate a tprocinfo structure
-    * fixed unit implicit initfinal
-
-  Revision 1.91  2003/04/27 07:29:50  peter
-    * current_procinfo.procdef cleanup, current_procdef is now always nil when parsing
-      a new procdef declaration
-    * aktprocsym removed
-    * lexlevel removed, use symtable.symtablelevel instead
-    * implicit init/final code uses the normal genentry/genexit
-    * funcret state checking updated for new funcret handling
-
-  Revision 1.90  2003/04/26 20:57:17  florian
-    * fixed para locations of fpc_class_new helper call
-
-  Revision 1.89  2003/04/26 17:21:08  florian
-    * fixed passing of fpu values by fpu register
-
-  Revision 1.88  2003/04/23 20:16:03  peter
-    + added currency support based on int64
-    + is_64bit for use in cg units instead of is_64bitint
-    * removed cgmessage from n386add, replace with internalerrors
-
-  Revision 1.87  2003/04/23 14:42:07  daniel
-    * Further register allocator work. Compiler now smaller with new
-      allocator than without.
-    * Somebody forgot to adjust ppu version number
-
-  Revision 1.86  2003/04/23 13:20:34  peter
-    * fix self passing to fpc_help_fail
-
-  Revision 1.85  2003/04/23 12:35:34  florian
-    * fixed several issues with powerpc
-    + applied a patch from Jonas for nested function calls (PowerPC only)
-    * ...
-
-  Revision 1.84  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.83  2003/04/22 13:47:08  peter
-    * fixed C style array of const
-    * fixed C array passing
-    * fixed left to right with high parameters
-
-  Revision 1.82  2003/04/22 10:09:34  daniel
-    + Implemented the actual register allocator
-    + Scratch registers unavailable when new register allocator used
-    + maybe_save/maybe_restore unavailable when new register allocator used
-
-  Revision 1.81  2003/04/06 21:11:23  olle
-    * changed newasmsymbol to newasmsymboldata for data symbols
-
-  Revision 1.80  2003/03/28 19:16:56  peter
-    * generic constructor working for i386
-    * remove fixed self register
-    * esi added as address register for i386
-
-  Revision 1.79  2003/03/22 18:07:18  jonas
-    + add used scratch registers to usedintbyproc for non-i386
-
-  Revision 1.78  2003/03/11 21:46:24  jonas
-    * lots of new regallocator fixes, both in generic and ppc-specific code
-      (ppc compiler still can't compile the linux system unit though)
-
-  Revision 1.77  2003/02/19 22:00:14  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.76  2003/01/31 22:47:48  peter
-    * maybe_testself now really uses the passed register
-
-  Revision 1.75  2003/01/30 21:46:35  peter
-    * maybe_testvmt added
-
-  Revision 1.74  2003/01/17 12:45:40  daniel
-    * Fixed internalerror 200301081 problem
-
-  Revision 1.73  2003/01/13 14:54:34  daniel
-    * Further work to convert codegenerator register convention;
-      internalerror bug fixed.
-
-  Revision 1.72  2003/01/09 22:00:53  florian
-    * fixed some PowerPC issues
-
-  Revision 1.71  2003/01/09 20:41:10  florian
-    * fixed broken PowerPC compiler
-
-  Revision 1.70  2003/01/08 18:43:56  daniel
-   * Tregister changed into a record
-
-  Revision 1.69  2002/12/24 15:56:50  peter
-    * stackpointer_alloc added for adjusting ESP. Win32 needs
-      this for the pageprotection
-
-  Revision 1.68  2002/12/20 18:14:04  peter
-    * removed some runerror and writeln
-
-  Revision 1.67  2002/12/14 15:02:03  carl
-    * maxoperands -> max_operands (for portability in rautils.pas)
-    * fix some range-check errors with loadconst
-    + add ncgadd unit to m68k
-    * some bugfix of a_param_reg with LOC_CREFERENCE
-
-  Revision 1.66  2002/11/25 17:43:16  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.65  2002/11/17 16:27:31  carl
-    * document flags2reg
-
-  Revision 1.64  2002/11/16 17:06:28  peter
-    * return error 210 for failed self test
-
-  Revision 1.63  2002/11/15 01:58:46  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.62  2002/10/16 19:01:43  peter
-    + $IMPLICITEXCEPTIONS switch to turn on/off generation of the
-      implicit exception frames for procedures with initialized variables
-      and for constructors. The default is on for compatibility
-
-  Revision 1.61  2002/10/05 12:43:23  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.60  2002/10/02 18:20:52  peter
-    * Copy() is now internal syssym that calls compilerprocs
-
-  Revision 1.59  2002/09/17 18:54:02  jonas
-    * a_load_reg_reg() now has two size parameters: source and dest. This
-      allows some optimizations on architectures that don't encode the
-      register size in the register name.
-
-  Revision 1.58  2002/09/09 19:29:29  peter
-    * fixed dynarr_decr_ref call
-
-  Revision 1.57  2002/09/07 15:25:01  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.56  2002/09/01 21:04:47  florian
-    * several powerpc related stuff fixed
-
-  Revision 1.55  2002/09/01 17:05:43  florian
-    + added abstract tcg.g_removevaluepara_openarray
-
-  Revision 1.54  2002/09/01 12:09:27  peter
-    + a_call_reg, a_call_loc added
-    * removed exprasmlist references
-
-  Revision 1.53  2002/08/19 18:17:48  carl
-    + optimize64_op_const_reg implemented (optimizes 64-bit constant opcodes)
-    * more fixes to m68k for 64-bit operations
-
-  Revision 1.52  2002/08/17 22:09:43  florian
-    * result type handling in tcgcal.pass_2 overhauled
-    * better tnode.dowrite
-    * some ppc stuff fixed
-
-  Revision 1.51  2002/08/17 09:23:33  florian
-    * first part of procinfo rewrite
-
-  Revision 1.50  2002/08/16 14:24:57  carl
-    * issameref() to test if two references are the same (then emit no opcodes)
-    + ret_in_reg to replace ret_in_acc
-      (fix some register allocation bugs at the same time)
-    + save_std_register now has an extra parameter which is the
-      usedinproc registers
-
-  Revision 1.49  2002/08/15 08:13:54  carl
-    - a_load_sym_ofs_reg removed
-    * loadvmt now calls loadaddr_ref_reg instead
-
-  Revision 1.48  2002/08/14 19:26:02  carl
-    + routine to optimize opcodes with constants
-
-  Revision 1.47  2002/08/11 14:32:26  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.46  2002/08/11 13:24:11  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.45  2002/08/10 17:15:20  jonas
-    * register parameters are now LOC_CREGISTER instead of LOC_REGISTER
-
-  Revision 1.44  2002/08/09 19:10:05  carl
-    - moved new_exception and free_exception to ncgutils
-
-  Revision 1.43  2002/08/05 18:27:48  carl
-    + more more more documentation
-    + first version include/exclude (can't test though, not enough scratch for i386 :()...
-
-  Revision 1.42  2002/08/04 19:08:21  carl
-    + added generic exception support (still does not work!)
-    + more documentation
-
-  Revision 1.41  2002/07/30 20:50:43  florian
-    * the code generator knows now if parameters are in registers
-
-  Revision 1.40  2002/07/29 21:16:02  florian
-    * some more ppc fixes
-
-  Revision 1.39  2002/07/28 15:56:00  jonas
-    + tcg64.a_op64_const_reg_reg() and tcg64.a_op64_reg_reg_reg() methods +
-      generic implementation
-
-  Revision 1.38  2002/07/27 19:53:51  jonas
-    + generic implementation of tcg.g_flags2ref()
-    * tcg.flags2xxx() now also needs a size parameter
-
-  Revision 1.37  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
-
-}
+}

+ 2 - 12
compiler/charset.pas

@@ -267,17 +267,7 @@ finalization
 end.
 {
   $Log$
-  Revision 1.4  2003-04-22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.3  2002/10/05 12:43:24  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.2  2002/09/07 15:25:02  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.1  2002/07/20 17:11:48  florian
-    + source code page support
+  Revision 1.5  2004-06-20 08:55:29  florian
+    * logs truncated
 
 }

+ 4 - 23
compiler/cmsgs.pas

@@ -418,7 +418,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.11  2004-06-16 20:07:07  florian
+  Revision 1.12  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.11  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.10.2.1  2004/05/02 14:09:54  peter
@@ -432,26 +435,4 @@ end.
   Revision 1.9  2004/01/28 15:36:46  florian
     * fixed another couple of arm bugs
 
-  Revision 1.8  2003/05/10 23:57:23  florian
-    * vmtpointer_offset must be adjusted in after_pass1 as well
-
-  Revision 1.7  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.6  2002/05/18 13:34:06  peter
-    * readded missing revisions
-
-  Revision 1.5  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.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()
-
 }

+ 2 - 39
compiler/comphook.pas

@@ -385,44 +385,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.26  2003-04-26 19:32:31  peter
-    * print lineinfo for internalerror
-
-  Revision 1.25  2003/02/15 22:20:43  carl
-   + give line number of internal error
-
-  Revision 1.24  2003/01/09 21:52:37  peter
-    * merged some verbosity options.
-    * V_LineInfo is a verbosity flag to include line info
-
-  Revision 1.23  2002/12/29 14:57:50  peter
-    * unit loading changed to first register units and load them
-      afterwards. This is needed to support uses xxx in yyy correctly
-    * unit dependency check fixed
-
-  Revision 1.22  2002/12/20 18:14:23  peter
-    * traceback added in EXTDEBUG mode for internalerror
-
-  Revision 1.21  2002/11/15 01:58:46  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.20  2002/09/05 19:29:42  peter
-    * memdebug enhancements
-
-  Revision 1.19  2002/05/18 13:34:06  peter
-    * readded missing revisions
-
-  Revision 1.18  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
+  Revision 1.27  2004-06-20 08:55:29  florian
+    * logs truncated
 
 }

+ 4 - 88
compiler/compiler.pas

@@ -426,95 +426,11 @@ end;
 end.
 {
   $Log$
-  Revision 1.44  2004-01-14 23:39:05  florian
+  Revision 1.45  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.44  2004/01/14 23:39:05  florian
     * another bunch of x86-64 fixes mainly calling convention and
       assembler reader related
 
-  Revision 1.43  2003/12/04 10:46:19  mazen
-  + added support for spac assembler reader
-
-  Revision 1.42  2003/11/17 23:23:47  florian
-    + first part of arm assembler reader
-
-  Revision 1.41  2003/11/12 16:05:39  florian
-    * assembler readers OOPed
-    + typed currency constants
-    + typed 128 bit float constants if the CPU supports it
-
-  Revision 1.40  2003/09/05 17:41:12  florian
-    * merged Wiktor's Watcom patches in 1.1
-
-  Revision 1.39  2003/09/03 11:18:36  florian
-    * fixed arm concatcopy
-    + arm support in the common compiler sources added
-    * moved some generic cg code around
-    + tfputype added
-    * ...
-
-  Revision 1.38  2003/05/22 21:39:51  peter
-    * add cgcpu
-
-  Revision 1.37  2003/03/23 23:20:38  hajny
-    + emx target added
-
-  Revision 1.36  2003/02/02 19:25:54  carl
-    * Several bugfixes for m68k target (register alloc., opcode emission)
-    + VIS target
-    + Generic add more complete (still not verified)
-
-  Revision 1.35  2002/09/05 19:28:31  peter
-    * removed repetitive pass counting
-    * display heapsize also for extdebug
-
-  Revision 1.34  2002/08/17 09:23:34  florian
-    * first part of procinfo rewrite
-
-  Revision 1.33  2002/07/26 21:15:37  florian
-    * rewrote the system handling
-
-  Revision 1.32  2002/07/11 14:41:27  florian
-    * start of the new generic parameter handling
-
-  Revision 1.31  2002/07/04 19:00:23  florian
-    + x86_64 define added
-
-  Revision 1.30  2002/07/01 18:46:22  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.29  2002/05/18 13:34:06  peter
-    * readded missing revisions
-
-  Revision 1.28  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.25  2002/04/15 19:53:54  peter
-    * fixed conflicts between the last 2 commits
-
-  Revision 1.24  2002/04/15 18:56:42  carl
-  + InitAsm
-
-  Revision 1.23  2002/03/24 19:05:31  carl
-  + patch for SPARC from Mazen NEIFER
-
 }

+ 4 - 22
compiler/compinnr.inc

@@ -109,28 +109,10 @@ const
 
 {
   $Log$
-  Revision 1.12  2004-02-02 20:41:59  florian
-    + added prefetch(const mem) support
-
-  Revision 1.11  2003/11/29 16:19:54  peter
-    * Initialize() added
-
-  Revision 1.10  2002/11/18 18:35:01  peter
-    * Swap(QWord) constant support
-
-  Revision 1.9  2002/10/02 18:20:52  peter
-    * Copy() is now internal syssym that calls compilerprocs
+  Revision 1.13  2004-06-20 08:55:29  florian
+    * logs truncated
 
-  Revision 1.8  2002/07/16 15:34:20  florian
-    * exit is now a syssym instead of a keyword
-
-  Revision 1.7  2002/05/18 13:34:06  peter
-    * readded missing revisions
-
-  Revision 1.6  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
+  Revision 1.12  2004/02/02 20:41:59  florian
+    + added prefetch(const mem) support
 
 }

+ 2 - 27
compiler/comprsrc.pas

@@ -155,32 +155,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.19  2003-10-08 17:54:23  florian
-    * fixed resource compiler search if no utilty directory was given
-
-  Revision 1.18  2003/03/23 23:20:38  hajny
-    + emx target added
-
-  Revision 1.17  2003/01/30 21:45:40  peter
-    * path fix (merged)
-
-  Revision 1.16  2003/01/12 15:42:23  peter
-    * m68k pathexist update from 1.0.x
-    * palmos res update from 1.0.x
-
-  Revision 1.15  2002/07/26 21:15:37  florian
-    * rewrote the system handling
-
-  Revision 1.14  2002/05/18 13:34:06  peter
-    * readded missing revisions
-
-  Revision 1.13  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.11  2002/04/04 18:32:37  carl
-  + added wdosx support (patch from Pavel)
+  Revision 1.20  2004-06-20 08:55:29  florian
+    * logs truncated
 
 }

+ 2 - 8
compiler/crc.pas

@@ -101,13 +101,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.9  2002-05-18 13:34:06  peter
-    * readded missing revisions
-
-  Revision 1.8  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
+  Revision 1.10  2004-06-20 08:55:29  florian
+    * logs truncated
 
 }

+ 5 - 51
compiler/cresstr.pas

@@ -295,7 +295,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.24  2004-06-16 20:07:07  florian
+  Revision 1.25  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.24  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.23  2004/05/23 15:23:30  peter
@@ -313,53 +316,4 @@ end.
   Revision 1.22.2.1  2004/04/12 14:45:11  peter
     * tai_const_symbol and tai_const merged
 
-  Revision 1.22  2004/03/02 00:36:33  olle
-    * big transformation of Tai_[const_]Symbol.Create[data]name*
-
-  Revision 1.21  2004/02/26 16:16:38  peter
-    * tai_const.create_ptr added
-
-  Revision 1.20  2003/12/29 19:31:20  florian
-    * fixed error message, if a resource file can't be written
-
-  Revision 1.19  2003/12/08 22:34:24  peter
-    * tai_const.create_32bit changed to cardinal
-
-  Revision 1.18  2003/10/29 19:48:50  peter
-    * renamed mangeldname_prefix to make_mangledname and made it more
-      generic
-    * make_mangledname is now also used for internal threadvar/resstring
-      lists
-    * Add P$ in front of program modulename to prevent duplicated symbols
-      at assembler level, because the main program can have the same name
-      as a unit, see webtbs/tw1251b
-
-  Revision 1.17  2002/11/09 15:39:03  carl
-    + resource string tables are now aligned
-
-  Revision 1.16  2002/08/11 14:32:26  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.15  2002/08/11 13:24:11  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.14  2002/07/01 18:46:22  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.13  2002/05/18 13:34:06  peter
-    * readded missing revisions
-
-  Revision 1.12  2002/05/16 19:46:35  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-}
+}

+ 4 - 15
compiler/cstreams.pas

@@ -614,7 +614,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.7  2004-06-16 20:07:07  florian
+  Revision 1.8  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.7  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.6.2.2  2004/04/29 19:07:22  peter
@@ -623,18 +626,4 @@ end.
   Revision 1.6.2.1  2004/04/28 21:46:56  peter
     * compile fixes for x86-64
 
-  Revision 1.6  2002/07/01 16:23:52  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.5  2002/05/18 13:34:06  peter
-    * readded missing revisions
-
-  Revision 1.4  2002/05/16 19:46:36  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
-
 }

+ 5 - 98
compiler/cutils.pas

@@ -1191,7 +1191,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.40  2004-06-16 20:07:07  florian
+  Revision 1.41  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.40  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.39  2004/05/22 23:33:18  peter
@@ -1206,100 +1209,4 @@ end.
   Revision 1.38.2.1  2004/04/20 16:35:58  peter
     * generate dwarf for stackframe entry
 
-  Revision 1.38  2004/03/29 19:19:35  florian
-    + arm floating point register saving implemented
-    * hopefully stabs generation for MacOSX fixed
-    + some defines for arm added
-
-  Revision 1.37  2004/03/22 09:28:34  michael
-  + Patch from peter for stack overflow
-
-  Revision 1.36  2004/02/27 10:21:05  florian
-    * top_symbol killed
-    + refaddr to treference added
-    + refsymbol to treference added
-    * top_local stuff moved to an extra record to save memory
-    + aint introduced
-    * tppufile.get/putint64/aint implemented
-
-  Revision 1.35  2004/02/22 22:13:27  daniel
-    * Escape newlines in constant string stabs
-
-  Revision 1.34  2004/01/26 22:08:20  daniel
-    * Bugfix on constant strings stab generation. Never worked and still
-      doesn't work for unknown reasons.
-
-  Revision 1.33  2004/01/25 13:18:59  daniel
-    * Made varags parameter constant
-
-  Revision 1.32  2004/01/25 11:33:48  daniel
-    * 2nd round of gdb cleanup
-
-  Revision 1.31  2004/01/15 15:16:18  daniel
-    * Some minor stuff
-    * Managed to eliminate speed effects of string compression
-
-  Revision 1.30  2004/01/11 23:56:19  daniel
-    * Experiment: Compress strings to save memory
-      Did not save a single byte of mem; clearly the core size is boosted by
-      temporary memory usage...
-
-  Revision 1.29  2003/10/31 15:51:11  peter
-    * USEINLINE directive added (not enabled yet)
-
-  Revision 1.28  2003/09/03 15:55:00  peter
-    * NEWRA branch merged
-
-  Revision 1.27.2.2  2003/08/29 17:28:59  peter
-    * next batch of updates
-
-  Revision 1.27.2.1  2003/08/29 09:41:25  daniel
-    * Further mkx86reg development
-
-  Revision 1.27  2003/07/05 20:06:28  jonas
-    * fixed some range check errors that occurred on big endian systems
-    * slightly optimized the swap*() functions
-
-  Revision 1.26  2003/04/04 15:34:25  peter
-    * quote names with hi-ascii chars
-
-  Revision 1.25  2003/01/09 21:42:27  peter
-    * realtostr added
-
-  Revision 1.24  2002/12/27 18:05:27  peter
-    * support quotes in gettoken
-
-  Revision 1.23  2002/10/05 12:43:24  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.22  2002/09/05 19:29:42  peter
-    * memdebug enhancements
-
-  Revision 1.21  2002/07/26 11:16:35  jonas
-    * fixed (actual and potential) range errors
-
-  Revision 1.20  2002/07/07 11:13:34  carl
-    * range check error fix (patch from Sergey)
-
-  Revision 1.19  2002/07/07 09:52:32  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
-  Revision 1.18  2002/07/01 18:46:22  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.17  2002/05/18 13:34:07  peter
-    * readded missing revisions
-
-  Revision 1.16  2002/05/16 19:46:36  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.14  2002/04/12 17:16:35  carl
-  + more documentation of basic unit
-
-}
+}

+ 4 - 175
compiler/defcmp.pas

@@ -1275,7 +1275,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.50  2004-04-12 11:26:10  peter
+  Revision 1.51  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.50  2004/04/12 11:26:10  peter
     * voidpointer can be converted to dynarray
 
   Revision 1.49  2004/03/04 17:22:32  peter
@@ -1291,178 +1294,4 @@ end.
   Revision 1.46  2004/02/15 12:18:22  peter
     * allow real_2_real conversion for realconstn, fixes 2971
 
-  Revision 1.45  2004/02/13 15:42:21  peter
-    * compare_defs_ext has now a options argument
-    * fixes for variants
-
-  Revision 1.44  2004/02/04 22:15:15  daniel
-    * Rtti generation moved to ncgutil
-    * Assmtai usage of symsym removed
-    * operator overloading cleanup up
-
-  Revision 1.43  2004/01/31 14:50:54  peter
-    * prefere tobject-tobject over tobject-pointer
-
-  Revision 1.42  2004/01/14 21:44:16  peter
-    * give penalty in float-float conversion when precision is lost
-
-  Revision 1.41  2004/01/06 02:17:44  florian
-    * fixed webbug 2878
-
-  Revision 1.40  2004/01/02 17:19:04  jonas
-    * if currency = int64, FPC_CURRENCY_IS_INT64 is defined
-    + round and trunc for currency and comp if FPC_CURRENCY_IS_INT64 is
-      defined
-    * if currency = orddef, prefer currency -> int64/qword conversion over
-      currency -> float conversions
-    * optimized currency/currency if currency = orddef
-    * TODO: write FPC_DIV_CURRENCY and FPC_MUL_CURRENCY routines to prevent
-        precision loss if currency=int64 and bestreal = double
-
-  Revision 1.39  2003/12/16 09:41:44  daniel
-    * Automatic conversion from integer constants to pointer constants is no
-      longer done except in Delphi mode
-
-  Revision 1.38  2003/11/26 15:11:42  michael
-  + Patch to prefer getpropinfo(ptypeinfo,name) over getpropinfo(tobject,name) when called with getpropinfo(aclass.classinfo) from Peter
-
-  Revision 1.37  2003/11/10 19:09:29  peter
-    * procvar default value support
-
-  Revision 1.36  2003/11/04 22:30:15  florian
-    + type cast variant<->enum
-    * cnv. node second pass uses now as well helper wrappers
-
-  Revision 1.35  2003/10/30 16:23:13  peter
-    * don't search for overloads in parents for constructors
-
-  Revision 1.34  2003/10/26 14:11:35  florian
-    * fixed web bug 2129: explicit float casts in Delphi mode must be handled by the default code
-
-  Revision 1.33  2003/10/14 12:23:06  florian
-    * fixed 2729: overloading problem with methodvars and procvars
-
-  Revision 1.32  2003/10/10 17:48:13  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.31  2003/10/07 21:14:32  peter
-    * compare_paras() has a parameter to ignore hidden parameters
-    * cross unit overload searching ignores hidden parameters when
-      comparing parameter lists. Now function(string):string is
-      not overriden with procedure(string) which has the same visible
-      parameter list
-
-  Revision 1.30  2003/10/05 13:05:05  peter
-    * when comparing hidden parameters both must be hidden
-
-  Revision 1.29  2003/10/05 12:57:11  peter
-    * set correct conversion for subranges
-
-  Revision 1.28  2003/09/09 21:03:17  peter
-    * basics for x86 register calling
-
-  Revision 1.27  2003/06/03 21:02:08  peter
-    * allow pointer(int64) in all modes
-
-  Revision 1.26  2003/05/26 21:17:17  peter
-    * procinlinenode removed
-    * aktexit2label removed, fast exit removed
-    + tcallnode.inlined_pass_2 added
-
-  Revision 1.25  2003/05/15 18:58:53  peter
-    * removed selfpointer_offset, vmtpointer_offset
-    * tvarsym.adjusted_address
-    * address in localsymtable is now in the real direction
-    * removed some obsolete globals
-
-  Revision 1.24  2003/05/09 17:47:02  peter
-    * self moved to hidden parameter
-    * removed hdisposen,hnewn,selfn
-
-  Revision 1.23  2003/04/23 20:16:04  peter
-    + added currency support based on int64
-    + is_64bit for use in cg units instead of is_64bitint
-    * removed cgmessage from n386add, replace with internalerrors
-
-  Revision 1.22  2003/04/23 11:37:33  peter
-    * po_comp for proc to procvar fixed
-
-  Revision 1.21  2003/04/10 17:57:52  peter
-    * vs_hidden released
-
-  Revision 1.20  2003/03/20 17:52:18  peter
-    * fix compare for unique types, they are allowed when they match
-      exact
-
-  Revision 1.19  2003/01/16 22:13:51  peter
-    * convert_l3 convertlevel added. This level is used for conversions
-      where information can be lost like converting widestring->ansistring
-      or dword->byte
-
-  Revision 1.18  2003/01/15 01:44:32  peter
-    * merged methodpointer fixes from 1.0.x
-
-  Revision 1.17  2003/01/09 21:43:39  peter
-    * constant string conversion fixed, it's now equal to both
-      shortstring, ansistring and the typeconvnode will return
-      te_equal but still return convtype to change the constnode
-
-  Revision 1.16  2003/01/05 22:42:13  peter
-    * use int_to_int conversion for pointer/procvar/classref to int
-
-  Revision 1.15  2003/01/05 15:54:15  florian
-    + added proper support of type = type <type>; for simple types
-
-  Revision 1.14  2003/01/03 17:16:04  peter
-    * fixed assignment operator checking for typecast
-
-  Revision 1.13  2002/12/29 18:15:19  peter
-    * varargs is not checked in proc->procvar for delphi
-
-  Revision 1.12  2002/12/29 14:57:50  peter
-    * unit loading changed to first register units and load them
-      afterwards. This is needed to support uses xxx in yyy correctly
-    * unit dependency check fixed
-
-  Revision 1.11  2002/12/27 15:26:12  peter
-    * procvar compare with 2 ints did not check the integer size
-
-  Revision 1.10  2002/12/23 22:22:16  peter
-    * don't allow implicit bool->int conversion
-
-  Revision 1.9  2002/12/18 21:37:36  peter
-    * allow classref-classref always when explicit
-
-  Revision 1.8  2002/12/15 22:37:53  peter
-    * give conversions from pointer to pwidechar a penalty (=prefer pchar)
-
-  Revision 1.7  2002/12/11 22:40:12  peter
-    * proc->procvar is never an exact match, convert exact parameters
-      to equal for the whole proc to procvar conversion level
-
-  Revision 1.6  2002/12/06 17:49:44  peter
-    * prefer string-shortstring over other string-string conversions
-
-  Revision 1.5  2002/12/05 14:27:26  florian
-    * some variant <-> dyn. array stuff
-
-  Revision 1.4  2002/12/01 22:07:41  carl
-    * warning of portabilitiy problems with parasize / localsize
-    + some added documentation
-
-  Revision 1.3  2002/11/27 15:33:46  peter
-    * the never ending story of tp procvar hacks
-
-  Revision 1.2  2002/11/27 02:32:14  peter
-    * fix cp_procvar compare
-
-  Revision 1.1  2002/11/25 17:43:16  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
-
 }

+ 4 - 242
compiler/defutil.pas

@@ -888,7 +888,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.17  2004-06-18 15:16:46  peter
+  Revision 1.18  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.17  2004/06/18 15:16:46  peter
     * remove obsolete cardinal() typecasts
 
   Revision 1.16  2004/06/16 20:07:07  florian
@@ -903,245 +906,4 @@ end.
   Revision 1.13  2004/04/29 19:56:36  daniel
     * Prepare compiler infrastructure for multiple ansistring types
 
-  Revision 1.12.2.2  2004/05/03 16:27:38  peter
-    * fixed shl for x86-64
-
-  Revision 1.12.2.1  2004/05/01 16:02:09  peter
-    * POINTER_SIZE replaced with sizeof(aint)
-    * aint,aword,tconst*int moved to globtype
-
-  Revision 1.12  2004/03/29 14:44:10  peter
-    * fixes to previous constant integer commit
-
-  Revision 1.11  2004/03/23 22:34:49  peter
-    * constants ordinals now always have a type assigned
-    * integer constants have the smallest type, unsigned prefered over
-      signed
-
-  Revision 1.10  2004/02/04 22:01:13  peter
-    * first try to get cpupara working for x86_64
-
-  Revision 1.9  2004/02/03 22:32:53  peter
-    * renamed xNNbittype to xNNinttype
-    * renamed registers32 to registersint
-    * replace some s32bit,u32bit with torddef([su]inttype).def.typ
-
-  Revision 1.8  2003/12/25 01:07:09  florian
-    + $fputype directive support
-    + single data type operations with sse unit
-    * fixed more x86-64 stuff
-
-  Revision 1.7  2003/11/10 18:05:16  florian
-    + is_single added
-
-  Revision 1.6  2003/10/01 20:34:48  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.5  2003/04/25 20:59:33  peter
-    * removed funcretn,funcretsym, function result is now in varsym
-      and aliases for result and function name are added using absolutesym
-    * vs_hidden parameter for funcret passed in parameter
-    * vs_hidden fixes
-    * writenode changed to printnode and released from extdebug
-    * -vp option added to generate a tree.log with the nodetree
-    * nicer printnode for statements, callnode
-
-  Revision 1.4  2003/04/23 20:16:04  peter
-    + added currency support based on int64
-    + is_64bit for use in cg units instead of is_64bitint
-    * removed cgmessage from n386add, replace with internalerrors
-
-  Revision 1.3  2003/03/17 19:05:08  peter
-    * dynamic array is also a special array
-
-  Revision 1.2  2002/12/23 20:58:03  peter
-    * remove unused global var
-
-  Revision 1.1  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.26  2002/11/17 16:31:55  carl
-    * memory optimization (3-4%) : cleanup of tai fields,
-       cleanup of tdef and tsym fields.
-    * make it work for m68k
-
-  Revision 1.25  2002/11/16 18:00:53  peter
-    * fix merged proc-procvar check
-
-  Revision 1.24  2002/11/15 01:58:46  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.23  2002/10/20 15:34:16  peter
-    * removed df_unique flag. It breaks code. For a good type=type <id>
-      a def copy is required
-
-  Revision 1.22  2002/10/10 16:07:57  florian
-    + several widestring/pwidechar related stuff added
-
-  Revision 1.21  2002/10/09 21:01:41  florian
-    * variants aren't compatible with nil
-
-  Revision 1.20  2002/10/07 09:49:42  florian
-    * overloaded :=-operator is now searched when looking for possible
-      variant type conversions
-
-  Revision 1.19  2002/10/06 21:02:17  peter
-    * fixed limit checking for qword
-
-  Revision 1.18  2002/10/06 15:08:59  peter
-    * only check for forwarddefs the definitions that really belong to
-      the current procsym
-
-  Revision 1.17  2002/10/06 12:25:04  florian
-    + proper support of type <id> = type <another id>;
-
-  Revision 1.16  2002/10/05 12:43:24  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.15  2002/10/05 00:50:01  peter
-    * check parameters from left to right in equal_paras, so default
-      parameters are checked at the end
-
-  Revision 1.14  2002/09/30 07:00:44  florian
-    * fixes to common code to get the alpha compiler compiled applied
-
-  Revision 1.13  2002/09/22 14:02:34  carl
-    * stack checking cannot be called before system unit is initialized
-    * MC68020 define
-
-  Revision 1.12  2002/09/16 14:11:12  peter
-    * add argument to equal_paras() to support default values or not
-
-  Revision 1.11  2002/09/15 17:54:46  peter
-    * allow default parameters in equal_paras
-
-  Revision 1.10  2002/09/08 11:10:17  carl
-    * bugfix 2109 (bad imho, but only way)
-
-  Revision 1.9  2002/09/07 15:25:02  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.8  2002/09/07 09:16:55  carl
-    * fix my stupid copy and paste bug
-
-  Revision 1.7  2002/09/06 19:58:31  carl
-   * start bugfix 1996
-   * 64-bit typed constant now work correctly and fully (bugfix 2001)
-
-  Revision 1.6  2002/08/20 10:31:26  daniel
-   * Tcallnode.det_resulttype rewritten
-
-  Revision 1.5  2002/08/12 20:39:17  florian
-    * casting of classes to interface fixed when the interface was
-      implemented by a parent class
-
-  Revision 1.4  2002/08/12 14:17:56  florian
-    * nil is now recognized as being compatible with a dynamic array
-
-  Revision 1.3  2002/08/05 18:27:48  carl
-    + more more more documentation
-    + first version include/exclude (can't test though, not enough scratch for i386 :()...
-
-  Revision 1.2  2002/07/23 09:51:22  daniel
-  * Tried to make Tprocsym.defs protected. I didn't succeed but the cleanups
-    are worth comitting.
-
-  Revision 1.1  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.75  2002/07/11 14:41:32  florian
-    * start of the new generic parameter handling
-
-  Revision 1.74  2002/07/01 16:23:54  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.73  2002/05/18 13:34:21  peter
-    * readded missing revisions
-
-  Revision 1.72  2002/05/16 19:46:47  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.70  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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.69  2002/04/25 20:16:39  peter
-    * moved more routines from cga/n386util
-
-  Revision 1.68  2002/04/15 19:08:22  carl
-  + target_info.size_of_pointer -> sizeof(aint)
-  + some cleanup of unused types/variables
-
-  Revision 1.67  2002/04/07 13:40:29  carl
-  + update documentation
-
-  Revision 1.66  2002/04/02 17:11:32  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.65  2002/04/01 20:57:14  jonas
-    * fixed web bug 1907
-    * fixed some other procvar related bugs (all related to accepting procvar
-        constructs with either too many or too little parameters)
-    (both merged, includes second typo fix of pexpr.pas)
-
-  Revision 1.64  2002/01/24 18:25:53  peter
-   * implicit result variable generation for assembler routines
-   * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
-
-  Revision 1.63  2002/01/24 12:33:53  jonas
-    * adapted ranges of native types to int64 (e.g. high cardinal is no
-      longer longint($ffffffff), but just $fffffff in psystem)
-    * small additional fix in 64bit rangecheck code generation for 32 bit
-      processors
-    * adaption of ranges required the matching talgorithm used for selecting
-      which overloaded procedure to call to be adapted. It should now always
-      select the closest match for ordinal parameters.
-    + inttostr(qword) in sysstr.inc/sysstrh.inc
-    + abs(int64), sqr(int64), sqr(qword) in systemh.inc/generic.inc (previous
-      fixes were required to be able to add them)
-    * is_in_limit() moved from ncal to types unit, should always be used
-      instead of direct comparisons of low/high values of orddefs because
-      qword is a special case
-
 }

+ 2 - 19
compiler/dmisc.pas

@@ -853,24 +853,7 @@ End;
 end.
 {
   $Log$
-  Revision 1.11  2002-10-05 12:43:24  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.10  2002/08/12 15:08:39  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.9  2002/05/18 13:34:07  peter
-    * readded missing revisions
-
-  Revision 1.8  2002/05/16 19:46:36  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.12  2004-06-20 08:55:29  florian
+    * logs truncated
 
 }

+ 4 - 7
compiler/dwarf.pas

@@ -422,7 +422,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.2  2004-06-16 20:07:07  florian
+  Revision 1.3  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.2  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.1.2.6  2004/05/01 16:02:09  peter
@@ -438,10 +441,4 @@ end.
   Revision 1.1.2.3  2004/04/12 19:34:45  peter
     * basic framework for dwarf CFI
 
-  Revision 1.1.2.2  2004/04/12 14:45:11  peter
-    * tai_const_symbol and tai_const merged
-
-  Revision 1.1.2.1  2004/04/08 21:04:24  peter
-    * prototype
-
 }

+ 2 - 15
compiler/export.pas

@@ -180,20 +180,7 @@ end;
 end.
 {
   $Log$
-  Revision 1.21  2002-07-26 21:15:37  florian
-    * rewrote the system handling
-
-  Revision 1.20  2002/07/01 18:46:22  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.19  2002/05/18 13:34:07  peter
-    * readded missing revisions
-
-  Revision 1.18  2002/05/16 19:46:36  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.22  2004-06-20 08:55:29  florian
+    * logs truncated
 
 }

+ 4 - 57
compiler/finput.pas

@@ -712,66 +712,13 @@ uses
 end.
 {
   $Log$
-  Revision 1.24  2004-06-16 20:07:07  florian
+  Revision 1.25  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.24  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.23.2.1  2004/04/28 21:46:56  peter
     * compile fixes for x86-64
 
-  Revision 1.23  2003/12/27 22:27:24  peter
-    * check with fileexists() before opening a file
-
-  Revision 1.22  2003/04/28 16:18:16  peter
-    * sharedlib is placed in exe outputdir
-
-  Revision 1.21  2002/12/29 14:57:50  peter
-    * unit loading changed to first register units and load them
-      afterwards. This is needed to support uses xxx in yyy correctly
-    * unit dependency check fixed
-
-  Revision 1.20  2002/11/15 01:58:46  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.19  2002/10/20 14:49:31  peter
-    * store original source time in ppu so it can be compared instead of
-      comparing with the ppu time
-
-  Revision 1.18  2002/08/11 13:24:11  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.17  2002/07/26 21:15:37  florian
-    * rewrote the system handling
-
-  Revision 1.16  2002/07/01 18:46:22  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.15  2002/05/18 13:34:07  peter
-    * readded missing revisions
-
-  Revision 1.14  2002/05/16 19:46:36  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.13  2002/05/14 19:34:41  peter
-    * removed old logs and updated copyright year
-
-  Revision 1.12  2002/04/04 18:34:00  carl
-  + added wdosx support (patch from Pavel)
-
 }

+ 4 - 104
compiler/fmodule.pas

@@ -694,111 +694,11 @@ implementation
 end.
 {
   $Log$
-  Revision 1.44  2004-03-08 22:07:46  peter
+  Revision 1.45  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.44  2004/03/08 22:07:46  peter
     * stabs updates to write stabs for def for all implictly used
       units
 
-  Revision 1.43  2003/12/08 22:33:43  peter
-    * don't allow duplicate uses
-    * fix wrong circular dependency
-
-  Revision 1.42  2003/11/23 17:23:49  peter
-    * fixed memleak with derefdata
-
-  Revision 1.41  2003/10/23 14:44:07  peter
-    * splitted buildderef and buildderefimpl to fix interface crc
-      calculation
-
-  Revision 1.40  2003/10/22 20:40:00  peter
-    * write derefdata in a separate ppu entry
-
-  Revision 1.39  2003/10/22 15:22:33  peter
-    * fixed unitsym-globalsymtable relation so the uses of a unit
-      is counted correctly
-
-  Revision 1.38  2003/10/01 20:34:48  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.37  2003/08/23 22:31:42  peter
-    * reload also caller module when it is already compiled
-
-  Revision 1.36  2003/06/07 20:26:32  peter
-    * re-resolving added instead of reloading from ppu
-    * tderef object added to store deref info for resolving
-
-  Revision 1.35  2003/05/25 10:27:12  peter
-    * moved Comment calls to messge file
-
-  Revision 1.34  2003/05/23 14:27:35  peter
-    * remove some unit dependencies
-    * current_procinfo changes to store more info
-
-  Revision 1.33  2003/04/27 11:21:32  peter
-    * aktprocdef renamed to current_procdef
-    * procinfo renamed to current_procinfo
-    * procinfo will now be stored in current_module so it can be
-      cleaned up properly
-    * gen_main_procsym changed to create_main_proc and release_main_proc
-      to also generate a tprocinfo structure
-    * fixed unit implicit initfinal
-
-  Revision 1.32  2002/12/29 14:57:50  peter
-    * unit loading changed to first register units and load them
-      afterwards. This is needed to support uses xxx in yyy correctly
-    * unit dependency check fixed
-
-  Revision 1.31  2002/12/07 14:27:07  carl
-    * 3% memory optimization
-    * changed some types
-    + added type checking with different size for call node and for
-       parameters
-
-  Revision 1.30  2002/11/24 18:19:56  carl
-    + tos also has short filenames
-
-  Revision 1.29  2002/11/20 12:36:23  mazen
-  * $UNITPATH directive is now working
-
-  Revision 1.28  2002/09/05 19:29:42  peter
-    * memdebug enhancements
-
-  Revision 1.27  2002/08/16 15:31:08  peter
-    * fixed possible crashes with current_scanner
-
-  Revision 1.26  2002/08/12 16:46:04  peter
-    * tscannerfile is now destroyed in tmodule.reset and current_scanner
-      is updated accordingly. This removes all the loading and saving of
-      the old scanner and the invalid flag marking
-
-  Revision 1.25  2002/08/11 14:28:19  peter
-    * TScannerFile.SetInvalid added that will also reset inputfile
-
-  Revision 1.24  2002/08/11 13:24:11  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.23  2002/05/16 19:46:36  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.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
-
 }

+ 5 - 129
compiler/fpcdefs.inc

@@ -102,7 +102,10 @@
 
 {
   $Log$
-  Revision 1.37  2004-06-16 20:07:07  florian
+  Revision 1.38  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.37  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.36  2004/05/30 21:20:40  jonas
@@ -118,131 +121,4 @@
   Revision 1.35.2.2  2004/04/29 23:30:28  peter
     * fix i386 compiler
 
-  Revision 1.35.2.1  2004/04/23 22:12:37  florian
-    * fixed some potential stack corruption reasons
-
-  Revision 1.35  2004/03/16 22:12:10  florian
-    * some alignment issues resolved
-    * compiler doesn't generate anymore instructions not supported by the linux fpe
-
-  Revision 1.34  2004/03/10 11:55:22  mazen
-  * $M directive renamed to $MEMORY : Long directive name
-
-  Revision 1.33  2004/02/17 15:57:49  peter
-  - fix rtti generation for properties containing sl_vec
-  - fix crash when overloaded operator is not available
-  - fix record alignment for C style variant records
-
-  Revision 1.32  2004/02/09 22:48:45  florian
-    * several fixes to parameter handling on arm
-
-  Revision 1.31  2004/01/28 16:47:45  peter
-  Stacksize force to 1mb
-
-  Revision 1.30  2003/12/14 22:41:46  peter
-    * USEOPT to override NOOPT for 1.0.x
-
-  Revision 1.29  2003/12/14 20:20:14  peter
-    * disable optimizer again for 1.0.x
-
-  Revision 1.28  2003/12/14 14:18:59  peter
-    * optimizer works again with 1.0.x
-    * fixed wrong loop in FindRegWithConst
-
-  Revision 1.27  2003/11/22 13:11:10  jonas
-    - disable the optimizer if compiling with 1.0, because it has a code
-      generator (not optimizer) bug that causes crashes in the 1.1
-      optimizer
-
-  Revision 1.26  2003/10/31 15:51:11  peter
-    * USEINLINE directive added (not enabled yet)
-
-  Revision 1.25  2003/09/06 16:47:24  florian
-    + support of NaN and Inf in the compiler as values of real constants
-
-  Revision 1.24  2003/09/03 15:55:00  peter
-    * NEWRA branch merged
-
-  Revision 1.23  2003/09/03 11:18:36  florian
-    * fixed arm concatcopy
-    + arm support in the common compiler sources added
-    * moved some generic cg code around
-    + tfputype added
-    * ...
-
-  Revision 1.22.2.2  2003/08/31 21:07:44  daniel
-    * callparatemp ripped
-
-  Revision 1.22.2.1  2003/08/27 20:11:29  peter
-    * newra default
-
-  Revision 1.22  2003/08/11 21:18:20  peter
-    * start of sparc support for newra
-
-  Revision 1.21  2003/07/21 11:52:57  florian
-    * very basic stuff for the arm
-
-  Revision 1.20  2003/05/24 21:12:57  florian
-    * if something doesn't work with callparatemp, the define callparatemp
-      should be used because other processors with reigster calling conventions
-      depend on this as well
-
-  Revision 1.19  2003/05/09 17:47:02  peter
-    * self moved to hidden parameter
-    * removed hdisposen,hnewn,selfn
-
-  Revision 1.18  2003/04/30 09:42:42  florian
-    + first changes to make self a hidden parameter
-
-  Revision 1.17  2003/04/24 22:29:57  florian
-    * fixed a lot of PowerPC related stuff
-
-  Revision 1.16  2003/04/23 13:47:41  peter
-    * optimizer is x86
-
-  Revision 1.15  2003/04/23 12:35:34  florian
-    * fixed several issues with powerpc
-    + applied a patch from Jonas for nested function calls (PowerPC only)
-    * ...
-
-  Revision 1.14  2002/12/06 16:56:57  peter
-    * only compile cs_fp_emulation support when cpufpuemu is defined
-    * define cpufpuemu for m68k only
-
-  Revision 1.13  2002/10/16 19:01:43  peter
-    + $IMPLICITEXCEPTIONS switch to turn on/off generation of the
-      implicit exception frames for procedures with initialized variables
-      and for constructors. The default is on for compatibility
-
-  Revision 1.12  2002/10/05 12:43:24  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.11  2002/09/30 07:00:45  florian
-    * fixes to common code to get the alpha compiler compiled applied
-
-  Revision 1.10  2002/09/29 23:19:05  florian
-    + added define 64bit
-
-  Revision 1.9  2002/09/07 15:25:02  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.8  2002/08/30 13:42:29  mazen
-  - undefining win32 when SPARC defined removed, no more needed.
-
-
-  Revision 1.6  2002/08/19 18:17:48  carl
-    + optimize64_op_const_reg implemented (optimizes 64-bit constant opcodes)
-    * more fixes to m68k for 64-bit operations
-
-  Revision 1.5  2002/08/15 15:11:53  carl
-    * oldset define is now correct for all cpu's except i386
-    * correct compilation problems because of the above
-
-  Revision 1.4  2002/07/23 12:34:29  daniel
-  * Readded old set code. To use it define 'oldset'. Activated by default
-    for ppc.
-
-  Revision 1.3  2002/07/04 18:56:50  florian
-    + log added
-}
+}

+ 4 - 177
compiler/fppu.pas

@@ -1514,7 +1514,10 @@ uses
 end.
 {
   $Log$
-  Revision 1.54  2004-03-17 12:12:59  olle
+  Revision 1.55  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.54  2004/03/17 12:12:59  olle
     * bugfix in [read|write]asmsymbols for data and address labels
 
   Revision 1.53  2004/03/02 00:36:33  olle
@@ -1531,180 +1534,4 @@ end.
     * also check in the same dir as the unit we are loading from, this
       makes UNITPATH working better
 
-  Revision 1.49  2003/12/22 22:15:43  peter
-    * deref implementation after implementation units are loaded and
-      numbered
-
-  Revision 1.48  2003/12/14 18:13:18  peter
-    * also check currnet dir when searching source files
-
-  Revision 1.47  2003/11/28 17:23:16  peter
-    * serach also in include path for used files
-
-  Revision 1.46  2003/11/03 12:32:48  marco
-   * cycle detection patch from peter
-
-  Revision 1.45  2003/10/29 21:55:10  peter
-    * don't set second_load when second_compile was already set
-
-  Revision 1.44  2003/10/29 21:02:51  peter
-    * set ms_compiled after the program/unit is parsed
-    * check for ms_compiled before checking preproc matches
-
-  Revision 1.43  2003/10/23 14:44:07  peter
-    * splitted buildderef and buildderefimpl to fix interface crc
-      calculation
-
-  Revision 1.42  2003/10/22 20:40:00  peter
-    * write derefdata in a separate ppu entry
-
-  Revision 1.41  2003/10/22 17:38:25  peter
-    * write implementation units in implementation part of the ppu
-      so it doesn't confuse the unit loading
-
-  Revision 1.40  2003/10/22 15:22:33  peter
-    * fixed unitsym-globalsymtable relation so the uses of a unit
-      is counted correctly
-
-  Revision 1.39  2003/09/05 17:41:12  florian
-    * merged Wiktor's Watcom patches in 1.1
-
-  Revision 1.38  2003/08/23 22:29:24  peter
-    * reload flagged units when interface is loaded
-
-  Revision 1.37  2003/06/08 11:40:14  peter
-    * moved message to msg file
-
-  Revision 1.36  2003/06/07 20:26:32  peter
-    * re-resolving added instead of reloading from ppu
-    * tderef object added to store deref info for resolving
-
-  Revision 1.35  2003/05/25 10:27:12  peter
-    * moved Comment calls to messge file
-
-  Revision 1.34  2003/05/23 17:04:37  peter
-    * write interface crc to .ppu.intf when enabled
-    * when a unit is compiled with -Ur check only interface crc
-
-  Revision 1.33  2003/04/27 11:21:32  peter
-    * aktprocdef renamed to current_procdef
-    * procinfo renamed to current_procinfo
-    * procinfo will now be stored in current_module so it can be
-      cleaned up properly
-    * gen_main_procsym changed to create_main_proc and release_main_proc
-      to also generate a tprocinfo structure
-    * fixed unit implicit initfinal
-
-  Revision 1.32  2003/04/27 07:29:50  peter
-    * current_procdef cleanup, current_procdef is now always nil when parsing
-      a new procdef declaration
-    * aktprocsym removed
-    * lexlevel removed, use symtable.symtablelevel instead
-    * implicit init/final code uses the normal genentry/genexit
-    * funcret state checking updated for new funcret handling
-
-  Revision 1.31  2003/04/26 00:30:52  peter
-    * reset aktfilepos when setting new module for compile
-
-  Revision 1.30  2003/03/27 17:44:13  peter
-    * fixed small mem leaks
-
-  Revision 1.29  2002/12/29 14:57:50  peter
-    * unit loading changed to first register units and load them
-      afterwards. This is needed to support uses xxx in yyy correctly
-    * unit dependency check fixed
-
-  Revision 1.28  2002/12/06 16:56:57  peter
-    * only compile cs_fp_emulation support when cpufpuemu is defined
-    * define cpufpuemu for m68k only
-
-  Revision 1.27  2002/11/20 12:36:24  mazen
-  * $UNITPATH directive is now working
-
-  Revision 1.26  2002/11/15 01:58:46  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.25  2002/10/20 14:49:31  peter
-    * store original source time in ppu so it can be compared instead of
-      comparing with the ppu time
-
-  Revision 1.24  2002/10/04 20:13:10  peter
-    * set in_second_load flag before resetting the module, this is
-      required to skip some checkings
-
-  Revision 1.23  2002/08/19 19:36:42  peter
-    * More fixes for cross unit inlining, all tnodes are now implemented
-    * Moved pocall_internconst to po_internconst because it is not a
-      calling type at all and it conflicted when inlining of these small
-      functions was requested
-
-  Revision 1.22  2002/08/18 19:58:28  peter
-    * more current_scanner fixes
-
-  Revision 1.21  2002/08/15 15:09:41  carl
-    + fpu emulation helpers (ppu checking also)
-
-  Revision 1.20  2002/08/12 16:46:04  peter
-    * tscannerfile is now destroyed in tmodule.reset and current_scanner
-      is updated accordingly. This removes all the loading and saving of
-      the old scanner and the invalid flag marking
-
-  Revision 1.19  2002/08/11 14:28:19  peter
-    * TScannerFile.SetInvalid added that will also reset inputfile
-
-  Revision 1.18  2002/08/11 13:24:11  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.17  2002/07/26 21:15:37  florian
-    * rewrote the system handling
-
-  Revision 1.16  2002/05/16 19:46:36  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.15  2002/05/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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.13  2002/04/04 19:05:56  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.12  2002/03/28 20:46:44  carl
-  - remove go32v1 support
-
-  Revision 1.11  2002/01/19 14:20:13  peter
-    * check for -Un when loading ppu with wrong name
-
 }

+ 4 - 33
compiler/gdb.pas

@@ -239,40 +239,11 @@ end.
 
 {
   $Log$
-  Revision 1.18  2004-03-08 22:07:46  peter
+  Revision 1.19  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.18  2004/03/08 22:07:46  peter
     * stabs updates to write stabs for def for all implictly used
       units
 
-  Revision 1.17  2003/10/22 15:22:33  peter
-    * fixed unitsym-globalsymtable relation so the uses of a unit
-      is counted correctly
-
-  Revision 1.16  2002/11/17 16:31:56  carl
-    * memory optimization (3-4%) : cleanup of tai fields,
-       cleanup of tdef and tsym fields.
-    * make it work for m68k
-
-  Revision 1.15  2002/08/12 15:08:39  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.14  2002/07/01 18:46:22  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.13  2002/05/18 13:34:08  peter
-    * readded missing revisions
-
-  Revision 1.12  2002/05/16 19:46:36  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.10  2002/05/06 19:49:26  carl
-  + added more patches from Mazen for SPARC port
-
 }

+ 4 - 19
compiler/gendef.pas

@@ -160,28 +160,13 @@ end;
 end.
 {
   $Log$
-  Revision 1.13  2004-06-16 20:07:07  florian
+  Revision 1.14  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.13  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.12.2.1  2004/05/03 14:59:57  peter
     * no dlltool needed for win32 linking executables
 
-  Revision 1.12  2003/03/23 23:20:38  hajny
-    + emx target added
-
-  Revision 1.11  2002/07/26 21:15:38  florian
-    * rewrote the system handling
-
-  Revision 1.10  2002/05/18 13:34:08  peter
-    * readded missing revisions
-
-  Revision 1.9  2002/05/16 19:46:36  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.7  2002/04/04 18:36:46  carl
-  + added wdosx support (patch from Pavel)
-
 }

+ 5 - 330
compiler/globals.pas

@@ -1898,7 +1898,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.130  2004-06-16 20:07:07  florian
+  Revision 1.131  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.130  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.129  2004/05/11 18:20:52  olle
@@ -1914,332 +1917,4 @@ end.
   Revision 1.126.2.4  2004/05/09 15:47:21  peter
     * fix typecast from word->set
 
-  Revision 1.126.2.3  2004/05/03 14:59:57  peter
-    * no dlltool needed for win32 linking executables
-
-  Revision 1.126.2.2  2004/05/01 16:02:09  peter
-    * POINTER_SIZE replaced with sizeof(aint)
-    * aint,aword,tconst*int moved to globtype
-
-  Revision 1.126.2.1  2004/04/27 18:18:25  peter
-    * aword -> aint
-
-  Revision 1.126  2004/03/14 20:08:37  peter
-    * packrecords fixed for settings from $PACKRECORDS
-    * default packrecords now uses value 0 and uses info from aligment
-      structure only, initpackrecords removed
-
-  Revision 1.125  2004/02/19 20:40:15  olle
-    + Support for Link on target especially for MacOS
-    + TLinkerMPW
-    + TAsmScriptMPW
-
-  Revision 1.124  2004/02/08 16:38:51  florian
-    + PtrInt declared if VER1_0
-
-  Revision 1.123  2004/01/28 22:16:31  peter
-    * more record alignment fixes
-
-  Revision 1.122  2004/01/28 21:05:56  florian
-    * fixed alignment of classes
-
-  Revision 1.121  2004/01/14 23:39:05  florian
-    * another bunch of x86-64 fixes mainly calling convention and
-      assembler reader related
-
-  Revision 1.120  2004/01/12 16:36:53  peter
-    * removed asmmode_direct
-
-  Revision 1.119  2004/01/02 16:50:24  jonas
-    + SetFPUExceptionMask implementation for PPC
-
-  Revision 1.118  2003/12/25 01:07:09  florian
-    + $fputype directive support
-    + single data type operations with sse unit
-    * fixed more x86-64 stuff
-
-  Revision 1.117  2003/12/20 12:38:51  florian
-    * some x86-64 compilation fixe
-
-  Revision 1.116  2003/11/30 19:35:29  florian
-    * fixed several arm related problems
-
-  Revision 1.115  2003/11/12 16:05:39  florian
-    * assembler readers OOPed
-    + typed currency constants
-    + typed 128 bit float constants if the CPU supports it
-
-  Revision 1.114  2003/11/10 17:22:28  marco
-   * havelinuxrtl10 fixes
-
-  Revision 1.113  2003/11/07 15:58:32  florian
-    * Florian's culmutative nr. 1; contains:
-      - invalid calling conventions for a certain cpu are rejected
-      - arm softfloat calling conventions
-      - -Sp for cpu dependend code generation
-      - several arm fixes
-      - remaining code for value open array paras on heap
-
-  Revision 1.112  2003/10/23 17:18:56  peter
-    * delphi mode uses packenum 1
-
-  Revision 1.111  2003/10/22 15:40:44  marco
-   * -Xc -Xr support
-
-  Revision 1.110  2003/10/22 15:22:33  peter
-    * fixed unitsym-globalsymtable relation so the uses of a unit
-      is counted correctly
-
-  Revision 1.109  2003/10/11 19:32:04  marco
-   * -Xd
-
-  Revision 1.108  2003/10/08 14:10:16  mazen
-  + ASMMODE ATT added to bypass fpc.cfg defaults
-
-  Revision 1.107  2003/10/03 22:00:33  peter
-    * parameter alignment fixes
-
-  Revision 1.106  2003/10/03 14:16:48  marco
-   * -XP<prefix> support
-
-  Revision 1.105  2003/10/02 21:16:18  peter
-    * delphi and tp7 mode use intel asm by default
-
-  Revision 1.104  2003/10/01 20:34:48  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.103  2003/09/24 17:13:22  florian
-    + processor type intialization for x86-64 added
-
-  Revision 1.102  2003/09/18 15:38:17  marco
-   * BSD 1.0.x still uses st_ prefixes.
-
-  Revision 1.101  2003/09/16 16:17:01  peter
-    * varspez in calls to push_addr_param
-
-  Revision 1.100  2003/09/15 20:11:06  marco
-   * fixed
-
-  Revision 1.99  2003/09/14 20:26:18  marco
-   * Unix reform
-
-  Revision 1.98  2003/09/14 12:55:06  jonas
-    * fixed compilation for non-x86
-
-  Revision 1.97  2003/09/07 22:09:34  peter
-    * preparations for different default calling conventions
-    * various RA fixes
-
-  Revision 1.96  2003/09/06 16:47:24  florian
-    + support of NaN and Inf in the compiler as values of real constants
-
-  Revision 1.95  2003/09/05 17:41:12  florian
-    * merged Wiktor's Watcom patches in 1.1
-
-  Revision 1.94  2003/09/04 21:37:29  olle
-    + added new lagnuage mode: MAC
-
-  Revision 1.93  2003/09/03 11:18:36  florian
-    * fixed arm concatcopy
-    + arm support in the common compiler sources added
-    * moved some generic cg code around
-    + tfputype added
-    * ...
-
-  Revision 1.92  2003/05/23 22:33:48  florian
-    * fix some small flaws which prevent sparc linux system unit from compiling
-    * some reformatting done
-
-  Revision 1.91  2003/05/23 15:03:31  peter
-    * fix previous commit for unix
-
-  Revision 1.90  2003/05/23 14:39:56  peter
-    * FindFilePChar added to allow PATH variables > 256 chars
-
-  Revision 1.89  2003/05/15 18:58:53  peter
-    * removed selfpointer_offset, vmtpointer_offset
-    * tvarsym.adjusted_address
-    * address in localsymtable is now in the real direction
-    * removed some obsolete globals
-
-  Revision 1.88  2003/04/27 11:21:32  peter
-    * aktprocdef renamed to current_procdef
-    * procinfo renamed to current_procinfo
-    * procinfo will now be stored in current_module so it can be
-      cleaned up properly
-    * gen_main_procsym changed to create_main_proc and release_main_proc
-      to also generate a tprocinfo structure
-    * fixed unit implicit initfinal
-
-  Revision 1.87  2003/04/27 07:29:50  peter
-    * current_procdef cleanup, current_procdef is now always nil when parsing
-      a new procdef declaration
-    * aktprocsym removed
-    * lexlevel removed, use symtable.symtablelevel instead
-    * implicit init/final code uses the normal genentry/genexit
-    * funcret state checking updated for new funcret handling
-
-  Revision 1.86  2003/04/25 20:59:33  peter
-    * removed funcretn,funcretsym, function result is now in varsym
-      and aliases for result and function name are added using absolutesym
-    * vs_hidden parameter for funcret passed in parameter
-    * vs_hidden fixes
-    * writenode changed to printnode and released from extdebug
-    * -vp option added to generate a tree.log with the nodetree
-    * nicer printnode for statements, callnode
-
-  Revision 1.85  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.84  2003/03/23 23:21:42  hajny
-    + emx target added
-
-  Revision 1.83  2003/01/30 21:45:53  peter
-    * amiga path fix (merged)
-
-  Revision 1.82  2003/01/12 15:42:23  peter
-    * m68k pathexist update from 1.0.x
-    * palmos res update from 1.0.x
-
-  Revision 1.81  2003/01/10 21:49:00  marco
-   * more hasunix fixes
-
-  Revision 1.80  2003/01/04 16:20:44  hajny
-    * modified to make use of the common GetEnv code under OS/2
-
-  Revision 1.79  2002/12/25 01:26:17  peter
-    * delphi also has pointer archimetic
-
-  Revision 1.78  2002/12/07 14:27:07  carl
-    * 3% memory optimization
-    * changed some types
-    + added type checking with different size for call node and for
-       parameters
-
-  Revision 1.77  2002/12/06 17:50:00  peter
-    * amiga fixes merged
-
-  Revision 1.76  2002/12/01 22:07:41  carl
-    * warning of portabilitiy problems with parasize / localsize
-    + some added documentation
-
-  Revision 1.75  2002/11/30 23:13:48  carl
-    - cs_fp_emulation is no longer automatic for m68k target
-
-  Revision 1.74  2002/11/30 11:08:46  carl
-    * fix bug n last commit (this bug was only detected gby 1.0.x, fixed)
-
-  Revision 1.73  2002/11/30 00:34:20  pierre
-   * remove double in delphimodeswitches to allow compilation with -Cr option
-
-  Revision 1.72  2002/11/29 22:31:19  carl
-    + unimplemented hint directive added
-    * hint directive parsing implemented
-    * warning on these directives
-
-  Revision 1.71  2002/11/20 10:11:46  mazen
-  + TSearchPathList.AddPath supports a local path in addition to file name
-
-  Revision 1.70  2002/11/16 14:49:12  carl
-    - browser information is off by default
-
-  Revision 1.69  2002/11/15 01:58:47  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.68  2002/11/09 15:38:39  carl
-    + added var_align/const_align routines
-
-  Revision 1.67  2002/10/16 19:01:43  peter
-    + $IMPLICITEXCEPTIONS switch to turn on/off generation of the
-      implicit exception frames for procedures with initialized variables
-      and for constructors. The default is on for compatibility
-
-  Revision 1.66  2002/09/05 19:28:29  peter
-    * removed repetitive pass counting
-    * display heapsize also for extdebug
-
-  Revision 1.65  2002/08/19 19:36:42  peter
-    * More fixes for cross unit inlining, all tnodes are now implemented
-    * Moved pocall_internconst to po_internconst because it is not a
-      calling type at all and it conflicted when inlining of these small
-      functions was requested
-
-  Revision 1.64  2002/08/12 15:08:39  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.63  2002/08/10 14:46:29  carl
-    + moved target_cpu_string to cpuinfo
-    * renamed asmmode enum.
-    * assembler reader has now less ifdef's
-    * move from nppcmem.pas -> ncgmem.pas vec. node.
-
-  Revision 1.62  2002/07/28 20:45:22  florian
-    + added direct assembler reader for PowerPC
-
-  Revision 1.61  2002/07/20 17:12:42  florian
-    + source code page support
-
-  Revision 1.60  2002/07/01 18:46:22  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.59  2002/07/01 16:23:52  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.58  2002/05/18 13:34:08  peter
-    * readded missing revisions
-
-  Revision 1.57  2002/05/16 19:46:36  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.55  2002/04/20 21:32:23  carl
-  + generic FPC_CHECKPOINTER
-  + first parameter offset in stack now portable
-  * rename some constants
-  + move some cpu stuff to other units
-  - remove unused constents
-  * fix stacksize for some targets
-  * fix generic size problems which depend now on EXTEND_SIZE constant
-
-  Revision 1.54  2002/04/07 13:24:30  carl
-  + moved constant from cpuinfo, these are NOT cpu specific
-    constant, but more related to compiler functionality.
-
-  Revision 1.53  2002/04/02 17:11:28  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.52  2002/03/28 16:07:52  armin
-  + initialize threadvars defined local in units
-
-  Revision 1.51  2002/01/24 18:25:48  peter
-   * implicit result variable generation for assembler routines
-   * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
-
-}
+}

+ 5 - 171
compiler/globtype.pas

@@ -293,7 +293,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.57  2004-06-16 20:07:07  florian
+  Revision 1.58  2004-06-20 08:55:29  florian
+    * logs truncated
+
+  Revision 1.57  2004/06/16 20:07:07  florian
     * dwarf branch merged
 
   Revision 1.56  2004/05/23 15:06:20  peter
@@ -309,173 +312,4 @@ end.
   Revision 1.53  2004/04/29 19:56:36  daniel
     * Prepare compiler infrastructure for multiple ansistring types
 
-  Revision 1.52  2004/04/28 15:19:03  florian
-    + syscall directive support for MorphOS added
-
-  Revision 1.51.2.3  2004/05/02 00:45:51  peter
-    * define sizeint for 1.0.x
-
-  Revision 1.51.2.2  2004/05/01 16:02:09  peter
-    * POINTER_SIZE replaced with sizeof(aint)
-    * aint,aword,tconst*int moved to globtype
-
-  Revision 1.51.2.1  2004/04/10 22:08:52  florian
-    + more dwarf infrastructure
-
-  Revision 1.51  2004/04/04 18:46:09  olle
-    + added $APPTYPE TOOL for MPW tools on MacOS
-
-  Revision 1.50  2004/03/10 22:52:57  peter
-    * more stabs fixes
-    * special mode -gv for valgrind compatible stabs
-
-  Revision 1.49  2004/02/15 16:34:18  marco
-   * pthread on -CURRENT related fixes.
-
-  Revision 1.48  2003/12/23 23:22:35  peter
-    * register calling is now default for i386
-
-  Revision 1.47  2003/12/14 20:51:17  daniel
-    * Register calling disabled again
-
-  Revision 1.46  2003/12/14 20:24:28  daniel
-    * Register allocator speed optimizations
-      - Worklist no longer a ringbuffer
-      - No find operations are left
-      - Simplify now done in constant time
-      - unusedregs is now a Tsuperregisterworklist
-      - Microoptimizations
-
-  Revision 1.45  2003/12/04 23:27:32  peter
-    * remove redundant calls to add_edge_used
-
-  Revision 1.44  2003/11/07 15:58:32  florian
-    * Florian's culmutative nr. 1; contains:
-      - invalid calling conventions for a certain cpu are rejected
-      - arm softfloat calling conventions
-      - -Sp for cpu dependend code generation
-      - several arm fixes
-      - remaining code for value open array paras on heap
-
-  Revision 1.43  2003/09/28 13:39:58  peter
-    * default calling convention changed to stdcall
-
-  Revision 1.42  2003/09/07 22:09:35  peter
-    * preparations for different default calling conventions
-    * various RA fixes
-
-  Revision 1.41  2003/09/04 21:37:29  olle
-    + added new lagnuage mode: MAC
-
-  Revision 1.40  2003/09/03 15:55:00  peter
-    * NEWRA branch merged
-
-  Revision 1.39  2003/08/09 18:56:54  daniel
-    * cs_regalloc renamed to cs_regvars to avoid confusion with register
-      allocator
-    * Some preventive changes to i386 spillinh code
-
-  Revision 1.38  2003/04/27 11:21:32  peter
-    * aktprocdef renamed to current_procdef
-    * procinfo renamed to current_procinfo
-    * procinfo will now be stored in current_module so it can be
-      cleaned up properly
-    * gen_main_procsym changed to create_main_proc and release_main_proc
-      to also generate a tprocinfo structure
-    * fixed unit implicit initfinal
-
-  Revision 1.37  2003/04/27 07:29:50  peter
-    * current_procdef cleanup, current_procdef is now always nil when parsing
-      a new procdef declaration
-    * aktprocsym removed
-    * lexlevel removed, use symtable.symtablelevel instead
-    * implicit init/final code uses the normal genentry/genexit
-    * funcret state checking updated for new funcret handling
-
-  Revision 1.36  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.35  2003/03/08 08:59:07  daniel
-    + $define newra will enable new register allocator
-    + getregisterint will return imaginary registers with $newra
-    + -sr switch added, will skip register allocation so you can see
-      the direct output of the code generator before register allocation
-
-  Revision 1.34  2002/10/16 19:01:43  peter
-    + $IMPLICITEXCEPTIONS switch to turn on/off generation of the
-      implicit exception frames for procedures with initialized variables
-      and for constructors. The default is on for compatibility
-
-  Revision 1.33  2002/10/14 19:43:41  peter
-    * threading switch, defines the symbol FPC_THREADING
-
-  Revision 1.32  2002/10/05 12:43:24  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.31  2002/08/19 19:36:42  peter
-    * More fixes for cross unit inlining, all tnodes are now implemented
-    * Moved pocall_internconst to po_internconst because it is not a
-      calling type at all and it conflicted when inlining of these small
-      functions was requested
-
-  Revision 1.30  2002/08/12 15:08:39  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.29  2002/08/06 20:55:20  florian
-    * first part of ppc calling conventions fix
-
-  Revision 1.28  2002/07/04 20:43:00  florian
-    * first x86-64 patches
-
-  Revision 1.27  2002/07/01 18:46:22  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.26  2002/05/18 13:34:08  peter
-    * readded missing revisions
-
-  Revision 1.25  2002/05/16 19:46:36  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/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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.22  2002/04/21 19:02:03  peter
-    * removed newn and disposen nodes, the code is now directly
-      inlined from pexpr
-    * -an option that will write the secondpass nodes to the .s file, this
-      requires EXTDEBUG define to actually write the info
-    * fixed various internal errors and crashes due recent code changes
-
-  Revision 1.21  2002/03/24 19:05:59  carl
-  + patch for SPARC from Mazen NEIFER
-
-  Revision 1.20  2002/01/24 18:25:48  peter
-   * implicit result variable generation for assembler routines
-   * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
-
-}
+}

+ 5 - 227
compiler/htypechk.pas

@@ -1904,35 +1904,11 @@ implementation
 end.
 {
   $Log$
-  Revision 1.93  2004-06-16 20:07:07  florian
-    * dwarf branch merged
-
-  Revision 1.92  2004/05/25 21:27:35  florian
-    * fixed another formal const problem caused by yesterday's changes
-
-  Revision 1.91  2004/05/24 21:24:40  florian
-    * properties are allowed as formal const parameters as well
-
-  Revision 1.90  2004/05/24 21:04:31  florian
-    * fixed more formal const problems
-
-  Revision 1.89  2004/05/24 20:39:41  florian
-    * stricter handling of formal const parameters and IE fixed
-
-  Revision 1.88  2004/05/23 18:28:40  peter
-    * methodpointer is loaded into a temp when it was a calln
-
-  Revision 1.87  2004/05/23 15:03:40  peter
-    * some typeconvs don't allow assignment or passing to var para
-
-  Revision 1.86  2004/05/16 13:29:46  peter
-    * forbid more overloaded operators with orddef/enumdef
-
-  Revision 1.85  2004/04/18 07:52:43  florian
-    * fixed web bug 3048: comparision of dyn. arrays
+  Revision 1.94  2004-06-20 08:55:29  florian
+    * logs truncated
 
-  Revision 1.84.2.2  2004/05/30 10:45:49  peter
-    * merged fixes from main branch
+  Revision 1.93  2004/06/16 20:07:07  florian
+    * dwarf branch merged
 
   Revision 1.92  2004/05/25 21:27:35  florian
     * fixed another formal const problem caused by yesterday's changes
@@ -1946,202 +1922,4 @@ end.
   Revision 1.89  2004/05/24 20:39:41  florian
     * stricter handling of formal const parameters and IE fixed
 
-  Revision 1.88  2004/05/23 18:28:40  peter
-    * methodpointer is loaded into a temp when it was a calln
-
-  Revision 1.87  2004/05/23 15:03:40  peter
-    * some typeconvs don't allow assignment or passing to var para
-
-  Revision 1.86  2004/05/16 13:29:46  peter
-    * forbid more overloaded operators with orddef/enumdef
-
-  Revision 1.85  2004/04/18 07:52:43  florian
-    * fixed web bug 3048: comparision of dyn. arrays
-
-  Revision 1.84.2.1  2004/04/28 19:55:51  peter
-    * new warning for ordinal-pointer when size is different
-    * fixed some cg_e_ messages to the correct section type_e_ or parser_e_
-
-  Revision 1.84  2004/03/18 16:29:07  peter
-    * missing result initialization in node2opstr
-
-  Revision 1.83  2004/03/18 16:19:03  peter
-    * fixed operator overload allowing for pointer-string
-    * replaced some type_e_mismatch with more informational messages
-
-  Revision 1.82  2004/02/26 16:11:09  peter
-    * return cnothingn and give error when the operator is not overloaded
-
-  Revision 1.81  2004/02/24 16:12:39  peter
-    * operator overload chooses rewrite
-    * overload choosing is now generic and moved to htypechk
-
-  Revision 1.80  2004/02/20 21:55:19  peter
-    * widestring conversions added to allowed operator check
-
-  Revision 1.79  2004/02/13 15:42:21  peter
-    * compare_defs_ext has now a options argument
-    * fixes for variants
-
-  Revision 1.78  2004/02/12 15:54:03  peter
-    * make extcycle is working again
-
-  Revision 1.77  2004/02/04 22:15:15  daniel
-    * Rtti generation moved to ncgutil
-    * Assmtai usage of symsym removed
-    * operator overloading cleanup up
-
-  Revision 1.76  2004/02/03 22:32:53  peter
-    * renamed xNNbittype to xNNinttype
-    * renamed registers32 to registersint
-    * replace some s32bit,u32bit with torddef([su]inttype).def.typ
-
-  Revision 1.75  2003/11/12 15:48:27  peter
-    * fix set_varstate in for loops
-    * fix set_varstate from case statements
-
-  Revision 1.74  2003/10/30 19:20:05  peter
-    * fix IE when passing array to open array
-
-  Revision 1.73  2003/10/30 17:42:48  peter
-    * also check for uninited vars in staticsymtable
-
-  Revision 1.72  2003/10/28 15:36:01  peter
-    * absolute to object field supported, fixes tb0458
-
-  Revision 1.71  2003/10/21 18:16:13  peter
-    * IncompatibleTypes() added that will include unit names when
-      the typenames are the same
-
-  Revision 1.70  2003/10/20 19:29:12  peter
-    * fix check for typecasting wrong sizes in assignment left
-
-  Revision 1.69  2003/10/08 19:19:45  peter
-    * set_varstate cleanup
-
-  Revision 1.68  2003/10/05 21:21:52  peter
-    * c style array of const generates callparanodes
-    * varargs paraloc fixes
-
-  Revision 1.67  2003/10/01 20:34:48  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.66  2003/08/23 18:52:18  peter
-    * don't check size for open array in valid_for_assign
-
-  Revision 1.65  2003/07/08 15:20:56  peter
-    * don't allow add/assignments for formaldef
-    * formaldef size changed to 0
-
-  Revision 1.64  2003/06/13 21:19:30  peter
-    * current_procdef removed, use current_procinfo.procdef instead
-
-  Revision 1.63  2003/05/09 17:47:02  peter
-    * self moved to hidden parameter
-    * removed hdisposen,hnewn,selfn
-
-  Revision 1.62  2003/04/27 11:21:32  peter
-    * aktprocdef renamed to current_procinfo.procdef
-    * procinfo renamed to current_procinfo
-    * procinfo will now be stored in current_module so it can be
-      cleaned up properly
-    * gen_main_procsym changed to create_main_proc and release_main_proc
-      to also generate a tprocinfo structure
-    * fixed unit implicit initfinal
-
-  Revision 1.61  2003/04/27 07:29:50  peter
-    * current_procinfo.procdef cleanup, current_procdef is now always nil when parsing
-      a new procdef declaration
-    * aktprocsym removed
-    * lexlevel removed, use symtable.symtablelevel instead
-    * implicit init/final code uses the normal genentry/genexit
-    * funcret state checking updated for new funcret handling
-
-  Revision 1.60  2003/04/25 20:59:33  peter
-    * removed funcretn,funcretsym, function result is now in varsym
-      and aliases for result and function name are added using absolutesym
-    * vs_hidden parameter for funcret passed in parameter
-    * vs_hidden fixes
-    * writenode changed to printnode and released from extdebug
-    * -vp option added to generate a tree.log with the nodetree
-    * nicer printnode for statements, callnode
-
-  Revision 1.59  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.58  2003/01/03 17:17:26  peter
-    * use compare_def_ext to test if assignn operator is allowed
-
-  Revision 1.57  2003/01/02 22:21:19  peter
-    * fixed previous operator change
-
-  Revision 1.56  2003/01/02 19:50:21  peter
-    * fixed operator checking for objects
-    * made binary operator checking simpeler
-
-  Revision 1.55  2002/12/27 18:06:32  peter
-    * fix overload error for dynarr:=nil
-
-  Revision 1.54  2002/12/22 16:34:49  peter
-    * proc-procvar crash fixed (tw2277)
-
-  Revision 1.53  2002/12/11 22:39:24  peter
-    * better error message when no operator is found for equal
-
-  Revision 1.52  2002/11/27 22:11:59  peter
-    * rewrote isbinaryoverloadable to use a case. it's now much easier
-      to understand what is happening
-
-  Revision 1.51  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.50  2002/10/07 20:12:08  peter
-    * ugly hack to fix tb0411
-
-  Revision 1.49  2002/10/05 00:47:03  peter
-    * support dynamicarray<>nil
-
-  Revision 1.48  2002/10/04 21:13:59  peter
-    * ignore vecn,subscriptn when checking for a procvar loadn
-
-  Revision 1.47  2002/09/16 18:09:34  peter
-    * set_funcret_valid fixed when result was already used in a nested
-      procedure
-
-  Revision 1.46  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.45  2002/05/18 13:34:08  peter
-    * readded missing revisions
-
-  Revision 1.44  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.42  2002/04/02 17:11:28  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.41  2002/01/16 09:33:46  jonas
-    * no longer allow assignments to pointer expressions (unless there's a
-      deref), reported by John Lee
-
-}
+}

+ 5 - 185
compiler/i386/ag386int.pas

@@ -878,7 +878,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.49  2004-06-16 20:07:10  florian
+  Revision 1.50  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.49  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.48  2004/05/22 23:34:28  peter
@@ -894,187 +897,4 @@ end.
   Revision 1.47.2.4  2004/04/12 19:34:46  peter
     * basic framework for dwarf CFI
 
-  Revision 1.47.2.3  2004/04/12 14:45:11  peter
-    * tai_const_symbol and tai_const merged
-
-  Revision 1.47.2.2  2004/04/10 12:36:41  peter
-    * fixed alignment issues
-
-  Revision 1.47.2.1  2004/04/08 18:33:22  peter
-    * rewrite of TAsmSection
-
-  Revision 1.47  2004/03/17 12:03:00  olle
-    * bugfix for multiline string constants
-
-  Revision 1.46  2004/02/27 10:21:05  florian
-    * top_symbol killed
-    + refaddr to treference added
-    + refsymbol to treference added
-    * top_local stuff moved to an extra record to save memory
-    + aint introduced
-    * tppufile.get/putint64/aint implemented
-
-  Revision 1.45  2003/12/15 15:58:17  peter
-    * wasm args fix from wiktor
-
-  Revision 1.44  2003/12/14 22:42:39  peter
-    * fixed range check errors
-
-  Revision 1.43  2003/10/21 15:15:36  peter
-    * taicpu_abstract.oper[] changed to pointers
-
-  Revision 1.42  2003/10/19 01:34:30  florian
-    * some ppc stuff fixed
-    * memory leak fixed
-
-  Revision 1.41  2003/10/18 09:16:45  hajny
-    * Watcom patch by Wiktor Sywula
-
-  Revision 1.40  2003/09/30 08:39:50  michael
-  + Patch from Wiktor Sywula for watcom support
-
-  Revision 1.39  2003/09/23 17:56:06  peter
-    * locals and paras are allocated in the code generation
-    * tvarsym.localloc contains the location of para/local when
-      generating code for the current procedure
-
-  Revision 1.38  2003/09/05 17:41:13  florian
-    * merged Wiktor's Watcom patches in 1.1
-
-  Revision 1.37  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.36.2.3  2003/08/31 15:46:26  peter
-    * more updates for tregister
-
-  Revision 1.36.2.2  2003/08/27 21:07:03  peter
-    * more updates
-
-  Revision 1.36.2.1  2003/08/27 19:55:54  peter
-    * first tregister patch
-
-  Revision 1.36  2003/08/18 11:52:57  marco
-   * fix for 2592, pushw imm
-
-  Revision 1.35  2003/08/09 18:56:54  daniel
-    * cs_regalloc renamed to cs_regvars to avoid confusion with register
-      allocator
-    * Some preventive changes to i386 spillinh code
-
-  Revision 1.34  2003/03/08 08:59:07  daniel
-    + $define newra will enable new register allocator
-    + getregisterint will return imaginary registers with $newra
-    + -sr switch added, will skip register allocation so you can see
-      the direct output of the code generator before register allocation
-
-  Revision 1.33  2003/02/19 22:00:15  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.32  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.31  2002/12/24 18:10:34  peter
-    * Long symbol names support
-
-  Revision 1.30  2002/11/17 16:31:58  carl
-    * memory optimization (3-4%) : cleanup of tai fields,
-       cleanup of tdef and tsym fields.
-    * make it work for m68k
-
-  Revision 1.29  2002/11/15 01:58:56  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.28  2002/08/20 21:40:44  florian
-    + target macos for ppc added
-    + frame work for mpw assembler output
-
-  Revision 1.27  2002/08/18 20:06:28  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.26  2002/08/12 15:08:41  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.25  2002/08/11 14:32:29  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.24  2002/08/11 13:24:16  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.23  2002/07/26 21:15:43  florian
-    * rewrote the system handling
-
-  Revision 1.22  2002/07/01 18:46:29  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.21  2002/05/18 13:34:21  peter
-    * readded missing revisions
-
-  Revision 1.20  2002/05/16 19:46:50  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.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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.17  2002/04/15 19:12:09  carl
-  + target_info.size_of_pointer -> sizeof(aint)
-  + some cleanup of unused types/variables
-  * move several constants from cpubase to their specific units
-    (where they are used)
-  + att_Reg2str -> gas_reg2str
-  + int_reg2str -> std_reg2str
-
-  Revision 1.16  2002/04/04 19:06:07  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.15  2002/04/02 17:11:33  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-}
+}

+ 5 - 182
compiler/i386/ag386nsm.pas

@@ -909,7 +909,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.46  2004-06-16 20:07:10  florian
+  Revision 1.47  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.46  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.45  2004/05/22 23:34:28  peter
@@ -925,184 +928,4 @@ end.
   Revision 1.44.2.5  2004/04/29 19:07:22  peter
     * compile fixes
 
-  Revision 1.44.2.4  2004/04/12 19:34:46  peter
-    * basic framework for dwarf CFI
-
-  Revision 1.44.2.3  2004/04/12 14:45:11  peter
-    * tai_const_symbol and tai_const merged
-
-  Revision 1.44.2.2  2004/04/10 12:36:41  peter
-    * fixed alignment issues
-
-  Revision 1.44.2.1  2004/04/08 18:33:22  peter
-    * rewrite of TAsmSection
-
-  Revision 1.44  2004/02/27 10:21:05  florian
-    * top_symbol killed
-    + refaddr to treference added
-    + refsymbol to treference added
-    * top_local stuff moved to an extra record to save memory
-    + aint introduced
-    * tppufile.get/putint64/aint implemented
-
-  Revision 1.43  2003/12/14 22:42:39  peter
-    * fixed range check errors
-
-  Revision 1.42  2003/11/29 15:53:06  florian
-    + nasmelf mode for BeOS
-    + DQWORD directive in intel assembler mode
-
-  Revision 1.41  2003/10/21 15:15:36  peter
-    * taicpu_abstract.oper[] changed to pointers
-
-  Revision 1.40  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.39  2003/09/23 17:56:06  peter
-    * locals and paras are allocated in the code generation
-    * tvarsym.localloc contains the location of para/local when
-      generating code for the current procedure
-
-  Revision 1.38  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.37.2.1  2003/08/31 15:46:26  peter
-    * more updates for tregister
-
-  Revision 1.37  2003/08/09 18:56:54  daniel
-    * cs_regalloc renamed to cs_regvars to avoid confusion with register
-      allocator
-    * Some preventive changes to i386 spillinh code
-
-  Revision 1.36  2003/07/06 15:31:21  daniel
-    * Fixed register allocator. *Lots* of fixes.
-
-  Revision 1.35  2003/06/03 13:01:59  daniel
-    * Register allocator finished
-
-  Revision 1.34  2003/05/26 19:37:57  peter
-    * don't generate align in .bss
-
-  Revision 1.33  2003/04/22 10:09:35  daniel
-    + Implemented the actual register allocator
-    + Scratch registers unavailable when new register allocator used
-    + maybe_save/maybe_restore unavailable when new register allocator used
-
-  Revision 1.32  2003/03/08 13:59:17  daniel
-    * Work to handle new register notation in ag386nsm
-    + Added newra version of Ti386moddivnode
-
-  Revision 1.31  2003/03/08 08:59:07  daniel
-    + $define newra will enable new register allocator
-    + getregisterint will return imaginary registers with $newra
-    + -sr switch added, will skip register allocation so you can see
-      the direct output of the code generator before register allocation
-
-  Revision 1.30  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.29  2002/12/24 18:10:34  peter
-    * Long symbol names support
-
-  Revision 1.28  2002/11/17 16:31:59  carl
-    * memory optimization (3-4%) : cleanup of tai fields,
-       cleanup of tdef and tsym fields.
-    * make it work for m68k
-
-  Revision 1.27  2002/11/15 01:58:56  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.26  2002/08/18 20:06:28  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.25  2002/08/12 15:08:41  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.24  2002/08/11 14:32:29  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.23  2002/08/11 13:24:16  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.22  2002/07/26 21:15:43  florian
-    * rewrote the system handling
-
-  Revision 1.21  2002/07/01 18:46:29  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.20  2002/05/18 13:34:21  peter
-    * readded missing revisions
-
-  Revision 1.19  2002/05/16 19:46:50  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.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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.16  2002/04/15 19:12:09  carl
-  + target_info.size_of_pointer -> sizeof(aint)
-  + some cleanup of unused types/variables
-  * move several constants from cpubase to their specific units
-    (where they are used)
-  + att_Reg2str -> gas_reg2str
-  + int_reg2str -> std_reg2str
-
-  Revision 1.15  2002/04/14 16:58:41  carl
-  + att_reg2str -> gas_reg2str
-
-  Revision 1.14  2002/04/04 18:27:37  carl
-  + added wdosx support (patch from Pavel)
-
-  Revision 1.13  2002/04/02 17:11:33  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-}
+}

+ 2 - 18
compiler/i386/aopt386.pas

@@ -120,23 +120,7 @@ End;
 End.
 {
   $Log$
-  Revision 1.9  2003-06-08 18:48:03  jonas
-    * first small steps towards an oop optimizer
-
-  Revision 1.8  2003/02/26 21:15:43  daniel
-    * Fixed the optimizer
-
-  Revision 1.7  2002/07/01 18:46:29  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.6  2002/05/18 13:34:21  peter
-    * readded missing revisions
-
-  Revision 1.5  2002/05/16 19:46:50  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.10  2004-06-20 08:55:31  florian
+    * logs truncated
 
 }

+ 4 - 202
compiler/i386/cgcpu.pas

@@ -552,7 +552,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.49  2004-06-16 20:07:10  florian
+  Revision 1.50  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.49  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.48  2004/04/09 14:36:05  peter
@@ -568,205 +571,4 @@ end.
     * enabled cpuhasfixedstack for x86-64 again
     * fixed size of temp allocation for parameters
 
-  Revision 1.47.2.6  2004/05/01 16:02:10  peter
-    * POINTER_SIZE replaced with sizeof(aint)
-    * aint,aword,tconst*int moved to globtype
-
-  Revision 1.47.2.5  2004/04/29 23:30:28  peter
-    * fix i386 compiler
-
-  Revision 1.47.2.4  2004/04/29 19:07:22  peter
-    * compile fixes
-
-  Revision 1.47.2.3  2004/04/24 20:13:24  florian
-    * fixed x86-64 exception handling
-
-  Revision 1.47.2.2  2004/04/24 18:30:11  florian
-    * extended parameters shouldn't be poped by the callee on x86-64 either
-
-  Revision 1.47.2.1  2004/04/08 18:33:22  peter
-    * rewrite of TAsmSection
-
-  Revision 1.47  2004/02/27 10:21:05  florian
-    * top_symbol killed
-    + refaddr to treference added
-    + refsymbol to treference added
-    * top_local stuff moved to an extra record to save memory
-    + aint introduced
-    * tppufile.get/putint64/aint implemented
-
-  Revision 1.46  2004/02/22 16:48:09  florian
-    * x86_64 uses generic concatcopy_valueopenarray for now
-
-  Revision 1.45  2004/02/04 22:01:13  peter
-    * first try to get cpupara working for x86_64
-
-  Revision 1.44  2004/01/14 23:39:05  florian
-    * another bunch of x86-64 fixes mainly calling convention and
-      assembler reader related
-
-  Revision 1.43  2004/01/12 16:39:40  peter
-    * sparc updates, mostly float related
-
-  Revision 1.42  2003/12/24 00:10:02  florian
-    - delete parameter in cg64 methods removed
-
-  Revision 1.41  2003/12/19 22:08:44  daniel
-    * Some work to restore the MMX capabilities
-
-  Revision 1.40  2003/10/10 17:48:14  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.39  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.38  2003/09/25 13:13:32  florian
-    * more x86-64 fixes
-
-  Revision 1.37  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.36.2.1  2003/08/29 17:28:59  peter
-    * next batch of updates
-
-  Revision 1.36  2003/06/12 18:31:18  peter
-    * fix newra cycle for i386
-
-  Revision 1.35  2003/06/03 21:11:09  peter
-    * cg.a_load_* get a from and to size specifier
-    * makeregsize only accepts newregister
-    * i386 uses generic tcgnotnode,tcgunaryminus
-
-  Revision 1.34  2003/06/01 21:38:06  peter
-    * getregisterfpu size parameter added
-    * op_const_reg size parameter added
-    * sparc updates
-
-  Revision 1.33  2003/05/22 21:32:28  peter
-    * removed some unit dependencies
-
-  Revision 1.32  2002/11/25 17:43:26  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.31  2002/10/05 12:43:29  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.30  2002/09/07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.29  2002/07/20 19:28:47  florian
-    * splitting of i386\cgcpu.pas into x86\cgx86.pas and i386\cgcpu.pas
-      cgx86.pas will contain the common code for i386 and x86_64
-
-  Revision 1.28  2002/07/20 11:58:00  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.27  2002/07/11 14:41:32  florian
-    * start of the new generic parameter handling
-
-  Revision 1.26  2002/07/07 09:52:33  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
-  Revision 1.25  2002/07/01 18:46:30  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.24  2002/07/01 16:23:55  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.23  2002/06/16 08:16:59  carl
-  * bugfix of missing popecx for shift operations
-
-  Revision 1.22  2002/05/22 19:02:16  carl
-  + generic FPC_HELP_FAIL
-  + generic FPC_HELP_DESTRUCTOR instated (original from Pierre)
-  + generic FPC_DISPOSE_CLASS
-  + TEST_GENERIC define
-
-  Revision 1.21  2002/05/20 13:30:40  carl
-  * bugfix of hdisponen (base must be set, not index)
-  * more portability fixes
-
-  Revision 1.20  2002/05/18 13:34:22  peter
-    * readded missing revisions
-
-  Revision 1.19  2002/05/16 19:46:50  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.17  2002/05/13 19:54:37  peter
-    * removed n386ld and n386util units
-    * maybe_save/maybe_restore added instead of the old maybe_push
-
-  Revision 1.16  2002/05/12 19:59:05  carl
-  * some small portability fixes
-
-  Revision 1.15  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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.14  2002/04/25 20:16:40  peter
-    * moved more routines from cga/n386util
-
-  Revision 1.13  2002/04/21 15:31:05  carl
-  * changeregsize -> rg.makeregsize
-  + a_jmp_always added
-
-  Revision 1.12  2002/04/15 19:44:20  peter
-    * fixed stackcheck that would be called recursively when a stack
-      error was found
-    * generic changeregsize(reg,size) for i386 register resizing
-    * removed some more routines from cga unit
-    * fixed returnvalue handling
-    * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
-
-  Revision 1.11  2002/04/04 19:06:10  peter
-    * removed unused units
-    * use tlocation.size in a_*loc*() routines
-
-  Revision 1.10  2002/04/02 20:29:02  jonas
-    * optimized the code generated by the a_op_const_* and a_op64_const
-      methods
-
-  Revision 1.9  2002/04/02 17:11:33  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
 }

+ 4 - 48
compiler/i386/cpubase.inc

@@ -169,7 +169,10 @@
 
 {
   $Log$
-  Revision 1.13  2004-06-16 20:07:10  florian
+  Revision 1.14  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.13  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.12.2.1  2004/04/20 16:35:58  peter
@@ -182,51 +185,4 @@
     * another bunch of x86-64 fixes mainly calling convention and
       assembler reader related
 
-  Revision 1.10  2003/10/17 14:38:32  peter
-    * 64k registers supported
-    * fixed some memory leaks
-
-  Revision 1.9  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.8  2003/09/03 11:18:37  florian
-    * fixed arm concatcopy
-    + arm support in the common compiler sources added
-    * moved some generic cg code around
-    + tfputype added
-    * ...
-
-  Revision 1.7.2.3  2003/08/29 17:29:00  peter
-    * next batch of updates
-
-  Revision 1.7.2.2  2003/08/28 18:35:08  peter
-    * tregister changed to cardinal
-
-  Revision 1.7.2.1  2003/08/27 20:05:04  peter
-    * forgotten
-
-  Revision 1.7  2003/07/06 17:58:22  peter
-    * framepointer fixes for sparc
-    * parent framepointer code more generic
-
-  Revision 1.6  2003/06/03 13:01:59  daniel
-    * Register allocator finished
-
-  Revision 1.5  2003/05/31 15:05:28  peter
-    * FUNCTION_RESULT64_LOW/HIGH_REG added for int64 results
-
-  Revision 1.4  2003/05/30 23:57:08  peter
-    * more sparc cleanup
-    * accumulator removed, splitted in function_return_reg (called) and
-      function_result_reg (caller)
-
-  Revision 1.3  2003/05/16 14:33:31  peter
-    * regvar fixes
-
-  Revision 1.2  2002/04/25 16:12:09  florian
-    * fixed more problems with cpubase and x86-64
-
-  Revision 1.1  2003/04/25 11:12:09  florian
-    * merged i386/cpubase and x86_64/cpubase to x86/cpubase;
-      different stuff went to cpubase.inc
 }

+ 5 - 94
compiler/i386/cpuinfo.pas

@@ -110,7 +110,10 @@ Implementation
 end.
 {
   $Log$
-  Revision 1.25  2004-06-16 20:07:10  florian
+  Revision 1.26  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.25  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.24  2004/04/28 15:19:03  florian
@@ -131,96 +134,4 @@ end.
     + aint introduced
     * tppufile.get/putint64/aint implemented
 
-  Revision 1.22  2003/12/25 12:01:35  florian
-    + possible sse2 unit usage for double calculations
-    * some sse2 assembler issues fixed
-
-  Revision 1.21  2003/12/25 01:07:09  florian
-    + $fputype directive support
-    + single data type operations with sse unit
-    * fixed more x86-64 stuff
-
-  Revision 1.20  2003/12/01 18:43:31  peter
-    * s128real type is not compatible with s80real
-
-  Revision 1.19  2003/11/12 16:05:39  florian
-    * assembler readers OOPed
-    + typed currency constants
-    + typed 128 bit float constants if the CPU supports it
-
-  Revision 1.18  2003/11/07 15:58:32  florian
-    * Florian's culmutative nr. 1; contains:
-      - invalid calling conventions for a certain cpu are rejected
-      - arm softfloat calling conventions
-      - -Sp for cpu dependend code generation
-      - several arm fixes
-      - remaining code for value open array paras on heap
-
-  Revision 1.17  2003/09/03 11:18:37  florian
-    * fixed arm concatcopy
-    + arm support in the common compiler sources added
-    * moved some generic cg code around
-    + tfputype added
-    * ...
-
-  Revision 1.16  2002/12/05 14:18:09  florian
-    * two comments fixed
-
-  Revision 1.15  2002/09/07 20:48:43  carl
-    * cardinal -> longword
-
-  Revision 1.14  2002/09/07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.13  2002/08/15 15:15:55  carl
-    * jmpbuf size allocation for exceptions is now cpu specific (as it should)
-    * more generic nodes for maths
-    * several fixes for better m68k support
-
-  Revision 1.12  2002/08/12 15:08:41  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.11  2002/08/10 14:47:50  carl
-    + moved target_cpu_string to cpuinfo
-    * renamed asmmode enum.
-    * assembler reader has now less ifdef's
-    * move from nppcmem.pas -> ncgmem.pas vec. node.
-
-  Revision 1.10  2002/05/18 13:34:22  peter
-    * readded missing revisions
-
-  Revision 1.9  2002/05/16 19:46:50  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.7  2002/04/20 21:37:07  carl
-  + generic FPC_CHECKPOINTER
-  + first parameter offset in stack now portable
-  * rename some constants
-  + move some cpu stuff to other units
-  - remove unused constents
-  * fix stacksize for some targets
-  * fix generic size problems which depend now on EXTEND_SIZE constant
-  * removing frame pointer in routines is only available for : i386,m68k and vis targets
-
-  Revision 1.6  2002/04/07 13:41:50  carl
-  - moved type constant
-
-  Revision 1.5  2002/04/02 17:11:34  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-}
+}

+ 4 - 58
compiler/i386/cpunode.pas

@@ -62,65 +62,11 @@ unit cpunode;
 end.
 {
   $Log$
-  Revision 1.20  2004-02-22 12:04:04  florian
+  Revision 1.21  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.20  2004/02/22 12:04:04  florian
     + nx86set added
     * some more x86-64 fixes
 
-  Revision 1.19  2003/04/24 11:19:13  florian
-    * ncgopt replaces n386opt
-
-  Revision 1.18  2002/08/24 18:35:42  peter
-    * i386 uses now the generic exception management from ncgflw
-
-  Revision 1.17  2002/08/23 16:14:49  peter
-    * tempgen cleanup
-    * tt_noreuse temp type added that will be used in genentrycode
-
-  Revision 1.16  2002/08/18 20:06:29  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.15  2002/07/25 18:01:58  carl
-   + added generic inline nodes
-
-  Revision 1.14  2002/07/06 20:27:26  carl
-  + generic set handling
-
-  Revision 1.13  2002/05/18 13:34:22  peter
-    * readded missing revisions
-
-  Revision 1.12  2002/05/16 19:46:50  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.10  2002/05/13 19:54:37  peter
-    * removed n386ld and n386util units
-    * maybe_save/maybe_restore added instead of the old maybe_push
-
-  Revision 1.9  2002/04/19 15:39:35  peter
-    * removed some more routines from cga
-    * moved location_force_reg/mem to ncgutil
-    * moved arrayconstructnode secondpass to ncgld
-
-  Revision 1.8  2002/03/31 20:26:38  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
 }

+ 4 - 202
compiler/i386/cpupara.pas

@@ -497,7 +497,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.51  2004-06-16 20:07:10  florian
+  Revision 1.52  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.51  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.50.2.3  2004/05/02 21:37:35  florian
@@ -516,205 +519,4 @@ end.
     * tparalocation.lochigh is now used to indicate if registerhigh
       is used and what the type is
 
-  Revision 1.49  2004/02/05 18:28:37  peter
-    * x86_64 fixes for opsize
-
-  Revision 1.48  2003/12/28 22:09:12  florian
-    + setting of bit 6 of cr for c var args on ppc implemented
-
-  Revision 1.47  2003/12/03 23:13:20  peter
-    * delayed paraloc allocation, a_param_*() gets extra parameter
-      if it needs to allocate temp or real paralocation
-    * optimized/simplified int-real loading
-
-  Revision 1.46  2003/12/01 18:44:15  peter
-    * fixed some crashes
-    * fixed varargs and register calling probs
-
-  Revision 1.45  2003/11/28 17:24:22  peter
-    * reversed offset calculation for caller side so it works
-      correctly for interfaces
-
-  Revision 1.44  2003/11/23 17:05:16  peter
-    * register calling is left-right
-    * parameter ordering
-    * left-right calling inserts result parameter last
-
-  Revision 1.43  2003/11/11 21:11:23  peter
-    * check for push_addr
-
-  Revision 1.42  2003/10/19 01:34:30  florian
-    * some ppc stuff fixed
-    * memory leak fixed
-
-  Revision 1.41  2003/10/17 14:38:32  peter
-    * 64k registers supported
-    * fixed some memory leaks
-
-  Revision 1.40  2003/10/11 16:06:42  florian
-    * fixed some MMX<->SSE
-    * started to fix ppc, needs an overhaul
-    + stabs info improve for spilling, not sure if it works correctly/completly
-    - MMX_SUPPORT removed from Makefile.fpc
-
-  Revision 1.39  2003/10/10 17:48:14  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.38  2003/10/07 15:17:07  peter
-    * inline supported again, LOC_REFERENCEs are used to pass the
-      parameters
-    * inlineparasymtable,inlinelocalsymtable removed
-    * exitlabel inserting fixed
-
-  Revision 1.37  2003/10/05 21:21:52  peter
-    * c style array of const generates callparanodes
-    * varargs paraloc fixes
-
-  Revision 1.36  2003/10/03 22:00:33  peter
-    * parameter alignment fixes
-
-  Revision 1.35  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.34  2003/09/30 21:02:37  peter
-    * updates for inlining
-
-  Revision 1.33  2003/09/28 17:55:04  peter
-    * parent framepointer changed to hidden parameter
-    * tloadparentfpnode added
-
-  Revision 1.32  2003/09/28 13:35:24  peter
-    * register calling updates
-
-  Revision 1.31  2003/09/25 21:30:11  peter
-    * parameter fixes
-
-  Revision 1.30  2003/09/23 17:56:06  peter
-    * locals and paras are allocated in the code generation
-    * tvarsym.localloc contains the location of para/local when
-      generating code for the current procedure
-
-  Revision 1.29  2003/09/16 16:17:01  peter
-    * varspez in calls to push_addr_param
-
-  Revision 1.28  2003/09/10 08:31:47  marco
-   * Patch from Peter for paraloc
-
-  Revision 1.27  2003/09/09 21:03:17  peter
-    * basics for x86 register calling
-
-  Revision 1.26  2003/09/09 15:55:05  peter
-    * winapi doesn't like pushing 8 byte record
-
-  Revision 1.25  2003/09/08 18:28:51  peter
-    * fix compilerproc for default=oldfpccall
-
-  Revision 1.24  2003/09/07 22:09:35  peter
-    * preparations for different default calling conventions
-    * various RA fixes
-
-  Revision 1.23  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.22.2.2  2003/08/28 18:35:08  peter
-    * tregister changed to cardinal
-
-  Revision 1.22.2.1  2003/08/27 19:55:54  peter
-    * first tregister patch
-
-  Revision 1.22  2003/08/11 21:18:20  peter
-    * start of sparc support for newra
-
-  Revision 1.21  2003/07/05 20:11:41  jonas
-    * create_paraloc_info() is now called separately for the caller and
-      callee info
-    * fixed ppc cycle
-
-  Revision 1.20  2003/07/02 22:18:04  peter
-    * paraloc splitted in callerparaloc,calleeparaloc
-    * sparc calling convention updates
-
-  Revision 1.19  2003/06/17 16:34:19  peter
-    * freeintparaloc added
-
-  Revision 1.18  2003/06/07 18:57:04  jonas
-    + added freeintparaloc
-    * ppc get/freeintparaloc now check whether the parameter regs are
-      properly allocated/deallocated (and get an extra list para)
-    * ppc a_call_* now internalerrors if pi_do_call is not yet set
-    * fixed lot of missing pi_do_call's
-
-  Revision 1.17  2003/06/06 14:41:22  peter
-    * needs cpuinfo
-
-  Revision 1.16  2003/06/06 07:36:06  michael
-  + Forgot a line in patch from peter
-
-  Revision 1.15  2003/06/06 07:35:14  michael
-  + Patch to Patch from peter
-
-  Revision 1.14  2003/06/06 07:34:11  michael
-  + Patch from peter
-
-  Revision 1.13  2003/06/05 20:58:05  peter
-    * updated
-
-  Revision 1.12  2003/05/30 23:57:08  peter
-    * more sparc cleanup
-    * accumulator removed, splitted in function_return_reg (called) and
-      function_result_reg (caller)
-
-  Revision 1.11  2003/05/13 15:16:13  peter
-    * removed ret_in_acc, it's the reverse of ret_in_param
-    * fixed ret_in_param for win32 cdecl array
-
-  Revision 1.10  2003/04/22 23:50:23  peter
-    * firstpass uses expectloc
-    * checks if there are differences between the expectloc and
-      location.loc from secondpass in EXTDEBUG
-
-  Revision 1.9  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.8  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.7  2002/12/24 15:56:50  peter
-    * stackpointer_alloc added for adjusting ESP. Win32 needs
-      this for the pageprotection
-
-  Revision 1.6  2002/12/17 22:19:33  peter
-    * fixed pushing of records>8 bytes with stdcall
-    * simplified hightree loading
-
-  Revision 1.5  2002/11/18 17:32:00  peter
-    * pass proccalloption to ret_in_xxx and push_xxx functions
-
-  Revision 1.4  2002/11/15 01:58:56  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.3  2002/08/09 07:33:04  florian
-    * a couple of interface related fixes
-
-  Revision 1.2  2002/07/11 14:41:32  florian
-    * start of the new generic parameter handling
-
-  Revision 1.1  2002/07/07 09:52:33  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
 }

+ 2 - 61
compiler/i386/cpupi.pas

@@ -67,68 +67,9 @@ begin
 end.
 {
   $Log$
-  Revision 1.16  2003-10-14 00:30:48  florian
-    + some code for PIC support added
+  Revision 1.17  2004-06-20 08:55:31  florian
+    * logs truncated
 
-  Revision 1.15  2003/10/03 22:00:33  peter
-    * parameter alignment fixes
-
-  Revision 1.14  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.13  2003/09/25 21:30:11  peter
-    * parameter fixes
-
-  Revision 1.12  2003/09/23 17:56:06  peter
-    * locals and paras are allocated in the code generation
-    * tvarsym.localloc contains the location of para/local when
-      generating code for the current procedure
-
-  Revision 1.11  2003/09/09 21:03:17  peter
-    * basics for x86 register calling
-
-  Revision 1.10  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.9.2.1  2003/08/31 15:46:26  peter
-    * more updates for tregister
-
-  Revision 1.9  2003/07/06 17:58:22  peter
-    * framepointer fixes for sparc
-    * parent framepointer code more generic
-
-  Revision 1.8  2003/06/13 21:19:31  peter
-    * current_procdef removed, use current_procinfo.procdef instead
-
-  Revision 1.7  2003/06/12 18:12:49  jonas
-    * fixed compilation problems
-
-  Revision 1.6  2003/06/12 16:43:07  peter
-    * newra compiles for sparc
-
-  Revision 1.5  2003/05/25 10:26:15  peter
-    * fix interrupt stack allocation
-
-  Revision 1.4  2003/05/22 21:32:29  peter
-    * removed some unit dependencies
-
-  Revision 1.3  2003/04/27 11:21:35  peter
-    * aktprocdef renamed to current_procinfo.procdef
-    * procinfo renamed to current_procinfo
-    * procinfo will now be stored in current_module so it can be
-      cleaned up properly
-    * gen_main_procsym changed to create_main_proc and release_main_proc
-      to also generate a tprocinfo structure
-    * fixed unit implicit initfinal
-
-  Revision 1.2  2003/04/27 07:48:05  peter
-    * updated for removed lexlevel
-
-  Revision 1.1  2002/08/17 09:23:44  florian
-    * first part of procinfo rewrite
 }
 
 

+ 4 - 36
compiler/i386/cpuswtch.pas

@@ -116,42 +116,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.12  2004-01-12 16:39:40  peter
-    * sparc updates, mostly float related
+  Revision 1.13  2004-06-20 08:55:31  florian
+    * logs truncated
 
-  Revision 1.11  2003/11/07 15:58:32  florian
-    * Florian's culmutative nr. 1; contains:
-      - invalid calling conventions for a certain cpu are rejected
-      - arm softfloat calling conventions
-      - -Sp for cpu dependend code generation
-      - several arm fixes
-      - remaining code for value open array paras on heap
-
-  Revision 1.10  2003/08/09 18:56:54  daniel
-    * cs_regalloc renamed to cs_regvars to avoid confusion with register
-      allocator
-    * Some preventive changes to i386 spillinh code
-
-  Revision 1.9  2002/08/12 15:08:42  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.8  2002/08/10 14:47:50  carl
-    + moved target_cpu_string to cpuinfo
-    * renamed asmmode enum.
-    * assembler reader has now less ifdef's
-    * move from nppcmem.pas -> ncgmem.pas vec. node.
-
-  Revision 1.7  2002/05/18 13:34:22  peter
-    * readded missing revisions
-
-  Revision 1.6  2002/05/16 19:46:50  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.12  2004/01/12 16:39:40  peter
+    * sparc updates, mostly float related
 
 }

+ 2 - 46
compiler/i386/cputarg.pas

@@ -91,51 +91,7 @@ implementation
 end.
 {
   $Log$
-  Revision 1.13  2003-09-05 17:41:13  florian
-    * merged Wiktor's Watcom patches in 1.1
-
-  Revision 1.12  2003/05/20 23:54:00  florian
-    + basic darwin support added
-
-  Revision 1.11  2003/04/25 12:04:31  florian
-    * merged agx64att and ag386att to x86/agx86att
-
-  Revision 1.10  2003/03/23 23:33:10  hajny
-    + emx target added
-
-  Revision 1.9  2002/05/18 13:34:22  peter
-    * readded missing revisions
-
-  Revision 1.8  2002/05/16 19:46:50  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.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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.5  2002/04/14 17:00:49  carl
-  + att_reg2str -> gas_reg2str
-
-  Revision 1.4  2002/04/04 18:31:37  carl
-  + added wdosx support (patch from Pavel)
-
-  Revision 1.3  2002/03/28 20:48:04  carl
-  - remove go32v1 support
+  Revision 1.14  2004-06-20 08:55:31  florian
+    * logs truncated
 
 }

+ 4 - 181
compiler/i386/csopt386.pas

@@ -2115,7 +2115,10 @@ end.
 
 {
   $Log$
-  Revision 1.62  2004-06-16 20:07:10  florian
+  Revision 1.63  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.62  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.61.2.2  2004/05/01 16:02:10  peter
@@ -2136,184 +2139,4 @@ end.
   Revision 1.60  2004/02/25 20:39:58  jonas
     * fixed bugs that caused pasjpeg crashes
 
-  Revision 1.59  2003/12/20 22:53:33  jonas
-    * fixed some more optimizer bugs, make cycle now works with -O2p3,
-      -O2p3u, -O3p3 and -O3p3u
-
-  Revision 1.58  2003/12/15 21:25:49  peter
-    * reg allocations for imaginary register are now inserted just
-      before reg allocation
-    * tregister changed to enum to allow compile time check
-    * fixed several tregister-tsuperregister errors
-
-  Revision 1.57  2003/12/15 16:08:15  jonas
-    - disable removal of dead loads before a call, because register
-      parameters are released before a call
-    * fix storeback of registers in case of different sizes (e.g., first
-      a "movl %eax,%edx" and later a "movb %dl,%al")
-
-  Revision 1.56  2003/12/14 22:42:14  peter
-    * fixed csdebug
-
-  Revision 1.55  2003/12/14 14:18:59  peter
-    * optimizer works again with 1.0.x
-    * fixed wrong loop in FindRegWithConst
-
-  Revision 1.54  2003/12/13 15:48:47  jonas
-    * isgp32reg was being called with both tsuperregister and tregister
-      parameters, so changed type to tsuperregister (fixes bug reported by
-      Bas Steendijk)
-    * improved regsizesok() checking so it gives no false positives anymore
-
-  Revision 1.53  2003/12/07 19:19:56  jonas
-    * fixed some more bugs which only showed up in a ppc cross compiler
-
-  Revision 1.52  2003/11/28 18:49:05  jonas
-    * fixed bug which only showed up in the ppc crosscompiler :)
-
-  Revision 1.51  2003/11/22 13:10:32  jonas
-    * fixed double unit usage
-
-  Revision 1.50  2003/11/22 00:40:19  jonas
-    * fixed optimiser so it compiles again
-    * fixed several bugs which were in there already for a long time, but
-      which only popped up now :) -O2/-O3 will now optimise less than in
-      the past (and correctly so), but -O2u/-O3u will optimise a bit more
-    * some more small improvements for -O3 are still possible
-
-  Revision 1.49  2003/07/24 10:45:40  jonas
-    * fixed nil pointer access
-
-  Revision 1.48  2003/06/08 18:48:03  jonas
-    * first small steps towards an oop optimizer
-
-  Revision 1.47  2003/06/03 21:09:05  peter
-    * internal changeregsize for optimizer
-    * fix with a hack to not remove the first instruction of a block
-      which will leave blockstart pointing to invalid memory
-
-  Revision 1.46  2003/05/30 23:57:08  peter
-    * more sparc cleanup
-    * accumulator removed, splitted in function_return_reg (called) and
-      function_result_reg (caller)
-
-  Revision 1.45  2003/05/16 14:33:31  peter
-    * regvar fixes
-
-  Revision 1.44  2003/04/27 11:21:35  peter
-    * aktprocdef renamed to current_procdef
-    * procinfo renamed to current_procinfo
-    * procinfo will now be stored in current_module so it can be
-      cleaned up properly
-    * gen_main_procsym changed to create_main_proc and release_main_proc
-      to also generate a tprocinfo structure
-    * fixed unit implicit initfinal
-
-  Revision 1.43  2003/03/28 19:16:57  peter
-    * generic constructor working for i386
-    * remove fixed self register
-    * esi added as address register for i386
-
-  Revision 1.42  2003/03/18 18:15:53  peter
-    * changed reg2opsize to function
-
-  Revision 1.41  2003/02/26 21:15:43  daniel
-    * Fixed the optimizer
-
-  Revision 1.40  2003/02/19 22:00:15  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.39  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.38  2002/08/18 20:06:29  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.37  2002/08/17 09:23:44  florian
-    * first part of procinfo rewrite
-
-  Revision 1.36  2002/07/01 18:46:31  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.35  2002/05/18 13:34:22  peter
-    * readded missing revisions
-
-  Revision 1.34  2002/05/16 19:46:51  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.32  2002/04/21 15:32:59  carl
-  * changeregsize -> rg.makeregsize
-
-  Revision 1.31  2002/04/20 21:37:07  carl
-  + generic FPC_CHECKPOINTER
-  + first parameter offset in stack now portable
-  * rename some constants
-  + move some cpu stuff to other units
-  - remove unused constents
-  * fix stacksize for some targets
-  * fix generic size problems which depend now on EXTEND_SIZE constant
-  * removing frame pointer in routines is only available for : i386,m68k and vis targets
-
-  Revision 1.30  2002/04/15 19:44:20  peter
-    * fixed stackcheck that would be called recursively when a stack
-      error was found
-    * generic changeregsize(reg,size) for i386 register resizing
-    * removed some more routines from cga unit
-    * fixed returnvalue handling
-    * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
-
-  Revision 1.29  2002/04/15 19:12:09  carl
-  + target_info.size_of_pointer -> sizeof(aint)
-  + some cleanup of unused types/variables
-  * move several constants from cpubase to their specific units
-    (where they are used)
-  + att_Reg2str -> gas_reg2str
-  + int_reg2str -> std_reg2str
-
-  Revision 1.28  2002/04/14 17:00:49  carl
-  + att_reg2str -> std_reg2str
-
-  Revision 1.27  2002/04/04 19:06:10  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.26  2002/04/02 17:11:34  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.25  2002/03/31 20:26:38  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      RS_ST, not RS_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.24  2002/03/04 19:10:12  peter
-    * removed compiler warnings
-
 }

+ 4 - 199
compiler/i386/daopt386.pas

@@ -2719,7 +2719,10 @@ end.
 
 {
   $Log$
-  Revision 1.67  2004-05-22 23:34:28  peter
+  Revision 1.68  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.67  2004/05/22 23:34:28  peter
   tai_regalloc.allocation changed to ratype to notify rgobj of register size changes
 
   Revision 1.66  2004/02/27 19:55:23  jonas
@@ -2733,202 +2736,4 @@ end.
     + aint introduced
     * tppufile.get/putint64/aint implemented
 
-  Revision 1.64  2003/12/23 19:52:55  peter
-    * more byte->word
-
-  Revision 1.63  2003/12/22 23:11:41  peter
-    * overflow for instruction counters
-
-  Revision 1.62  2003/12/20 22:53:33  jonas
-    * fixed some more optimizer bugs, make cycle now works with -O2p3,
-      -O2p3u, -O3p3 and -O3p3u
-
-  Revision 1.61  2003/12/15 21:25:49  peter
-    * reg allocations for imaginary register are now inserted just
-      before reg allocation
-    * tregister changed to enum to allow compile time check
-    * fixed several tregister-tsuperregister errors
-
-  Revision 1.60  2003/12/15 15:58:58  peter
-    * fix statedebug compile
-
-  Revision 1.59  2003/12/14 22:42:14  peter
-    * fixed csdebug
-
-  Revision 1.58  2003/12/14 14:18:59  peter
-    * optimizer works again with 1.0.x
-    * fixed wrong loop in FindRegWithConst
-
-  Revision 1.57  2003/12/13 15:48:47  jonas
-    * isgp32reg was being called with both tsuperregister and tregister
-      parameters, so changed type to tsuperregister (fixes bug reported by
-      Bas Steendijk)
-    * improved regsizesok() checking so it gives no false positives anymore
-
-  Revision 1.56  2003/12/07 19:19:56  jonas
-    * fixed some more bugs which only showed up in a ppc cross compiler
-
-  Revision 1.55  2003/11/22 13:10:32  jonas
-    * fixed double unit usage
-
-  Revision 1.54  2003/11/22 00:40:19  jonas
-    * fixed optimiser so it compiles again
-    * fixed several bugs which were in there already for a long time, but
-      which only popped up now :) -O2/-O3 will now optimise less than in
-      the past (and correctly so), but -O2u/-O3u will optimise a bit more
-    * some more small improvements for -O3 are still possible
-
-  Revision 1.53  2003/06/13 21:19:31  peter
-    * current_procdef removed, use current_procinfo.procdef instead
-
-  Revision 1.52  2003/06/08 18:48:03  jonas
-    * first small steps towards an oop optimizer
-
-  Revision 1.51  2003/06/03 21:09:05  peter
-    * internal changeregsize for optimizer
-    * fix with a hack to not remove the first instruction of a block
-      which will leave blockstart pointing to invalid memory
-
-  Revision 1.50  2003/05/26 21:17:18  peter
-    * procinlinenode removed
-    * aktexit2label removed, fast exit removed
-    + tcallnode.inlined_pass_2 added
-
-  Revision 1.49  2003/04/27 11:21:35  peter
-    * aktprocdef renamed to current_procinfo.procdef
-    * procinfo renamed to current_procinfo
-    * procinfo will now be stored in current_module so it can be
-      cleaned up properly
-    * gen_main_procsym changed to create_main_proc and release_main_proc
-      to also generate a tprocinfo structure
-    * fixed unit implicit initfinal
-
-  Revision 1.48  2003/03/28 19:16:57  peter
-    * generic constructor working for i386
-    * remove fixed self register
-    * esi added as address register for i386
-
-  Revision 1.47  2003/02/26 21:15:43  daniel
-    * Fixed the optimizer
-
-  Revision 1.46  2003/02/19 22:00:15  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.45  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.44  2002/11/17 16:31:59  carl
-    * memory optimization (3-4%) : cleanup of tai fields,
-       cleanup of tdef and tsym fields.
-    * make it work for m68k
-
-  Revision 1.43  2002/08/18 20:06:29  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.42  2002/08/17 09:23:44  florian
-    * first part of procinfo rewrite
-
-  Revision 1.41  2002/07/01 18:46:31  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.40  2002/06/24 12:43:00  jonas
-    * fixed errors found with new -CR code from Peter when cycling with -O2p3r
-
-  Revision 1.39  2002/06/09 12:56:04  jonas
-    * IDIV reads edx too (but now the div/mod optimization fails :/ )
-
-  Revision 1.38  2002/05/18 13:34:22  peter
-    * readded missing revisions
-
-  Revision 1.37  2002/05/16 19:46:51  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.34  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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.33  2002/04/21 15:32:59  carl
-  * changeregsize -> changeregsize
-
-  Revision 1.32  2002/04/20 21:37:07  carl
-  + generic FPC_CHECKPOINTER
-  + first parameter offset in stack now portable
-  * rename some constants
-  + move some cpu stuff to other units
-  - remove unused constents
-  * fix stacksize for some targets
-  * fix generic size problems which depend now on EXTEND_SIZE constant
-  * removing frame pointer in routines is only available for : i386,m68k and vis targets
-
-  Revision 1.31  2002/04/15 19:44:20  peter
-    * fixed stackcheck that would be called recursively when a stack
-      error was found
-    * generic changeregsize(reg,size) for i386 register resizing
-    * removed some more routines from cga unit
-    * fixed returnvalue handling
-    * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
-
-  Revision 1.30  2002/04/15 19:12:09  carl
-  + target_info.size_of_pointer -> pointeRS_size
-  + some cleanup of unused types/variables
-  * move several constants from cpubase to their specific units
-    (where they are used)
-  + att_Reg2str -> gas_reg2str
-  + int_reg2str -> std_reg2str
-
-  Revision 1.29  2002/04/14 17:00:49  carl
-  + att_reg2str -> std_reg2str
-
-  Revision 1.28  2002/04/02 17:11:34  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.27  2002/03/31 20:26:38  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      RS_ST, not RS_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.26  2002/03/04 19:10:13  peter
-    * removed compiler warnings
-
 }

+ 4 - 3
compiler/i386/n386add.pas

@@ -687,7 +687,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.97  2004-06-16 20:07:10  florian
+  Revision 1.98  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.97  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.96  2004/05/19 23:30:18  peter
@@ -702,6 +705,4 @@ end.
   Revision 1.94  2004/01/20 12:59:37  florian
     * common addnode code for x86-64 and i386
 
-  Revision 1.93  2004/01/14 17:19:04  peter
-    * disable addmmxset
 }

+ 4 - 244
compiler/i386/n386cal.pas

@@ -102,254 +102,14 @@ begin
 end.
 {
   $Log$
-  Revision 1.100  2004-06-16 20:07:10  florian
+  Revision 1.101  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.100  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.99.2.1  2004/05/02 12:45:32  peter
     * enabled cpuhasfixedstack for x86-64 again
     * fixed size of temp allocation for parameters
 
-  Revision 1.99  2003/11/07 15:58:32  florian
-    * Florian's culmutative nr. 1; contains:
-      - invalid calling conventions for a certain cpu are rejected
-      - arm softfloat calling conventions
-      - -Sp for cpu dependend code generation
-      - several arm fixes
-      - remaining code for value open array paras on heap
-
-  Revision 1.98  2003/10/10 17:48:14  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.97  2003/10/09 21:31:37  daniel
-    * Register allocator splitted, ans abstract now
-
-  Revision 1.96  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.95  2003/09/23 17:56:06  peter
-    * locals and paras are allocated in the code generation
-    * tvarsym.localloc contains the location of para/local when
-      generating code for the current procedure
-
-  Revision 1.94  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.93.2.1  2003/08/29 17:29:00  peter
-    * next batch of updates
-
-  Revision 1.93  2003/05/30 23:57:08  peter
-    * more sparc cleanup
-    * accumulator removed, splitted in function_return_reg (called) and
-      function_result_reg (caller)
-
-  Revision 1.92  2003/05/26 21:17:18  peter
-    * procinlinenode removed
-    * aktexit2label removed, fast exit removed
-    + tcallnode.inlined_pass_2 added
-
-  Revision 1.91  2003/05/22 21:32:29  peter
-    * removed some unit dependencies
-
-  Revision 1.90  2003/04/23 14:42:08  daniel
-    * Further register allocator work. Compiler now smaller with new
-      allocator than without.
-    * Somebody forgot to adjust ppu version number
-
-  Revision 1.89  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.88  2003/04/22 10:09:35  daniel
-    + Implemented the actual register allocator
-    + Scratch registers unavailable when new register allocator used
-    + maybe_save/maybe_restore unavailable when new register allocator used
-
-  Revision 1.87  2003/04/04 15:38:56  peter
-    * moved generic code from n386cal to ncgcal, i386 now also
-      uses the generic ncgcal
-
-  Revision 1.86  2003/03/30 20:59:07  peter
-    * fix classmethod from classmethod call
-    * move BeforeDestruction/AfterConstruction calls to
-      genentrycode/genexitcode instead of generating them on the fly
-      after a call to a constructor
-
-  Revision 1.85  2003/03/28 19:16:57  peter
-    * generic constructor working for i386
-    * remove fixed self register
-    * esi added as address register for i386
-
-  Revision 1.84  2003/03/13 19:52:23  jonas
-    * and more new register allocator fixes (in the i386 code generator this
-      time). At least now the ppc cross compiler can compile the linux
-      system unit again, but I haven't tested it.
-
-  Revision 1.83  2003/03/06 11:35:50  daniel
-    * Fixed internalerror 7843 issue
-
-  Revision 1.82  2003/02/19 22:00:15  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.81  2003/01/30 21:46:57  peter
-    * self fixes for static methods (merged)
-
-  Revision 1.80  2003/01/13 18:37:44  daniel
-    * Work on register conversion
-
-  Revision 1.79  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.78  2002/12/15 21:30:12  florian
-    * tcallnode.paraitem introduced, all references to defcoll removed
-
-  Revision 1.77  2002/11/27 20:05:06  peter
-    * cdecl array of const fixes
-
-  Revision 1.76  2002/11/25 17:43:26  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.75  2002/11/18 17:32:00  peter
-    * pass proccalloption to ret_in_xxx and push_xxx functions
-
-  Revision 1.74  2002/11/15 01:58:57  peter
-    * merged changes from 1.0.7 up to 04-11
-      - -V option for generating bug report tracing
-      - more tracing for option parsing
-      - errors for cdecl and high()
-      - win32 import stabs
-      - win32 records<=8 are returned in eax:edx (turned off by default)
-      - heaptrc update
-      - more info for temp management in .s file with EXTDEBUG
-
-  Revision 1.73  2002/10/05 12:43:29  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.72  2002/09/17 18:54:03  jonas
-    * a_load_reg_reg() now has two size parameters: source and dest. This
-      allows some optimizations on architectures that don't encode the
-      register size in the register name.
-
-  Revision 1.71  2002/09/16 19:07:37  peter
-    * push 0 instead of VMT when calling a constructor from a member
-
-  Revision 1.70  2002/09/07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.69  2002/09/01 18:43:27  peter
-    * include FUNCTION_RETURN_REG in regs_to_push list
-
-  Revision 1.68  2002/09/01 12:13:00  peter
-    * use a_call_reg
-    * ungetiftemp for procvar of object temp
-
-  Revision 1.67  2002/08/25 19:25:21  peter
-    * sym.insert_in_data removed
-    * symtable.insertvardata/insertconstdata added
-    * removed insert_in_data call from symtable.insert, it needs to be
-      called separatly. This allows to deref the address calculation
-    * procedures now calculate the parast addresses after the procedure
-      directives are parsed. This fixes the cdecl parast problem
-    * push_addr_param has an extra argument that specifies if cdecl is used
-      or not
-
-  Revision 1.66  2002/08/23 16:14:49  peter
-    * tempgen cleanup
-    * tt_noreuse temp type added that will be used in genentrycode
-
-  Revision 1.65  2002/08/18 20:06:30  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.64  2002/08/17 09:23:45  florian
-    * first part of procinfo rewrite
-
-  Revision 1.63  2002/08/12 15:08:42  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.62  2002/08/11 14:32:30  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.61  2002/08/11 13:24:16  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.60  2002/07/20 11:58:01  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.59  2002/07/11 14:41:33  florian
-    * start of the new generic parameter handling
-
-  Revision 1.58  2002/07/07 09:52:34  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
-  Revision 1.57  2002/07/06 20:27:26  carl
-  + generic set handling
-
-  Revision 1.56  2002/07/01 18:46:31  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.55  2002/07/01 16:23:56  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.54  2002/05/20 13:30:40  carl
-  * bugfix of hdisponen (base must be set, not index)
-  * more portability fixes
-
-  Revision 1.53  2002/05/18 13:34:23  peter
-    * readded missing revisions
-
-  Revision 1.52  2002/05/16 19:46:51  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.50  2002/05/13 19:54:38  peter
-    * removed n386ld and n386util units
-    * maybe_save/maybe_restore added instead of the old maybe_push
-
-  Revision 1.49  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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
 }

+ 4 - 220
compiler/i386/n386cnv.pas

@@ -71,226 +71,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.72  2004-02-05 01:24:08  florian
-    * several fixes to compile x86-64 system
-
-  Revision 1.71  2003/12/22 23:08:59  peter
-    * removed unused checkobject method
-
-  Revision 1.70  2003/12/08 15:35:00  peter
-    * fix loading of word/byte to real
-
-  Revision 1.69  2003/12/03 23:13:20  peter
-    * delayed paraloc allocation, a_param_*() gets extra parameter
-      if it needs to allocate temp or real paralocation
-    * optimized/simplified int-real loading
-
-  Revision 1.68  2003/11/04 22:30:15  florian
-    + type cast variant<->enum
-    * cnv. node second pass uses now as well helper wrappers
-
-  Revision 1.67  2003/10/10 17:48:14  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.66  2003/10/09 21:31:37  daniel
-    * Register allocator splitted, ans abstract now
-
-  Revision 1.65  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.64  2003/09/28 21:48:20  peter
-    * fix register leaks
-
-  Revision 1.63  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.62.2.2  2003/08/31 15:46:26  peter
-    * more updates for tregister
-
-  Revision 1.62.2.1  2003/08/31 13:58:46  daniel
-    * Some more work to make things compile
-
-  Revision 1.62  2003/06/03 21:11:09  peter
-    * cg.a_load_* get a from and to size specifier
-    * makeregsize only accepts newregister
-    * i386 uses generic tcgnotnode,tcgunaryminus
-
-  Revision 1.61  2003/04/30 20:53:32  florian
-    * error when address of an abstract method is taken
-    * fixed some x86-64 problems
-    * merged some more x86-64 and i386 code
-
-  Revision 1.60  2003/04/23 20:16:04  peter
-    + added currency support based on int64
-    + is_64bit for use in cg units instead of is_64bitint
-    * removed cgmessage from n386add, replace with internalerrors
-
-  Revision 1.59  2003/04/22 23:50:23  peter
-    * firstpass uses expectloc
-    * checks if there are differences between the expectloc and
-      location.loc from secondpass in EXTDEBUG
-
-  Revision 1.58  2003/04/22 10:09:35  daniel
-    + Implemented the actual register allocator
-    + Scratch registers unavailable when new register allocator used
-    + maybe_save/maybe_restore unavailable when new register allocator used
-
-  Revision 1.57  2003/03/13 19:52:23  jonas
-    * and more new register allocator fixes (in the i386 code generator this
-      time). At least now the ppc cross compiler can compile the linux
-      system unit again, but I haven't tested it.
-
-  Revision 1.56  2003/02/19 22:00:15  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.55  2003/01/13 18:37:44  daniel
-    * Work on register conversion
-
-  Revision 1.54  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.53  2002/12/05 14:27:42  florian
-    * some variant <-> dyn. array stuff
+  Revision 1.73  2004-06-20 08:55:31  florian
+    * logs truncated
 
-  Revision 1.52  2002/11/25 17:43:26  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.51  2002/10/10 16:14:54  florian
-    * fixed to reflect last tconvtype change
-
-  Revision 1.50  2002/10/05 12:43:29  carl
-    * fixes for Delphi 6 compilation
-     (warning : Some features do not work under Delphi)
-
-  Revision 1.49  2002/09/17 18:54:03  jonas
-    * a_load_reg_reg() now has two size parameters: source and dest. This
-      allows some optimizations on architectures that don't encode the
-      register size in the register name.
-
-  Revision 1.48  2002/08/14 19:19:14  carl
-    * first_int_to_real moved to i386 (other one is generic)
-
-  Revision 1.47  2002/08/11 14:32:30  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.46  2002/08/11 13:24:16  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.45  2002/07/27 19:53:51  jonas
-    + generic implementation of tcg.g_flags2ref()
-    * tcg.flags2xxx() now also needs a size parameter
-
-  Revision 1.44  2002/07/20 11:58:01  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.43  2002/07/01 18:46:31  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.42  2002/05/20 13:30:40  carl
-  * bugfix of hdisponen (base must be set, not index)
-  * more portability fixes
-
-  Revision 1.41  2002/05/18 13:34:24  peter
-    * readded missing revisions
-
-  Revision 1.40  2002/05/16 19:46:51  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.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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.37  2002/04/21 19:02:07  peter
-    * removed newn and disposen nodes, the code is now directly
-      inlined from pexpr
-    * -an option that will write the secondpass nodes to the .s file, this
-      requires EXTDEBUG define to actually write the info
-    * fixed various internal errors and crashes due recent code changes
-
-  Revision 1.36  2002/04/21 15:35:23  carl
-  * changeregsize -> rg.makeregsize
-
-  Revision 1.35  2002/04/19 15:39:35  peter
-    * removed some more routines from cga
-    * moved location_force_reg/mem to ncgutil
-    * moved arrayconstructnode secondpass to ncgld
-
-  Revision 1.34  2002/04/15 19:44:21  peter
-    * fixed stackcheck that would be called recursively when a stack
-      error was found
-    * generic changeregsize(reg,size) for i386 register resizing
-    * removed some more routines from cga unit
-    * fixed returnvalue handling
-    * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
-
-  Revision 1.33  2002/04/04 19:06:10  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.32  2002/04/02 17:11:36  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.31  2002/03/31 20:26:38  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.30  2002/03/04 19:10:13  peter
-    * removed compiler warnings
+  Revision 1.72  2004/02/05 01:24:08  florian
+    * several fixes to compile x86-64 system
 
 }

+ 2 - 72
compiler/i386/n386con.pas

@@ -91,77 +91,7 @@ begin
 end.
 {
   $Log$
-  Revision 1.24  2003-10-10 17:48:14  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.23  2003/10/09 21:31:37  daniel
-    * Register allocator splitted, ans abstract now
-
-  Revision 1.22  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.21  2003/09/06 16:47:24  florian
-    + support of NaN and Inf in the compiler as values of real constants
-
-  Revision 1.20  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.19.2.1  2003/08/29 17:29:00  peter
-    * next batch of updates
-
-  Revision 1.19  2003/04/22 23:50:23  peter
-    * firstpass uses expectloc
-    * checks if there are differences between the expectloc and
-      location.loc from secondpass in EXTDEBUG
-
-  Revision 1.18  2003/04/22 09:54:18  peter
-    * use location_reset
-
-  Revision 1.17  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.16  2002/05/18 13:34:25  peter
-    * readded missing revisions
-
-  Revision 1.15  2002/05/16 19:46:51  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.13  2002/04/02 17:11:36  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.12  2002/03/31 20:26:38  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
+  Revision 1.25  2004-06-20 08:55:31  florian
+    * logs truncated
 
 }

+ 4 - 199
compiler/i386/n386inl.pas

@@ -43,7 +43,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.73  2004-02-05 01:24:08  florian
+  Revision 1.74  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.73  2004/02/05 01:24:08  florian
     * several fixes to compile x86-64 system
 
   Revision 1.72  2004/02/03 22:32:54  peter
@@ -54,202 +57,4 @@ end.
   Revision 1.71  2004/02/02 20:41:59  florian
     + added prefetch(const mem) support
 
-  Revision 1.70  2003/10/10 17:48:14  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.69  2003/10/09 21:31:37  daniel
-    * Register allocator splitted, ans abstract now
-
-  Revision 1.68  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.67  2003/09/28 21:48:20  peter
-    * fix register leaks
-
-  Revision 1.66  2003/09/07 22:09:35  peter
-    * preparations for different default calling conventions
-    * various RA fixes
-
-  Revision 1.65  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.64.2.2  2003/08/31 15:46:26  peter
-    * more updates for tregister
-
-  Revision 1.64.2.1  2003/08/29 17:29:00  peter
-    * next batch of updates
-
-  Revision 1.64  2003/07/02 22:18:04  peter
-    * paraloc splitted in callerparaloc,calleeparaloc
-    * sparc calling convention updates
-
-  Revision 1.63  2003/06/03 13:01:59  daniel
-    * Register allocator finished
-
-  Revision 1.62  2003/06/01 21:38:06  peter
-    * getregisterfpu size parameter added
-    * op_const_reg size parameter added
-    * sparc updates
-
-  Revision 1.61  2003/05/30 23:49:18  jonas
-    * a_load_loc_reg now has an extra size parameter for the destination
-      register (properly fixes what I worked around in revision 1.106 of
-      ncgutil.pas)
-
-  Revision 1.60  2003/04/23 09:50:31  peter
-    * wrong location_copy for include/exclude
-
-  Revision 1.59  2003/04/22 23:50:23  peter
-    * firstpass uses expectloc
-    * checks if there are differences between the expectloc and
-      location.loc from secondpass in EXTDEBUG
-
-  Revision 1.58  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.57  2003/04/22 10:09:35  daniel
-    + Implemented the actual register allocator
-    + Scratch registers unavailable when new register allocator used
-    + maybe_save/maybe_restore unavailable when new register allocator used
-
-  Revision 1.56  2003/02/19 22:00:15  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.55  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.54  2002/11/25 17:43:26  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.53  2002/09/07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.52  2002/08/02 07:44:31  jonas
-    * made assigned() handling generic
-    * add nodes now can also evaluate constant expressions at compile time
-      that contain nil nodes
-
-  Revision 1.51  2002/07/26 11:16:35  jonas
-    * fixed (actual and potential) range errors
-
-  Revision 1.50  2002/07/25 18:02:33  carl
-   + added generic inline nodes
-
-  Revision 1.49  2002/07/20 11:58:02  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.48  2002/07/11 14:41:33  florian
-    * start of the new generic parameter handling
-
-  Revision 1.47  2002/07/07 09:52:34  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
-  Revision 1.46  2002/07/01 18:46:33  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.45  2002/07/01 16:23:56  peter
-    * cg64 patch
-    * basics for currency
-    * asnode updates for class and interface (not finished)
-
-  Revision 1.44  2002/05/18 13:34:25  peter
-    * readded missing revisions
-
-  Revision 1.43  2002/05/16 19:46:51  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.41  2002/05/13 19:54:38  peter
-    * removed n386ld and n386util units
-    * maybe_save/maybe_restore added instead of the old maybe_push
-
-  Revision 1.40  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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.39  2002/04/23 19:16:35  peter
-    * add pinline unit that inserts compiler supported functions using
-      one or more statements
-    * moved finalize and setlength from ninl to pinline
-
-  Revision 1.38  2002/04/21 15:35:54  carl
-  * changeregsize -> rg.makeregsize
-
-  Revision 1.37  2002/04/19 15:39:35  peter
-    * removed some more routines from cga
-    * moved location_force_reg/mem to ncgutil
-    * moved arrayconstructnode secondpass to ncgld
-
-  Revision 1.36  2002/04/15 19:44:21  peter
-    * fixed stackcheck that would be called recursively when a stack
-      error was found
-    * generic changeregsize(reg,size) for i386 register resizing
-    * removed some more routines from cga unit
-    * fixed returnvalue handling
-    * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
-
-  Revision 1.35  2002/04/04 19:06:11  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.34  2002/04/02 17:11:36  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.33  2002/03/31 20:26:39  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now second_d by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now second_d by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.32  2002/03/04 19:10:14  peter
-    * removed compiler warnings
-
 }

+ 4 - 226
compiler/i386/n386mat.pas

@@ -342,235 +342,13 @@ begin
 end.
 {
   $Log$
-  Revision 1.70  2004-05-23 14:10:17  peter
+  Revision 1.71  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.70  2004/05/23 14:10:17  peter
     * fix shl/shr with value > 63
 
   Revision 1.69  2004/01/20 12:59:37  florian
     * common addnode code for x86-64 and i386
 
-  Revision 1.68  2003/12/26 13:19:16  florian
-    * rtl and compiler compile with -Cfsse2
-
-  Revision 1.67  2003/12/25 01:07:09  florian
-    + $fputype directive support
-    + single data type operations with sse unit
-    * fixed more x86-64 stuff
-
-  Revision 1.66  2003/12/10 17:28:41  peter
-    * int64 shl/shr > 63 returns 0
-
-  Revision 1.65  2003/10/10 17:48:14  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.64  2003/10/09 21:31:37  daniel
-    * Register allocator splitted, ans abstract now
-
-  Revision 1.63  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.62  2003/09/29 20:58:56  peter
-    * optimized releasing of registers
-
-  Revision 1.61  2003/09/28 21:48:20  peter
-    * fix register leaks
-
-  Revision 1.60  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.59.2.2  2003/08/31 13:50:16  daniel
-    * Remove sorting and use pregenerated indexes
-    * Some work on making things compile
-
-  Revision 1.59.2.1  2003/08/29 17:29:00  peter
-    * next batch of updates
-
-  Revision 1.59  2003/07/02 22:18:04  peter
-    * paraloc splitted in callerparaloc,calleeparaloc
-    * sparc calling convention updates
-
-  Revision 1.58  2003/06/13 21:19:31  peter
-    * current_procdef removed, use current_procinfo.procdef instead
-
-  Revision 1.57  2003/06/03 21:11:09  peter
-    * cg.a_load_* get a from and to size specifier
-    * makeregsize only accepts newregister
-    * i386 uses generic tcgnotnode,tcgunaryminus
-
-  Revision 1.56  2003/06/03 13:01:59  daniel
-    * Register allocator finished
-
-  Revision 1.55  2003/05/31 15:04:31  peter
-    * load_loc_reg update
-
-  Revision 1.54  2003/05/22 21:32:29  peter
-    * removed some unit dependencies
-
-  Revision 1.53  2003/04/22 23:50:23  peter
-    * firstpass uses expectloc
-    * checks if there are differences between the expectloc and
-      location.loc from secondpass in EXTDEBUG
-
-  Revision 1.52  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.51  2003/04/22 10:09:35  daniel
-    + Implemented the actual register allocator
-    + Scratch registers unavailable when new register allocator used
-    + maybe_save/maybe_restore unavailable when new register allocator used
-
-  Revision 1.50  2003/04/21 19:15:26  peter
-    * when ecx is not available allocated another register
-
-  Revision 1.49  2003/04/17 10:02:48  daniel
-    * Tweaked register allocate/deallocate positition to less interferences
-      are generated.
-
-  Revision 1.48  2003/03/28 19:16:57  peter
-    * generic constructor working for i386
-    * remove fixed self register
-    * esi added as address register for i386
-
-  Revision 1.47  2003/03/08 20:36:41  daniel
-    + Added newra version of Ti386shlshrnode
-    + Added interference graph construction code
-
-  Revision 1.46  2003/03/08 13:59:17  daniel
-    * Work to handle new register notation in ag386nsm
-    + Added newra version of Ti386moddivnode
-
-  Revision 1.45  2003/02/19 22:00:15  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.44  2003/01/13 18:37:44  daniel
-    * Work on register conversion
-
-  Revision 1.43  2003/01/13 14:54:34  daniel
-    * Further work to convert codegenerator register convention;
-      internalerror bug fixed.
-
-  Revision 1.42  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.41  2002/11/25 17:43:26  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.40  2002/09/07 15:25:10  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.39  2002/08/15 15:15:55  carl
-    * jmpbuf size allocation for exceptions is now cpu specific (as it should)
-    * more generic nodes for maths
-    * several fixes for better m68k support
-
-  Revision 1.38  2002/08/14 19:18:16  carl
-    * bugfix of unaryminus node with left LOC_CREGISTER
-
-  Revision 1.37  2002/08/12 15:08:42  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.36  2002/08/11 14:32:30  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.35  2002/08/11 13:24:17  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.34  2002/08/02 07:44:31  jonas
-    * made assigned() handling generic
-    * add nodes now can also evaluate constant expressions at compile time
-      that contain nil nodes
-
-  Revision 1.33  2002/07/20 11:58:02  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.32  2002/07/01 18:46:33  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.31  2002/05/18 13:34:25  peter
-    * readded missing revisions
-
-  Revision 1.30  2002/05/16 19:46:51  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.28  2002/05/13 19:54:38  peter
-    * removed n386ld and n386util units
-    * maybe_save/maybe_restore added instead of the old maybe_push
-
-  Revision 1.27  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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.26  2002/04/04 19:06:12  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.25  2002/04/02 17:11:36  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.24  2002/03/31 20:26:39  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-  Revision 1.23  2002/03/04 19:10:14  peter
-    * removed compiler warnings
-
 }

+ 4 - 191
compiler/i386/n386mem.pas

@@ -145,7 +145,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.61  2004-06-16 20:07:10  florian
+  Revision 1.62  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.61  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.60.2.2  2004/05/01 16:02:10  peter
@@ -163,194 +166,4 @@ end.
     + aint introduced
     * tppufile.get/putint64/aint implemented
 
-  Revision 1.59  2003/10/21 15:13:27  peter
-    * fix vecnode code that caused to much register conflicts
-
-  Revision 1.58  2003/10/10 17:48:14  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.57  2003/10/09 21:31:37  daniel
-    * Register allocator splitted, ans abstract now
-
-  Revision 1.56  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.55  2003/09/29 20:58:56  peter
-    * optimized releasing of registers
-
-  Revision 1.54  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.53.2.2  2003/08/31 15:46:26  peter
-    * more updates for tregister
-
-  Revision 1.53.2.1  2003/08/29 17:29:00  peter
-    * next batch of updates
-
-  Revision 1.53  2003/06/01 21:38:06  peter
-    * getregisterfpu size parameter added
-    * op_const_reg size parameter added
-    * sparc updates
-
-  Revision 1.52  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.51  2003/03/28 19:16:57  peter
-    * generic constructor working for i386
-    * remove fixed self register
-    * esi added as address register for i386
-
-  Revision 1.50  2003/02/19 22:00:15  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.49  2003/01/13 18:37:44  daniel
-    * Work on register conversion
-
-  Revision 1.48  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.47  2002/12/03 22:14:12  carl
-     + use FPC_CHECKPOINTER once again
-
-  Revision 1.46  2002/11/25 17:43:27  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.45  2002/11/23 22:50:09  carl
-    * some small speed optimizations
-    + added several new warnings/hints
-
-  Revision 1.44  2002/09/07 15:25:11  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.43  2002/09/01 19:27:35  peter
-    * use index register when available for generating a reference with
-      only a signle register. Using the base register could possibly
-      destroy the framepointer
-
-  Revision 1.42  2002/09/01 18:46:01  peter
-    * fixed generic tcgvecnode
-    * move code that updates a reference with index register and multiplier
-      to separate method so it can be overriden for scaled indexing
-    * i386 uses generic tcgvecnode
-
-  Revision 1.41  2002/08/11 14:32:30  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.40  2002/08/11 13:24:17  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.39  2002/07/28 21:34:31  florian
-    * more powerpc fixes
-    + dummy tcgvecnode
-
-  Revision 1.38  2002/07/20 11:58:04  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.37  2002/07/11 14:41:33  florian
-    * start of the new generic parameter handling
-
-  Revision 1.36  2002/07/07 09:52:34  florian
-    * powerpc target fixed, very simple units can be compiled
-    * some basic stuff for better callparanode handling, far from being finished
-
-  Revision 1.35  2002/07/01 18:46:33  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.34  2002/06/24 12:43:01  jonas
-    * fixed errors found with new -CR code from Peter when cycling with -O2p3r
-
-  Revision 1.33  2002/05/18 13:34:25  peter
-    * readded missing revisions
-
-  Revision 1.32  2002/05/16 19:46:51  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.30  2002/05/13 19:54:38  peter
-    * removed n386ld and n386util units
-    * maybe_save/maybe_restore added instead of the old maybe_push
-
-  Revision 1.29  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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.28  2002/04/21 19:02:07  peter
-    * removed newn and disposen nodes, the code is now directly
-      inlined from pexpr
-    * -an option that will write the secondpass nodes to the .s file, this
-      requires EXTDEBUG define to actually write the info
-    * fixed various internal errors and crashes due recent code changes
-
-  Revision 1.27  2002/04/20 21:37:07  carl
-  + generic FPC_CHECKPOINTER
-  + first parameter offset in stack now portable
-  * rename some constants
-  + move some cpu stuff to other units
-  - remove unused constents
-  * fix stacksize for some targets
-  * fix generic size problems which depend now on EXTEND_SIZE constant
-  * removing frame pointer in routines is only available for : i386,m68k and vis targets
-
-  Revision 1.26  2002/04/19 15:39:35  peter
-    * removed some more routines from cga
-    * moved location_force_reg/mem to ncgutil
-    * moved arrayconstructnode secondpass to ncgld
-
-  Revision 1.25  2002/04/15 19:12:09  carl
-  + target_info.size_of_pointer -> sizeof(aint)
-  + some cleanup of unused types/variables
-  * move several constants from cpubase to their specific units
-    (where they are used)
-  + att_Reg2str -> gas_reg2str
-  + int_reg2str -> std_reg2str
-
-  Revision 1.24  2002/04/04 19:06:12  peter
-    * removed unused units
-    * use tlocation.size in cg.a_*loc*() routines
-
-  Revision 1.23  2002/04/02 17:11:36  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
 }

+ 4 - 146
compiler/i386/n386obj.pas

@@ -239,7 +239,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.33  2004-06-16 20:07:10  florian
+  Revision 1.34  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.33  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.32.2.2  2004/05/01 16:02:10  peter
@@ -255,149 +258,4 @@ end.
   Revision 1.31  2004/02/27 13:42:52  olle
     + added Tai_symbol_end
 
-  Revision 1.30  2004/02/27 10:21:05  florian
-    * top_symbol killed
-    + refaddr to treference added
-    + refsymbol to treference added
-    * top_local stuff moved to an extra record to save memory
-    + aint introduced
-    * tppufile.get/putint64/aint implemented
-
-  Revision 1.29  2003/12/23 23:12:44  peter
-    * extnumber failure is $ffff instead of -1
-    * fix non-vmt call for register calling on i386
-
-  Revision 1.28  2003/12/17 21:59:59  peter
-    * register call fix
-
-  Revision 1.27  2003/10/10 17:48:14  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.26  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.25  2003/09/25 21:30:11  peter
-    * parameter fixes
-
-  Revision 1.24  2003/09/25 14:59:06  peter
-    * fix intf wrapper code
-
-  Revision 1.23  2003/09/23 17:56:06  peter
-    * locals and paras are allocated in the code generation
-    * tvarsym.localloc contains the location of para/local when
-      generating code for the current procedure
-
-  Revision 1.22  2003/09/07 22:09:35  peter
-    * preparations for different default calling conventions
-    * various RA fixes
-
-  Revision 1.21  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.20.2.1  2003/08/29 17:29:00  peter
-    * next batch of updates
-
-  Revision 1.20  2003/06/03 21:11:09  peter
-    * cg.a_load_* get a from and to size specifier
-    * makeregsize only accepts newregister
-    * i386 uses generic tcgnotnode,tcgunaryminus
-
-  Revision 1.19  2003/05/15 18:58:54  peter
-    * removed selfpointer_offset, vmtpointer_offset
-    * tvarsym.adjusted_address
-    * address in localsymtable is now in the real direction
-    * removed some obsolete globals
-
-  Revision 1.18  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.17  2003/01/13 14:54:34  daniel
-    * Further work to convert codegenerator register convention;
-      internalerror bug fixed.
-
-  Revision 1.16  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.15  2002/08/11 14:32:30  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.14  2002/08/11 13:24:17  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.13  2002/08/09 07:33:04  florian
-    * a couple of interface related fixes
-
-  Revision 1.12  2002/07/16 15:34:21  florian
-    * exit is now a syssym instead of a keyword
-
-  Revision 1.11  2002/07/01 18:46:33  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.10  2002/05/18 13:34:25  peter
-    * readded missing revisions
-
-  Revision 1.9  2002/05/16 19:46:52  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.6  2002/04/02 17:11:36  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.5  2002/03/31 20:26:39  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
 }

+ 5 - 287
compiler/i386/n386set.pas

@@ -226,7 +226,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.75  2004-06-16 20:07:10  florian
+  Revision 1.76  2004-06-20 08:55:31  florian
+    * logs truncated
+
+  Revision 1.75  2004/06/16 20:07:10  florian
     * dwarf branch merged
 
   Revision 1.74  2004/05/22 23:34:28  peter
@@ -241,289 +244,4 @@ end.
   Revision 1.73.2.3  2004/04/29 23:30:28  peter
     * fix i386 compiler
 
-  Revision 1.73.2.2  2004/04/12 14:45:11  peter
-    * tai_const_symbol and tai_const merged
-
-  Revision 1.73.2.1  2004/04/08 18:33:22  peter
-    * rewrite of TAsmSection
-
-  Revision 1.73  2004/02/27 10:21:05  florian
-    * top_symbol killed
-    + refaddr to treference added
-    + refsymbol to treference added
-    * top_local stuff moved to an extra record to save memory
-    + aint introduced
-    * tppufile.get/putint64/aint implemented
-
-  Revision 1.72  2004/02/22 12:04:04  florian
-    + nx86set added
-    * some more x86-64 fixes
-
-  Revision 1.71  2004/02/03 22:32:54  peter
-    * renamed xNNbittype to xNNinttype
-    * renamed registers32 to registersint
-    * replace some s32bit,u32bit with torddef([su]inttype).def.typ
-
-  Revision 1.70  2003/11/07 15:58:32  florian
-    * Florian's culmutative nr. 1; contains:
-      - invalid calling conventions for a certain cpu are rejected
-      - arm softfloat calling conventions
-      - -Sp for cpu dependend code generation
-      - several arm fixes
-      - remaining code for value open array paras on heap
-
-  Revision 1.69  2003/10/10 17:48:14  peter
-    * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
-    * tregisteralloctor renamed to trgobj
-    * removed rgobj from a lot of units
-    * moved location_* and reference_* to cgobj
-    * first things for mmx register allocation
-
-  Revision 1.68  2003/10/09 21:31:37  daniel
-    * Register allocator splitted, ans abstract now
-
-  Revision 1.67  2003/10/01 20:34:49  peter
-    * procinfo unit contains tprocinfo
-    * cginfo renamed to cgbase
-    * moved cgmessage to verbose
-    * fixed ppc and sparc compiles
-
-  Revision 1.66  2003/09/28 21:48:20  peter
-    * fix register leaks
-
-  Revision 1.65  2003/09/07 22:09:35  peter
-    * preparations for different default calling conventions
-    * various RA fixes
-
-  Revision 1.64  2003/09/05 11:21:39  marco
-   * applied Peter's patch. Now cycles.
-
-  Revision 1.63  2003/09/03 15:55:01  peter
-    * NEWRA branch merged
-
-  Revision 1.62.2.1  2003/08/29 17:29:00  peter
-    * next batch of updates
-
-  Revision 1.62  2003/06/12 22:10:44  jonas
-    * t386innode.pass_2 already doesn't call a helper anymore since a long
-      time
-
-  Revision 1.61  2003/06/03 21:11:09  peter
-    * cg.a_load_* get a from and to size specifier
-    * makeregsize only accepts newregister
-    * i386 uses generic tcgnotnode,tcgunaryminus
-
-  Revision 1.60  2003/06/01 21:38:06  peter
-    * getregisterfpu size parameter added
-    * op_const_reg size parameter added
-    * sparc updates
-
-  Revision 1.59  2003/05/31 15:04:31  peter
-    * load_loc_reg update
-
-  Revision 1.58  2003/05/22 21:32:29  peter
-    * removed some unit dependencies
-
-  Revision 1.57  2003/04/27 11:21:35  peter
-    * aktprocdef renamed to current_procdef
-    * procinfo renamed to current_procinfo
-    * procinfo will now be stored in current_module so it can be
-      cleaned up properly
-    * gen_main_procsym changed to create_main_proc and release_main_proc
-      to also generate a tprocinfo structure
-    * fixed unit implicit initfinal
-
-  Revision 1.56  2003/04/25 08:25:26  daniel
-    * Ifdefs around a lot of calls to cleartempgen
-    * Fixed registers that are allocated but not freed in several nodes
-    * Tweak to register allocator to cause less spills
-    * 8-bit registers now interfere with esi,edi and ebp
-      Compiler can now compile rtl successfully when using new register
-      allocator
-
-  Revision 1.55  2003/04/23 09:51:16  daniel
-    * Removed usage of edi in a lot of places when new register allocator used
-    + Added newra versions of g_concatcopy and secondadd_float
-
-  Revision 1.54  2003/04/22 23:50:23  peter
-    * firstpass uses expectloc
-    * checks if there are differences between the expectloc and
-      location.loc from secondpass in EXTDEBUG
-
-  Revision 1.53  2003/04/22 14:33:38  peter
-    * removed some notes/hints
-
-  Revision 1.52  2003/04/22 10:09:35  daniel
-    + Implemented the actual register allocator
-    + Scratch registers unavailable when new register allocator used
-    + maybe_save/maybe_restore unavailable when new register allocator used
-
-  Revision 1.51  2003/03/13 19:52:23  jonas
-    * and more new register allocator fixes (in the i386 code generator this
-      time). At least now the ppc cross compiler can compile the linux
-      system unit again, but I haven't tested it.
-
-  Revision 1.50  2003/02/26 23:06:13  daniel
-    * Fixed an illegal use of makeregsize
-
-  Revision 1.49  2003/02/19 22:39:56  daniel
-    * Fixed a few issues
-
-  Revision 1.48  2003/02/19 22:00:15  daniel
-    * Code generator converted to new register notation
-    - Horribily outdated todo.txt removed
-
-  Revision 1.47  2003/01/13 14:54:34  daniel
-    * Further work to convert codegenerator register convention;
-      internalerror bug fixed.
-
-  Revision 1.46  2003/01/08 18:43:57  daniel
-   * Tregister changed into a record
-
-  Revision 1.45  2002/11/25 17:43:27  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.44  2002/10/03 21:34:45  carl
-    * range check error fixes
-
-  Revision 1.43  2002/09/17 18:54:05  jonas
-    * a_load_reg_reg() now has two size parameters: source and dest. This
-      allows some optimizations on architectures that don't encode the
-      register size in the register name.
-
-  Revision 1.42  2002/09/16 18:08:26  peter
-    * fix last optimization in genlinearlist, detected by bug tw1066
-    * use generic casenode.pass2 routine and override genlinearlist
-    * add jumptable support to generic casenode, by default there is
-      no jumptable support
-
-  Revision 1.41  2002/09/09 13:57:45  jonas
-    * small optimization to case genlist() case statements
-
-  Revision 1.40  2002/08/17 09:23:46  florian
-    * first part of procinfo rewrite
-
-  Revision 1.39  2002/08/12 15:08:42  carl
-    + stab register indexes for powerpc (moved from gdb to cpubase)
-    + tprocessor enumeration moved to cpuinfo
-    + linker in target_info is now a class
-    * many many updates for m68k (will soon start to compile)
-    - removed some ifdef or correct them for correct cpu
-
-  Revision 1.38  2002/08/11 14:32:30  peter
-    * renamed current_library to objectlibrary
-
-  Revision 1.37  2002/08/11 13:24:17  peter
-    * saving of asmsymbols in ppu supported
-    * asmsymbollist global is removed and moved into a new class
-      tasmlibrarydata that will hold the info of a .a file which
-      corresponds with a single module. Added librarydata to tmodule
-      to keep the library info stored for the module. In the future the
-      objectfiles will also be stored to the tasmlibrarydata class
-    * all getlabel/newasmsymbol and friends are moved to the new class
-
-  Revision 1.36  2002/07/23 14:31:00  daniel
-  * Added internal error when asked to generate code for 'if expr in []'
-
-  Revision 1.35  2002/07/20 11:58:04  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.34  2002/07/11 14:41:34  florian
-    * start of the new generic parameter handling
-
-  Revision 1.33  2002/07/06 20:27:26  carl
-  + generic set handling
-
-  Revision 1.32  2002/07/01 18:46:33  peter
-    * internal linker
-    * reorganized aasm layer
-
-  Revision 1.31  2002/05/18 13:34:25  peter
-    * readded missing revisions
-
-  Revision 1.30  2002/05/16 19:46:52  carl
-  + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
-  + try to fix temp allocation (still in ifdef)
-  + generic constructor calls
-  + start of tassembler / tmodulebase class cleanup
-
-  Revision 1.28  2002/05/13 19:54:38  peter
-    * removed n386ld and n386util units
-    * maybe_save/maybe_restore added instead of the old maybe_push
-
-  Revision 1.27  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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.26  2002/04/25 20:16:40  peter
-    * moved more routines from cga/n386util
-
-  Revision 1.25  2002/04/21 19:02:07  peter
-    * removed newn and disposen nodes, the code is now directly
-      inlined from pexpr
-    * -an option that will write the secondpass nodes to the .s file, this
-      requires EXTDEBUG define to actually write the info
-    * fixed various internal errors and crashes due recent code changes
-
-  Revision 1.24  2002/04/21 15:37:26  carl
-  * changeregsize -> rg.makeregsize
-
-  Revision 1.23  2002/04/19 15:39:35  peter
-    * removed some more routines from cga
-    * moved location_force_reg/mem to ncgutil
-    * moved arrayconstructnode secondpass to ncgld
-
-  Revision 1.22  2002/04/15 19:44:21  peter
-    * fixed stackcheck that would be called recursively when a stack
-      error was found
-    * generic changeregsize(reg,size) for i386 register resizing
-    * removed some more routines from cga unit
-    * fixed returnvalue handling
-    * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
-
-  Revision 1.21  2002/04/02 17:11:36  peter
-    * tlocation,treference update
-    * LOC_CONSTANT added for better constant handling
-    * secondadd splitted in multiple routines
-    * location_force_reg added for loading a location to a register
-      of a specified size
-    * secondassignment parses now first the right and then the left node
-      (this is compatible with Kylix). This saves a lot of push/pop especially
-      with string operations
-    * adapted some routines to use the new cg methods
-
-  Revision 1.20  2002/03/31 20:26:39  jonas
-    + a_loadfpu_* and a_loadmm_* methods in tcg
-    * register allocation is now handled by a class and is mostly processor
-      independent (+rgobj.pas and i386/rgcpu.pas)
-    * temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
-    * some small improvements and fixes to the optimizer
-    * some register allocation fixes
-    * some fpuvaroffset fixes in the unary minus node
-    * push/popusedregisters is now called rg.save/restoreusedregisters and
-      (for i386) uses temps instead of push/pop's when using -Op3 (that code is
-      also better optimizable)
-    * fixed and optimized register saving/restoring for new/dispose nodes
-    * LOC_FPU locations now also require their "register" field to be set to
-      R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
-    - list field removed of the tnode class because it's not used currently
-      and can cause hard-to-find bugs
-
-}
+}

+ 2 - 19
compiler/i386/optbase.pas

@@ -79,24 +79,7 @@ end.
 
 {
   $Log$
-  Revision 1.2  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
-    * -CR checks also class typecasts at runtime by changing them
-      into as
-    * fixed compiler to cycle with the -CR option
-    * fixed stabs with elf writer, finally the global variables can
-      be watched
-    * removed a lot of routines from cga unit and replaced them by
-      calls to cgobj
-    * u32bit-s32bit updates for and,or,xor nodes. When one element is
-      u32bit then the other is typecasted also to u32bit without giving
-      a rangecheck warning/error.
-    * fixed pascal calling method with reversing also the high tree in
-      the parast, detected by tcalcst3 test
-
-  Revision 1.1  2002/04/20 21:50:14  carl
-  + optimization cpu specific information base file
+  Revision 1.3  2004-06-20 08:55:31  florian
+    * logs truncated
 
 }

部分文件因为文件数量过多而无法显示