Commit Graph

2326 Commits

Author SHA1 Message Date
florian
c549646c95 * hopefully an error in Peter's previous commit fixed 1999-09-13 20:49:41 +00:00
peter
8a941c2568 * typo in previous commit open_array -> chararray :( 1999-09-13 16:28:05 +00:00
peter
1163717044 * fix for jmps to be always near
* string writing fixed
1999-09-13 16:27:24 +00:00
peter
8a6774104d * fix crash with empty object as childs 1999-09-13 16:26:32 +00:00
peter
0004218ade * remvoed unused var 1999-09-13 16:23:42 +00:00
florian
e8f6d4e836 * fixed a crash under Linux. Why doesn't have the damned Windows DPMI nil pointer
protection???
1999-09-12 21:35:38 +00:00
florian
6bbd06b90c * tnamedindexobject._name should be never accessed direct! Use the
function name instead
1999-09-12 15:45:11 +00:00
florian
c3b3c19887 + implemented creation of methodname/address tables 1999-09-12 14:50:50 +00:00
florian
02c2611b20 * bugs 593 and 607 fixed
* some other potential bugs with array constructors fixed
  * for classes compiled in $M+ and it's childs, the default access method
    is now published
  * fixed copyright message (it is now 1993-99)
1999-09-12 08:48:03 +00:00
florian
35eef74308 * bug fix for @tobject.method, fixes bug #557, 605 and 606 1999-09-11 19:47:26 +00:00
florian
6165d59dfd * bug #603 fixed 1999-09-11 11:23:58 +00:00
florian
a42799b4f2 * fix of my previous commit, make cycle was broken 1999-09-11 11:10:39 +00:00
florian
1609dde2ca * fixed bug #596
* fixed some problems with procedure variables and procedures of object,
    especially in TP mode. Procedure of object doesn't apply only to classes,
    it is also allowed for objects !!
1999-09-11 09:08:31 +00:00
florian
4c2361303c * some more fixes for stored properties 1999-09-10 20:57:33 +00:00
florian
a9d8bfa1f7 * some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid)
* most things for stored properties fixed
1999-09-10 18:48:00 +00:00
peter
9ef54daf28 * fixed with <calln> do
* fixed finalize/initialize call for new/dispose
1999-09-10 15:42:50 +00:00
peter
96bd939047 * added symbol_end 1999-09-10 15:41:18 +00:00
peter
40291ee626 * fixed array check for operators, becuase array can also be a set 1999-09-10 15:40:46 +00:00
michael
118a99513d * Stored specifier for properties is now correctly parsed 1999-09-08 21:06:06 +00:00
peter
dd0d54cdef * added pointer and asm field axx 1999-09-08 16:07:21 +00:00
peter
be49731850 * pointer add/sub is now as expected and the same results as inc/dec 1999-09-08 16:05:29 +00:00
peter
05f2be0455 * better support for object fields and more error checks for
field accesses which create buggy code
1999-09-08 16:04:01 +00:00
peter
91962591f3 * tokendat compiles for tp
* tokens.dat supplied by default
1999-09-08 16:02:03 +00:00
Jonas Maebe
d8cce3f25a * some small changes so the new optimizer is again compilable 1999-09-08 15:05:43 +00:00
Jonas Maebe
28ddb689cb * some small changes so the noew optimizer is again compilable 1999-09-08 15:01:29 +00:00
peter
d2fd1ea874 * fixed bug #248 1999-09-08 08:05:44 +00:00
pierre
79f1833059 * runerror => do_halt 1999-09-07 15:22:20 +00:00
pierre
7439aa4828 * use do_internalerror insetead of runerror 1999-09-07 15:11:00 +00:00
pierre
a5c2aa5df8 * use do_halt instead of halt 1999-09-07 15:10:04 +00:00
pierre
1540c674d3 * runerror => do_internalerror 1999-09-07 15:08:51 +00:00
pierre
9d5205f1e9 * avoid some infinite recursions 1999-09-07 15:07:49 +00:00
pierre
eca64b4ab6 * use do_halt instead of runerror 1999-09-07 15:05:19 +00:00
pierre
aaba6f160a * powerpc default was alpha !! 1999-09-07 15:02:41 +00:00
pierre
ee98742add * elem in set_type did not work yet 1999-09-07 15:01:33 +00:00
pierre
c528cf639f * bugfix for 237 and 244 1999-09-07 14:59:40 +00:00
Jonas Maebe
88306ed3f3 * framepointer cannot be changed to esp for methods 1999-09-07 14:12:35 +00:00
pierre
b72dcb6d51 * arraytokeninfo type set to ttokenarray 1999-09-07 14:06:49 +00:00
pierre
f5d21809d7 * halt removed in do_lowhigh 1999-09-07 14:05:11 +00:00
pierre
2e65e6a618 + added do_halt procedure 1999-09-07 14:03:48 +00:00
peter
6f3c128959 * better OFFSET support for reference reading 1999-09-07 13:03:10 +00:00
peter
7fd914d24c * @(<x>) support 1999-09-07 08:01:20 +00:00
peter
ea753c5807 * reload esi in except block to allow virtual methods 1999-09-07 07:56:37 +00:00
peter
2c94850f4c * small array push to open array fixed, open array always needs addr
pushing
1999-09-07 07:54:23 +00:00
peter
f89f09413b * > < >= <= support for boolean
* boolean constants are now calculated like integer constants
1999-09-07 07:52:19 +00:00
peter
453773ecb2 * TYPE support 1999-09-07 07:45:29 +00:00
florian
ac20c15ef4 + fld reg;fxxx to fxxxr reg optimization 1999-09-05 14:27:19 +00:00
Jonas Maebe
9793c4eee9 * fixed typo's in -darithopt 1999-09-05 12:37:50 +00:00
florian
96dd7c82fa * bug #580 fixed 1999-09-04 20:50:08 +00:00
florian
f7af47f31f * bug #577 fixed 1999-09-04 20:29:11 +00:00
Jonas Maebe
56ddb9a0af + implemented most necessary methods 1999-09-03 13:15:47 +00:00
Jonas Maebe
f4180329fc + implemented some parameter passing methods, but they require\n some more helper routines\n * fix for loading symbol addresses (still needs to be done in a_loadaddress)\n * several changes to the way conditional branches are handled 1999-09-03 13:14:11 +00:00
Jonas Maebe
818885454f * several changes to the way conditional branches are handled\n * some typos fixed 1999-09-03 13:11:59 +00:00
Jonas Maebe
3086a9f355 * condition is now zeroed using fillchar\n because on powerpc it's a record now 1999-09-03 13:10:11 +00:00
Jonas Maebe
6be94d5604 * fixed typo regarding scratchregs pointer 1999-09-03 13:09:09 +00:00
Jonas Maebe
4abc13fd78 * defined some necessary virtual helper methods 1999-09-03 13:08:36 +00:00
pierre
781117b288 * message about conditionals changed to Hint 1999-09-03 10:54:22 +00:00
peter
0b396c0466 * $IFNDEF is 7 chars and not 6 chars 1999-09-03 10:02:48 +00:00
peter
6b25740f01 * included the 1.60 version of Pierre which was lost ! 1999-09-03 10:00:49 +00:00
peter
7ad9983cb7 * reading of search paths fixed to work as expected 1999-09-03 09:31:22 +00:00
pierre
29bdd631a1 * tokens.dat only used for TP, and also removed from
compiler dependencies
1999-09-03 08:37:34 +00:00
daniel
1777e0c901 * Could not compile with TP, some arrays moved to heap
* NOAG386BIN default for TP
  * AG386* files were not compatible with TP, fixed.
1999-09-02 18:47:41 +00:00
florian
63ceb87e8f * problems with -Or fixed: tdef.isfpuregable was wrong! 1999-09-02 17:07:38 +00:00
peter
bd55afa666 * fixed double dispose of propsymlist 1999-09-02 09:23:51 +00:00
peter
037319700d * moved parsing interface/implementation to -vu 1999-09-01 22:18:37 +00:00
peter
678aa200f1 * fixed crash with assigned() 1999-09-01 22:08:58 +00:00
peter
e767ef9897 * turn off stripping if profiling or debugging 1999-09-01 22:07:20 +00:00
daniel
6d332cfc77 * Vertalingsfouten verbeterd. 1999-09-01 19:08:20 +00:00
florian
860747346f * fixed writing of class rtti: vmt offset were written wrong 1999-09-01 13:44:56 +00:00
peter
c60bf19553 * update for new push_lea_loc 1999-09-01 09:42:13 +00:00
peter
4a9bbef37a * removed warning 1999-09-01 09:37:14 +00:00
peter
8e5c13cf47 * fixed temp allocation for arrayconstructor 1999-09-01 09:26:21 +00:00
pierre
72507a8397 + tmacrosym.is_used set 1999-08-31 15:55:45 +00:00
pierre
5b38d71a12 * in_second_compile cleaned up, in_compile and in_second_load added 1999-08-31 15:51:10 +00:00
pierre
5536344e9f + startup conditionnals stored in PPU file for debug info 1999-08-31 15:47:56 +00:00
pierre
6a5ee6b933 * do_crc must be false for all browser stuff
+ tmacrosym defined_at_startup set in def_macro and set_macro
1999-08-31 15:46:21 +00:00
pierre
f2f1fed583 + tmacrosym is_used and defined_at_startup boolean fields added 1999-08-31 15:42:24 +00:00
pierre
c2abde1296 * tempclosing of ppufiles under dos was wrong 1999-08-30 16:21:40 +00:00
pierre
20d1fb52b6 * problem with maybe_push/restore solved hopefully 1999-08-30 12:00:44 +00:00
peter
0274f3a08b * fixed crash in psub
* ansistringcompare fixed
  * support for #$0b8
1999-08-30 10:17:56 +00:00
pierre
6c8bdc4351 * last change undone because cycle was broken 1999-08-30 09:41:31 +00:00
peter
61bb479584 * fixed crash in restore 1999-08-28 17:48:34 +00:00
peter
c71963e885 * resources are working correct 1999-08-28 17:46:10 +00:00
florian
656d4330cd * bug #519 fixed 1999-08-28 15:34:16 +00:00
michael
76f28920e9 * Fixed small bug: next field in resourcelist was not initialized 1999-08-27 15:55:36 +00:00
pierre
55f6e70490 * double checksum problem solved 1999-08-27 14:52:56 +00:00
peter
e54801a2fe * fixed crash with typedconst array 1999-08-27 14:37:50 +00:00
pierre
71829524a2 + define SHORT_ON_FILE_HANDLES for DOS targets
causes tempclose of ppufiles
  + double_checksum code released
    (you can try with -dDONT_USE_DOUBLE_CHECKSUM to see the difference)
    this allow second compilation of compiler without any
    unit recompilation !!!!
1999-08-27 10:57:56 +00:00
pierre
92801b8a35 * some code adapted to CRC_only computation
+ main file is search in unitspathlist
    and triggers do_compile flag
  * some changes to get identical CRC vaules after
    interface and after implementation
1999-08-27 10:54:45 +00:00
pierre
7288d7bd89 + simplify_ppu code added :
sets all registers used at PPU writing
  * tprocdef mangledname writing is CRC relevant
1999-08-27 10:52:19 +00:00
pierre
3d12f8119a + tppufile.tempclose and tempopen added
* some changes so that nothing is writtedn to disk while
    calculating CRC only
1999-08-27 10:48:40 +00:00
pierre
03263b9285 + some EXTTEMPREGDEBUG code added 1999-08-27 10:46:26 +00:00
pierre
d585f0544f options -Ca sets simply_ppu to true 1999-08-27 10:45:00 +00:00
pierre
01c6ff7169 + interface CRC check with ifdef Test_double_checksum added 1999-08-27 10:43:20 +00:00
pierre
154386ac6a * pi_is_global was missing for global methods
+ code to restore overloaded list order
    (necessary to get same CRC values after interface and after
    implementation)
1999-08-27 10:41:46 +00:00
pierre
e1744c9db6 * uf_local_browser made problem when computing interface CRC 1999-08-27 10:39:24 +00:00
pierre
088f2ba6cc + EXTTEMPREGDEBUG code added 1999-08-27 10:38:31 +00:00
michael
ea0a5097c8 + Inittables should not contain fields which are classes 1999-08-27 10:24:34 +00:00
peter
2f95239feb * fixed crash when childof was nil 1999-08-26 21:17:39 +00:00
peter
cbd7de9e6f * write date of the compiler into the executable 1999-08-26 21:16:21 +00:00
peter
1ae7f425c5 * array elementsize of 0 doesn't crash anymore 1999-08-26 21:13:58 +00:00
peter
5e26e5d0c9 * better error recovery for case 1999-08-26 21:10:08 +00:00
michael
dc3cc78caa + Hopefuly last fixes for resourcestrings 1999-08-26 20:24:37 +00:00
Jonas Maebe
acc55a83c7 * first implementation of concatcopy (requires 4 scratch regs) 1999-08-26 14:53:41 +00:00
Jonas Maebe
6531f55008 * added segprefix field for i386 in tainstruction object 1999-08-26 14:52:59 +00:00
Jonas Maebe
fc6b6505fd * changed get_scratch_reg so it actually uses the\n scratch_reg_array_pointer 1999-08-26 14:51:54 +00:00
Jonas Maebe
bb974dc8aa * fixed small type in TP conditional 1999-08-26 14:50:52 +00:00
pierre
0e54531413 * remove trailing space in cfg files 1999-08-25 22:51:00 +00:00
peter
da93f32ae0 * resources are working again 1999-08-25 16:41:04 +00:00
peter
01fc4505c9 * symbol name is now written using separate asmwrite() calls to overcome
> 255 char strings
1999-08-25 16:03:46 +00:00
Jonas Maebe
5fc1435036 * changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu) 1999-08-25 11:59:32 +00:00
michael
9f61960ca1 * more resourcestring changes 1999-08-24 22:38:51 +00:00
peter
06a845c5e8 * MEMDEBUG to see the sizes of asmlist,asmsymbols,symtables 1999-08-24 13:13:57 +00:00
michael
85ff3e15db + changes for resourcestrings 1999-08-24 12:01:32 +00:00
pierre
87847fac70 * wrong testregisters32 placement corrected 1999-08-24 09:07:04 +00:00
pierre
2fe4c8b727 * hnewn location corrected 1999-08-23 23:49:21 +00:00
pierre
4fcd7adf4a * del_reference moved to respect registers32 in secondin 1999-08-23 23:46:42 +00:00
pierre
e7d56c97a8 * setelementn registers32 corrected 1999-08-23 23:44:05 +00:00
pierre
cf18a314d1 * hnewn reg allocation corrected 1999-08-23 23:42:52 +00:00
pierre
57c239961e * for reg allocation corrected 1999-08-23 23:41:45 +00:00
pierre
71bcdce000 * in_inc_x register allocation corrected 1999-08-23 23:41:04 +00:00
pierre
a7bc2dfb17 + TEMPREGDEBUG code added 1999-08-23 23:38:18 +00:00
pierre
1c9e86eb05 * firstnot register counting error corrected 1999-08-23 23:37:01 +00:00
pierre
f3c414e84a * one more register needed if hnewn with CREGISTER 1999-08-23 23:34:15 +00:00
pierre
0fb02e9155 * double del_location removed in add_set 1999-08-23 23:31:00 +00:00
pierre
009aaad4a9 + dummy InitCpu/DoneCpu 1999-08-23 23:27:54 +00:00
pierre
409b092c87 + TEMPREGDEBUG code, test of register allocation
if a tree uses more than registers32 regs then
    internalerror(10) is issued
  + EXTTEMPREGDEBUG will also give internalerror(10) if
    a same register is freed twice (happens in several part
    of current compiler like addn for strings and sets)
1999-08-23 23:25:58 +00:00
Jonas Maebe
1ec81566cc + checksequence (processor independent)\n + processor independent part of docse 1999-08-23 14:41:12 +00:00
michael
ec590068e2 * resourcestrings ams list needs unitname prepended 1999-08-23 11:48:23 +00:00
michael
d57e16aec2 * Hopefully final attempt at resourcestrings 1999-08-23 11:45:39 +00:00
Jonas Maebe
1ef759bc9a * fixed <= and >= for sets 1999-08-23 10:35:13 +00:00
Jonas Maebe
618547adf0 * fixed pop/push optmization 1999-08-23 10:20:46 +00:00
michael
f0fa79dad2 + Patch from pierre 1999-08-20 10:17:01 +00:00
michael
5f30aacb93 + Fixed ifdef NOAG386BIN bug 1999-08-19 20:05:09 +00:00
pierre
82999520e4 + faillabel for _FAIL 1999-08-19 13:10:18 +00:00
pierre
63608b6dbb * emit_??? used 1999-08-19 13:08:43 +00:00
pierre
1f1b9e7883 * _FAIL will now free memory correctly
and reset VMT field on static instances
    (not yet tested for classes, is it allowed ?)
  + emit_.... all variant defined here to avoid tons of
    exprasmlist^.concat(new(pai386,...) in cg386***
1999-08-19 13:06:45 +00:00
pierre
1c8a7a1924 + label faillabel added for _FAIL support 1999-08-19 13:02:08 +00:00
florian
2359c7c013 + initial revision 1999-08-18 19:29:39 +00:00
florian
c512d38256 + implemented initilizing of data for the new code generator
so it should compile now simple programs
1999-08-18 17:05:53 +00:00
Jonas Maebe
56524f33df + compilable!
+ dataflow analyzer finished
  + start of CSE units
  + aoptbase which contains a base object for all optimizer objects
  * some constants and type definitions moved around to avoid circular
    dependencies
  * moved some methods from base objects to specialized objects because
    they're not used anywhere else
1999-08-18 14:32:20 +00:00
Jonas Maebe
cd3160e0c2 + some constants for the new optimizer 1999-08-18 13:26:23 +00:00
Jonas Maebe
8dc154ce24 * minor fixes regarding the reading of operands 1999-08-18 13:25:54 +00:00
pierre
d04add7c9f * esp loading corrected 1999-08-18 11:35:59 +00:00
michael
94d0da0639 RTTI writing patch 1999-08-17 13:58:56 +00:00
peter
19c48bf75b * arrayconstructor -> arrayofconst fixed when arraycosntructor was not
variant.
1999-08-17 13:26:06 +00:00
peter
8e653af606 * arrayconstructor -> openarray type conversions for element types 1999-08-16 23:23:38 +00:00
peter
da93a8740e * range check for array of const 1999-08-16 23:20:28 +00:00
peter
63499d5cc5 * fixes from gabor 1999-08-16 18:25:49 +00:00
peter
f225a5f0bd * reset resourcestringlist in newmodule. 1999-08-16 18:23:56 +00:00
pierre
576a2e4f42 * error in stabs for tclassrefdef corrected 1999-08-16 16:26:04 +00:00
pierre
96fdcfb1f2 * fix for DLL relocation problems
* external bss vars had wrong stabs for pecoff
  + -WB11000000 to specify default image base, allows to
    load several DLLs with debugging info included
    (relocatable DLL are stripped because the relocation
     of the .Stab section is misplaced by ldw)
1999-08-16 15:35:20 +00:00
daniel
157bc635ce * Fixed bugs. 1999-08-16 12:54:02 +00:00
peter
7b5e8ad618 * fixed property writeaccess which was buggy after my previous
subscribed property access
1999-08-15 22:47:45 +00:00
michael
1fc54ed702 + No Intel and binary writer for linux=smaller executable 1999-08-15 22:16:51 +00:00
michael
f2513ba3cb Changes for resource strings 1999-08-15 21:57:58 +00:00
peter
926a6c2d3e + normalset,smallset writing 1999-08-15 10:47:48 +00:00
peter
8d9aa81d3a * hack to support property with record fields 1999-08-14 00:38:53 +00:00
peter
2e99c59182 * array constructor support 1999-08-14 00:36:05 +00:00
peter
d7a37edfbd * support for array constructors extended and more error checking 1999-08-13 21:33:09 +00:00
peter
ab8edb8970 * more reference types support
* arraydef size returns elementsize, also for multiple indexing array
1999-08-13 21:28:36 +00:00
peter
d03f29df08 * more fixes for push_addr 1999-08-13 21:27:08 +00:00
peter
54baf96873 * first things to include lineinfo in the executable 1999-08-13 15:44:57 +00:00
peter
be98f80d7f * fixed proc->procvar conversion for tp_procvar mode, it now uses
also the genload(method)call() function
1999-08-13 15:43:59 +00:00
peter
ceecb1c885 * fixed push_addr_param for records < 4, the array high<low range check
broke this code.
1999-08-13 15:38:23 +00:00
peter
13c7fed55d * fixed suffix writing for a_setcc 1999-08-13 15:36:30 +00:00
pierre
8b4c7f2402 + stabs for classes and classref working,
a class still needs an ^ to get that content of it,
    but the class fields inside a class don't result into an
    infinite loop anymore!
1999-08-13 14:24:17 +00:00
pierre
7d2b96d4d6 * added inherited init call to tstringcontainer.init_no_double for Peter 1999-08-12 23:19:05 +00:00
peter
bfe185d206 + KNI instructions 1999-08-12 14:36:01 +00:00
peter
631d19fc85 * tp_procvar mode call->loadn fixed 1999-08-12 14:34:28 +00:00
peter
420127efe6 * long line fix 1999-08-12 14:31:20 +00:00
peter
fc8211bbb8 * tlinker object is now inherited for win32 and dos
* postprocessexecutable is now a method of tlinker
1999-08-11 17:26:31 +00:00
peter
0b82a7dfd6 * fixed rva writting for section relocs
* fixed section flags for edata and idata
1999-08-11 17:17:38 +00:00
Jonas Maebe
25a7035988 - removed RefsHaveSymbol define (I think references on all processors can have a symbol) 1999-08-11 14:24:38 +00:00
Jonas Maebe
1d923a08ec * some fixes to RegReadByInstr 1999-08-11 14:23:39 +00:00
Jonas Maebe
265f3c09be + first version, added TAsmDFACpu object and CpuDFA method 1999-08-11 14:22:56 +00:00
Jonas Maebe
dbb0bebac9 * finished DoDFAPass2 1999-08-11 14:20:51 +00:00
Jonas Maebe
aa5615a2e1 * InstrSinceLastMod parameter added to destroy/modify methods 1999-08-11 14:20:11 +00:00
michael
3afbd99ce6 * RTTI fix from Sebastian Guenther 1999-08-11 08:56:53 +00:00
pierre
42faa483e2 * unitid changed to word 1999-08-10 16:25:42 +00:00
pierre
c63cfc6f7a * linking to C code with cdecl;external; was broken 1999-08-10 16:24:44 +00:00
pierre
7982d8c842 * vmtmethodoffset made cross target compatible 1999-08-10 13:22:08 +00:00
pierre
aca546d6d2 * fpuvaroffset not increased for f32bit float type 1999-08-10 13:21:08 +00:00
pierre
d85a8886fd * bind_win32_dll removed (Relocsection used instead)
* now relocsection is true by default ! (needs dlltool
    for DLL generation)
1999-08-10 12:51:14 +00:00
pierre
da2d4a76ce * fpuvaroffset problems solved 1999-08-10 12:47:53 +00:00
Jonas Maebe
2e53fd266b + implemented RegReadByInstr 1999-08-10 12:40:20 +00:00
pierre
88185b4be3 + procsym field of tprocdef set 1999-08-10 12:37:44 +00:00
pierre
be2b57963f * use of procsym field for correct gdb info in local procedures
* exported DLL vars made global to be able to use DLLTOOL with themz
1999-08-10 12:36:31 +00:00
pierre
01b728b188 + procsym field in tprocdef to allow correct gdb info generation 1999-08-10 12:34:49 +00:00
pierre
a435c90fc8 * pprocsym defined earlier for use in tprocdef 1999-08-10 12:33:36 +00:00
pierre
4565d76c4e * avoid overflow in tarraydef.size 1999-08-10 12:32:13 +00:00
pierre
e5df050607 * avoid unused locals 1999-08-10 12:30:00 +00:00
pierre
5d850161c0 * not stack check inside catch !! 1999-08-10 12:27:15 +00:00
pierre
a2b790cfa7 * avoid double .edata section if using DLLTOOL 1999-08-10 12:26:20 +00:00
peter
793b28882f * classes vmt changed to only positive addresses
* sharedlib creation is working
1999-08-09 22:19:46 +00:00
peter
67e1069659 * fixed crash after wrong para's with class contrustor 1999-08-09 22:16:29 +00:00
peter
4fbc3dbb9e * fixed disposing of tree node 1999-08-09 22:14:46 +00:00
peter
8b82809292 * fixed writing of lost memory which should be after donecompiler 1999-08-09 22:13:43 +00:00
peter
2e34ee62f3 * updated for symtable updates 1999-08-09 14:09:04 +00:00
Jonas Maebe
f45d657875 commit.msg 1999-08-09 14:07:22 +00:00
peter
f7dd7ed1ed * fixed pushing of self with methodpointer 1999-08-09 10:37:55 +00:00
Jonas Maebe
909329d3f2 * movzed all files to new directory 1999-08-08 13:34:42 +00:00
Jonas Maebe
ff29bf7480 + added copyright header/GNU license info
* made the assembler optimizer almost completely OOP
  * some code style clean up and extra comments
  * moved from the new/aopt to the /new and /new/i386 dirs
1999-08-08 13:24:50 +00:00
florian
e6c1b96cff * some small problems fixed 1999-08-07 14:20:55 +00:00
daniel
df07c1a0f5 * Recommitted the arraydef overflow bugfix. 1999-08-07 13:36:54 +00:00
daniel
347a47e588 * Fixed open arrays 1999-08-07 13:24:34 +00:00
peter
57cf1e75a7 * better fix for muln register allocation 1999-08-07 11:29:26 +00:00
peter
1d5226f856 * removed daniels changes, because it broke all 'array of ...' code 1999-08-06 23:36:42 +00:00
florian
8abdd311fd * implemented some stuff for assignments 1999-08-06 18:05:52 +00:00
florian
ef92444ffd + definition of concatcopy 1999-08-06 17:00:54 +00:00
Jonas Maebe
0284ece771 + first commit (nothing compilable, still needs to be made more OOP) 1999-08-06 16:49:15 +00:00
Jonas Maebe
ec34af8955 * PowerPC compiles again, several routines implemented in cgcpu.pas
* added constant to cpubase of alpha and powerpc for maximum
    number of operands
1999-08-06 16:41:10 +00:00
Jonas Maebe
35cac501c4 * declared getcopy virtual, since it's already declared as such
in cobjects.pas (FPC doesn't error on that, TP does)
1999-08-06 16:38:37 +00:00
Jonas Maebe
a1ff14ce89 * completed bugfix done by Florian o I wouldn't get conflicts :) 1999-08-06 16:37:45 +00:00
florian
fb39d568f2 * for Jonas: else he will get conflicts 1999-08-06 16:27:26 +00:00
florian
03b8a356ce + initial revision 1999-08-06 16:15:38 +00:00
michael
75a3aea72e + introduced tainstruction 1999-08-06 16:04:05 +00:00
florian
61523ae890 * made the alpha version compilable 1999-08-06 15:53:50 +00:00
florian
76a851a1d4 + cpu flags added, mainly for the new cg 1999-08-06 15:30:17 +00:00
florian
eca7460542 * made the alpha version compilable 1999-08-06 14:15:51 +00:00
michael
fe08a50b7e Empty Virtual methods inserted 1999-08-06 13:53:54 +00:00
florian
c5e988c9f9 * more changes ... 1999-08-06 13:26:49 +00:00
michael
97393a3370 * Removed C style comments. 1999-08-06 13:11:44 +00:00
Jonas Maebe
7e35b38254 * vo_fpuregable is now also removed in make_not_regable 1999-08-06 12:49:36 +00:00
Jonas Maebe
05fd76aeb6 * fix for regvars with the val code 1999-08-06 12:43:13 +00:00
peter
3b89a3c501 * fixed message which was wrong styled 1999-08-06 11:13:17 +00:00
daniel
9cb0d98188 + New error message: Segment too large 1999-08-06 09:25:32 +00:00
peter
c5faa84f92 * saveregister is now working and used for assert and iocheck (which has
been moved to system.inc because it's now system independent)
1999-08-05 23:45:09 +00:00
daniel
e7fd9b1dd8 * Fixed potential bug for open arrays (Their size is not known at
compilation time).
1999-08-05 22:42:49 +00:00
daniel
bf3fc7b96d *** empty log message *** 1999-08-05 22:41:34 +00:00
peter
30309fc962 * fixed register count ord*ord 1999-08-05 21:58:57 +00:00
peter
54880a6f23 * removed warning 1999-08-05 21:50:35 +00:00
daniel
3ec16374ab * Changes for new symtable. 1999-08-05 20:54:19 +00:00
daniel
3d7fe41229 * Use objects unit. 1999-08-05 20:49:15 +00:00
daniel
590de0e5d7 + Brand new symtable:
+ Less memory usage
  + Less code
  - No debug information yet
  - No unit support yet
1999-08-05 17:33:16 +00:00
florian
1c0b9034f4 * some more additions, especially procedure
exit code generation
1999-08-05 17:10:56 +00:00
peter
cb8aeb3fd6 * V_Fatal=1, all other V_ are also increased
* Check for local procedure when assigning procvar
  * fixed comment parsing because directives
  * oldtp mode directives better supported
  * added some messages to errore.msg
1999-08-05 16:52:53 +00:00
michael
5baa7ca467 * Added ait_frame, ait_ent 1999-08-05 15:51:01 +00:00
michael
de05bb1a56 * more changes 1999-08-05 15:50:31 +00:00
Jonas Maebe
aff06b2d4e * "add/sub const,%esp;sub $2,%esp" wasn't always optimized 1999-08-05 15:02:48 +00:00
Jonas Maebe
13bffb711a * fix in -darithopt code (sometimes crashed on 8/16bit regs) 1999-08-05 15:01:52 +00:00
florian
fdc1e9792c * some fixes for the floating point registers
* more things for the new code generator
1999-08-05 14:58:03 +00:00
florian
d66fdc645a * now every available fpu register is used for
fpu register variables
1999-08-04 14:21:07 +00:00
florian
ab66749e27 * new(...)^. is now allowed 1999-08-04 13:49:45 +00:00
florian
e53aceb9be + floating point register variables !!
* pairegalloc is now generated for register variables
1999-08-04 13:45:17 +00:00
Jonas Maebe
ace7ff6983 * all tokens now start with an underscore
* PowerPC compiles!!
1999-08-04 13:02:40 +00:00
Jonas Maebe
4a9d0a58d1 * all tokes now start with an underscore
* PowerPC compiles!!
1999-08-04 12:59:22 +00:00
florian
be3155fdde + initial revision 1999-08-04 11:13:38 +00:00
michael
b6cf3b2d68 + Added ait_frame 1999-08-04 00:39:56 +00:00
florian
defd66af97 - removed i386asm.pas and i386base.pas 1999-08-04 00:25:12 +00:00
florian
ca53eee67e * renamed i386asm and i386base to cpuasm and cpubase 1999-08-04 00:22:34 +00:00
Jonas Maebe
89b7d18f54 + initial implementation for PowerPC based on the Alpha stuff 1999-08-03 23:37:52 +00:00
florian
3bce2e5c20 * initial revision 1999-08-03 22:39:46 +00:00
peter
ed8eb13d59 * moved bitmask constants to sets
* some other type/const renamings
1999-08-03 22:02:29 +00:00
florian
53000e181d * reduced memory usage by factor 2-3 (it
improved also the speed) by reducing the
    growsize of the symbol tables
1999-08-03 17:51:45 +00:00
Jonas Maebe
6e07359718 * fix for sar/shr-shl optimization 1999-08-03 17:13:28 +00:00
florian
1cf1665d73 * the alpha compiler can be compiled now 1999-08-03 17:09:34 +00:00
michael
c474f11a46 * Additional changes 1999-08-03 15:52:40 +00:00
michael
d8e93dd9fd * changed shortname for linux alpha 1999-08-03 15:52:00 +00:00
michael
eba7f7c4ed + Changes for alpha 1999-08-03 13:50:16 +00:00
michael
12cac201d5 + Initial implementation 1999-08-03 13:48:50 +00:00
florian
efa5031010 * initial revision for the alpha 1999-08-03 13:20:53 +00:00
michael
d941eee5f6 + Added varregs 1999-08-03 00:35:54 +00:00
michael
d14de4009e + Added cpuasm for alpha 1999-08-03 00:33:23 +00:00
florian
13dd5edfc6 * reg_vars and reg_pushes is now in tgobj 1999-08-03 00:32:13 +00:00
florian
fabcb5b105 * again a fix for the alpha 1999-08-03 00:30:36 +00:00
florian
90c3d92173 - removed the stuff of the last commit :) 1999-08-03 00:28:24 +00:00
florian
0316203723 * some updates to compile for the alpha 1999-08-03 00:28:03 +00:00
florian
3a6062e7a6 * added reg var stuff 1999-08-03 00:25:28 +00:00
michael
382edb8cb4 + Initial implementation 1999-08-03 00:24:01 +00:00
florian
4c6bd565bf * initial revision 1999-08-03 00:07:16 +00:00
florian
92a8f2af97 * added bestrealdef for alpha and powerpc 1999-08-03 00:03:24 +00:00
michael
20e0eaf145 + Added alpha cpu and linux for alpha os 1999-08-02 23:56:51 +00:00
michael
010544014c Initial implementation 1999-08-02 23:19:53 +00:00
florian
cb114f1453 * more changes to compile for the Alpha 1999-08-02 23:13:19 +00:00
florian
eac806034d * the main branch psub.pas is now used for
newcg compiler
1999-08-02 21:28:56 +00:00
michael
4f74c54c09 * Moved toperand type back =( 1999-08-02 21:01:41 +00:00
michael
19b97ee4a4 * Alpha aware switch detection 1999-08-02 20:46:57 +00:00
michael
16afc140e9 * Moved toperand type to aasm 1999-08-02 20:45:47 +00:00
michael
9419ee8611 + Completed descriptions 1999-08-02 17:53:15 +00:00
florian
ab5461ac75 * initial revision 1999-08-02 17:23:23 +00:00
florian
2b7f36e255 * small changes for the new code generator 1999-08-02 17:17:09 +00:00
michael
d8ad003a09 + Changes for alpha 1999-08-02 17:16:41 +00:00
florian
98ad42cb87 + dummy implementation 1999-08-02 17:15:43 +00:00
florian
55c10a0343 * dummy implementation 1999-08-02 17:15:05 +00:00
michael
d87f99e54b + CPU check better 1999-08-02 17:15:03 +00:00
florian
a1fd4ac628 + changed the temp. generator to an object 1999-08-02 17:14:07 +00:00
Jonas Maebe
e2302d38bc * bugfix in DestroyRefs 1999-08-02 14:35:21 +00:00
Jonas Maebe
77fef43fda * also add arithmetic operations to instruction sequences contained in registers
(compile with -darithopt, very nice!)
1999-08-02 12:12:53 +00:00
michael
1d346206a9 * alpha has no index 1999-08-02 00:34:06 +00:00
michael
198b3b5050 * Moved taitempalloc 1999-08-01 23:55:53 +00:00
florian
9fd7385c65 * some changes to compile the new code generator 1999-08-01 23:36:38 +00:00
michael
9dfff6d0fc * Alpha changes 1999-08-01 23:35:06 +00:00
florian
c13c6e8b74 + make a new makefile using the old compiler makefile 1999-08-01 23:19:58 +00:00
michael
f16acaf9b5 + Fixes for new code generator 1999-08-01 23:18:36 +00:00
florian
ac698386c5 + renamed ot tp cgcpu.pas 1999-08-01 23:11:24 +00:00
michael
09eaa20eb5 * procbase -> cpubase 1999-08-01 23:09:26 +00:00
michael
59f5168068 + Procbase- -> cpubase 1999-08-01 23:07:13 +00:00
florian
e311c0ddbf * changes to compile with FPC 1999-08-01 23:05:55 +00:00
michael
44fd09b5ec + Changes for Alpha 1999-08-01 23:04:48 +00:00
florian
b6c97cd733 * reorganisation of directory structure 1999-08-01 22:08:25 +00:00
florian
7e74642b02 * modifications for the new code generator 1999-08-01 18:28:09 +00:00
florian
8e9d97e1fe * made it again compilable 1999-08-01 18:22:31 +00:00
florian
36c8c81845 * more fixes for inittable call 1999-08-01 17:32:31 +00:00
florian
e7623db6df * tried to fix a bug with init table 1999-08-01 17:17:37 +00:00
michael
9600a0718a * Fix of initialization information generation 1999-07-31 22:37:17 +00:00
peter
ab7c74f60a * fixed smartlinking 1999-07-31 12:33:11 +00:00
peter
73151c592c * fixed placing of dynamiclinker in link.res (should be the last after
all other libraries)
1999-07-30 23:19:45 +00:00
Jonas Maebe
8dcdd36b13 * small bugfix in instructionsequal
* small bugfix in reginsequence
  * made regininstruction a bit more logical
1999-07-30 18:18:51 +00:00
Jonas Maebe
19e34088fa * fix so (,reg) gets optimized to (reg) 1999-07-30 18:17:55 +00:00
peter
538e677425 * fixed crash with unknown id and colon parameter in write 1999-07-30 12:28:40 +00:00
peter
a0e2991b6a * array is_equal disabled for tp,delphi mode 1999-07-30 12:26:42 +00:00
peter
4d419ef8d4 * write .size only for linux 1999-07-30 12:26:07 +00:00
peter
674e0cc879 * write .size also 1999-07-29 20:53:55 +00:00
peter
771996a9db * always output preprocstack when unexpected eof is found
* fixed tp7/delphi skipuntildirective parsing
1999-07-29 11:43:15 +00:00
peter
571c8d89bc * array is_equal extended 1999-07-29 11:41:51 +00:00
peter
9dda467212 * fixed shared library linking for glibc2 systems 1999-07-29 01:31:39 +00:00
peter
30be2bf063 * indirect type referencing is now allowed 1999-07-27 23:42:10 +00:00
peter
bdd61f119c * open array checks also for s32bitdef, because u32bit also has a
high range of -1
1999-07-27 23:39:15 +00:00
peter
0e0711e7a1 * try to determine the fpu type needed in assignment 1999-07-27 23:36:36 +00:00
peter
d119287aa6 * glibc 2.1.2 support 1999-07-27 11:05:51 +00:00
florian
929290a3c9 * $mode gives now a warning if an unknown mode keyword follows 1999-07-26 14:55:36 +00:00
florian
bf6bed1bf7 * exit in try..finally blocks needed a second fix
* a raise in a try..finally lead into a endless loop, fixed
1999-07-26 12:13:45 +00:00
florian
9cbaac5beb * bugs 494-496 fixed 1999-07-26 09:41:59 +00:00
michael
725246c6c5 + Fixed hash computing, now compatible with gnu .mo file 1999-07-25 19:27:15 +00:00
michael
5d101ee4f5 * Forgot to add unitname to resourcestring data 1999-07-24 18:35:41 +00:00
michael
f7284c4549 + Improved resourcestring handling 1999-07-24 16:22:10 +00:00
michael
d1e6915de3 changes for resourcestrings 1999-07-24 15:12:56 +00:00
michael
916859ebd7 * Fixed resourcestring writing to units 1999-07-24 13:36:23 +00:00
peter
382d5bd835 * directives are allowed in (* *)
* fixed parsing of (* between conditional code
1999-07-24 11:20:59 +00:00
peter
b84eb33013 * suffix parsing for at&t fixed for things like movsbl
* string constants are now handle correctly and also allowed in
    constant expressions
1999-07-24 11:17:12 +00:00
peter
4807c96d29 * also number units for program 1999-07-24 00:13:25 +00:00
peter
6dac94ac96 * resourcestring fix 1999-07-23 23:09:06 +00:00
peter
b09c315030 * fixed stabs for record which still used savesize 1999-07-23 23:07:03 +00:00
michael
f8643a3070 + Added HasResourceStrings define 1999-07-23 22:56:27 +00:00
peter
62273909ca * fixed crash with resourcestring 1999-07-23 21:31:42 +00:00
peter
6c00bfc702 * more C packing fixes 1999-07-23 20:59:23 +00:00
peter
07bb58295b * alignment is now saved in the symtable
* C alignment added for records
  * PPU version increased to solve .12 <-> .13 probs
1999-07-23 16:05:18 +00:00
peter
ca1ccd9221 * fixed crash in previous commit 1999-07-23 12:02:20 +00:00
peter
f380e3bd68 * error for illegal type reference, instead of 10998 1999-07-23 11:37:46 +00:00
peter
f9c4d1b3a7 * removed oldppu from propertysym 1999-07-23 11:33:23 +00:00
michael
d21b73460a + Added computehashvalue 1999-07-22 20:04:58 +00:00
peter
ca4715fee8 * merged 1999-07-22 16:12:28 +00:00
florian
35f636dea1 + resourcestring implemented
+ start of longstring support
1999-07-22 09:37:28 +00:00
florian
8929222311 + initial revision 1999-07-22 09:34:04 +00:00
florian
774df6096e * bug #487 fixed, (inc(<property>) isn't allowed)
* more fixes to compile with Delphi
1999-07-18 14:47:19 +00:00
florian
bba137b4e6 * handling of integer and shortint in case was wrong, if a case
label was negative and a jump table was generated
1999-07-18 14:01:16 +00:00
florian
a873f5a4a5 * fix of my previous commit nevertheless it doesn't work completly 1999-07-18 10:41:59 +00:00
florian
046acfb84b * made it compilable with Dlephi 4 again
+ fixed problem with large stack allocations on win32
1999-07-18 10:19:38 +00:00
peter
45bf051885 * merged 1999-07-16 10:04:32 +00:00
michael
d12b467d95 + Removed TV stuff from brwosercol 1999-07-15 08:42:22 +00:00
florian
b2c99ecb9d + implemented a better error message if a PPU file isn't found as suggested
by Lee John
1999-07-14 21:19:01 +00:00
michael
5b62a2b45c + Defaultreplacemens now more logical 1999-07-13 19:14:44 +00:00
michael
084c8a2aa8 Changed fpcman to fpc 1999-07-13 12:25:07 +00:00
peter
cd6dac1a03 * merged 1999-07-12 15:03:04 +00:00
michael
e77400a181 + Fixed integer message table 1999-07-11 21:24:31 +00:00
peter
f2818d7908 * merged 1999-07-11 20:10:23 +00:00
peter
02576a8279 * merged 1999-07-10 10:26:18 +00:00
peter
1730312b75 * reinserted 1999-07-10 10:19:43 +00:00
peter
b867e4f6de * assembler smartlink message 1999-07-10 10:12:03 +00:00
peter
e646fcda07 * merged 1999-07-08 10:40:37 +00:00
michael
3903aa44a3 + Added last message 1999-07-07 22:36:22 +00:00
michael
f75725ddf3 + Added last message 1999-07-07 22:25:02 +00:00
peter
0dd9b0b7de * warning instead of error when switching to static linking 1999-07-07 20:33:53 +00:00
florian
42f09e54ae * another fix for TP/Delphi styled procedure variables 1999-07-06 22:38:11 +00:00
florian
62cb5453d3 * a lot bug fixes:
- po_external isn't any longer necessary for procedure compatibility
     - m_tp_procvar is in -Sd now available
     - error messages of procedure variables improved
     - return values with init./finalization fixed
     - data types with init./finalization aren't any longer allowed in variant
       record
1999-07-06 21:48:09 +00:00
peter
52799c40cc * merged 1999-07-06 00:53:48 +00:00
peter
b4a852e74b * merged 1999-07-05 20:22:08 +00:00
peter
248826aa81 * removed temp defines 1999-07-05 20:13:06 +00:00
peter
83d04caf8b * merged 1999-07-05 16:24:17 +00:00
peter
0d38c66ff0 * fixed linking for units without linking necessary 1999-07-05 16:21:26 +00:00
florian
72e21acee1 * property reading from PPU fixed (new PPU format), it uses now writesym... 1999-07-05 12:13:22 +00:00
Jonas Maebe
af1334174b * merged 1999-07-05 11:56:55 +00:00
Jonas Maebe
aede14847e * merged 1999-07-04 21:59:30 +00:00
florian
f011b3bdca + qword/int64 -> floating point type cast 1999-07-04 16:37:08 +00:00
florian
3eae7ee6fb + start of val(int64/qword)
* longbool, wordbool constants weren't written, fixed
1999-07-03 14:14:27 +00:00
peter
58cbc3e795 * new link writing to the ppu, one .ppu is needed for all link types,
static (.o) is now always created also when smartlinking is used
1999-07-03 00:29:45 +00:00
peter
1e75d2d672 * better smartlinking support 1999-07-03 00:27:02 +00:00
peter
176f1d4cd8 * ag386bin doesn't destroy the aasmoutput lists anymore 1999-07-03 00:26:01 +00:00
peter
f959158854 * merged 1999-07-02 13:02:24 +00:00
Jonas Maebe
9c262d21fc * released setconstnot (changed to {$ifndef nosetconstnot})
* released shlmul (changed to {$ifndef no shlmul})
1999-07-02 12:18:46 +00:00
peter
1b39843793 * 0.99.13 instead of 0.99.13a 1999-07-01 21:35:02 +00:00
peter
e303022851 * merged 1999-07-01 21:33:57 +00:00
Jonas Maebe
8c52e10620 * removed unused AsmL parameter from FindLoHiLabels 1999-07-01 18:21:21 +00:00
Jonas Maebe
ab9734f7d5 * enabled "mov reg1,reg2;mov (reg2,..), reg2" also if the second mov is
a movzx or movsx
1999-07-01 18:12:16 +00:00
florian
c615fcdbbb * int64/qword type release
+ lo/hi for int64/qword
1999-07-01 15:49:09 +00:00
florian
497a3d3686 * use of is_ordinal checked: often a qword/int64 isn't allowed (case/for ...)
* small qword problems fixed
1999-06-30 22:16:19 +00:00
florian
cc8c629550 * two bugs regarding method variables fixed
- if you take in a method the address of another method
      don't need self anymore
    - if the class pointer was in a register, wrong code for a method
      variable load was generated
1999-06-30 15:43:18 +00:00
peter
73b45882c4 * merged file pos fixes 1999-06-29 14:02:33 +00:00
pierre
ca19d190a3 * mereg from fixes-0_99_12 1999-06-29 12:16:22 +00:00
florian
0fa46763ad * qword division fixed
+ code for qword/int64 type casting added:
    range checking isn't implemented yet
1999-06-28 22:29:10 +00:00
peter
157a21b385 * merged 1999-06-28 19:30:06 +00:00
pierre
ff1ad12c6b merged from v0-99-12 branch 1999-06-28 17:02:44 +00:00
peter
438c1e07b6 * merged 1999-06-28 16:02:29 +00:00
pierre
f426433d78 merged from 0-99-12 branch 1999-06-28 10:49:48 +00:00
michael
651f39023d Updated patchnumber 1999-06-27 15:49:19 +00:00
pierre
2083621f3e * mereg from fixes-0_99_12 branch 1999-06-26 00:24:53 +00:00
florian
26f0321f2f * bug #459 fixed 1999-06-25 10:02:56 +00:00
pierre
c25711a2ef merged from fixes-0_99_12 1999-06-25 00:27:41 +00:00
michael
e2762599f0 * Sampleconfig now detects if we have root permission. If not, a personal cfg file is made. 1999-06-24 21:58:39 +00:00
Jonas Maebe
4e6bcf9ed7 * merged 1999-06-23 12:33:52 +00:00
peter
8bbe79ac69 * fixed linebreak 1999-06-23 11:13:20 +00:00
daniel
a9b1d91b23 * Tdictionary.delete 1999-06-23 11:07:23 +00:00
pierre
13a3c0cbe4 * wrong change 1.6 removed 1999-06-22 16:32:43 +00:00
pierre
05b6362265 * local browser stuff corrected 1999-06-22 16:24:39 +00:00
peter
0125715447 * merged 1999-06-22 15:25:14 +00:00
peter
1f99e8e497 * merged 1999-06-22 13:31:24 +00:00
peter
ce0a8e3f26 * merged 1999-06-21 16:45:01 +00:00
Jonas Maebe
9ca18fc55b * fixed include() with smallsets 1999-06-21 16:33:27 +00:00
michael
14fadbcaca Translated ol040 1999-06-18 12:20:14 +00:00
peter
15d54cb1d7 * merged 1999-06-18 11:03:08 +00:00
daniel
04b6a51ed8 - Enumerations no longer compatible with integer types. 1999-06-18 11:02:51 +00:00
peter
6bdc4bbbeb * merged 1999-06-18 10:11:18 +00:00
peter
c261796ebf * merged 1999-06-18 09:55:30 +00:00
pierre
7a913109ff * merged from 0-99-12 branch 1999-06-17 15:32:48 +00:00
pierre
e8da115c3f * merged from 0_99_12 branch 1999-06-17 13:19:50 +00:00
peter
eca8cbb3be * merged 1999-06-16 09:32:45 +00:00
peter
c36ae78617 * merged 1999-06-15 18:58:33 +00:00
peter
7a22facf6d * updated for samplecfg 1999-06-15 15:10:06 +00:00
peter
e0c0e0ce6c * updated 1999-06-15 15:08:03 +00:00
peter
867f6364dd * merged 1999-06-15 13:57:31 +00:00
pierre
82d5d24e0e * bug0260 fixed 1999-06-15 13:27:06 +00:00
pierre
9242829c25 * don't generate browser if errors during compilation 1999-06-15 13:23:48 +00:00
pierre
a5305b32ee * better uninitialized var tests for TP mode 1999-06-15 13:19:46 +00:00
peter
24b005a5f6 * merged 1999-06-15 10:14:19 +00:00
peter
03e6ec96c5 * merged 1999-06-14 17:47:45 +00:00
pierre
ec24bdb1f9 * -O2 real multiplication bug correction 1999-06-14 11:15:01 +00:00
peter
ec0a511cfa * merged 1999-06-14 00:43:35 +00:00
peter
99395db696 * merged from fixes 1999-06-13 22:41:05 +00:00
peter
9039621367 * merged from fixes 1999-06-12 13:05:53 +00:00
peter
2bf526ad39 * reinserted 1999-06-12 13:00:12 +00:00
pierre
ea9f370f46 * .align problem treated :
.align is considered as .p2align on go32v1 and go32v2
    and as .balign on other targets
  + ra386att supports also .balign and .p2align
  * ag386att uses .balign allways
1999-06-11 22:54:12 +00:00
peter
a13afdbb6f * reinserted 1999-06-11 13:28:40 +00:00
peter
8db8e0d6a8 * reinserted 1999-06-11 13:21:37 +00:00
peter
5c2a5a30ce * fixed crash with errorn.msg 1999-06-11 13:06:45 +00:00
peter
9631bab859 *** empty log message *** 1999-06-11 11:44:56 +00:00
pierre
abaf8ef5ee * merged from fixes branch 1999-06-10 23:52:34 +00:00
michael
9f46136739 + Last message translated 1999-06-10 08:15:33 +00:00
michael
9a32f61aab Latest version (1.20) from Ivan 1999-06-10 08:12:48 +00:00
peter
34e7bd8b81 + del_location 1999-06-09 23:22:37 +00:00
peter
e1b6682670 * small ansistring fixes
* val_ansistr_sint destsize changed to longint
  * don't write low/hi ascii with -al
1999-06-09 23:00:11 +00:00
michael
597c218f59 * Inserted last message with pierres tool 1999-06-09 12:56:53 +00:00
pierre
c0ede0730a * bugfix from fixes-0_99_12 merged 1999-06-09 12:17:34 +00:00
pierre
fdfcf01805 * fix branch changes merged 1999-06-09 11:57:28 +00:00
pierre
c8ece1a306 * staticppusymtable was loaded a tsymtable instead of tunitsymtable 1999-06-08 22:23:50 +00:00
peter
76cf220e14 * debian updates 1999-06-08 22:11:26 +00:00
peter
b9d722d1ab * fixes for 0.99.12 release 1999-06-08 18:28:11 +00:00
Tomas Hajny
47ed4404a9 * mistyping removed 1999-06-08 15:49:25 +00:00
pierre
3921a5be23 * fix for bug0258 1999-06-08 15:27:24 +00:00
pierre
4fe0f4f1a2 * fix to get it self compiled 1999-06-08 15:26:49 +00:00
michael
9a74b8e2cc + changes by Alexander Stohr 1999-06-08 15:14:08 +00:00
peter
ee0d18d03c * 0.99.12 1999-06-08 12:52:38 +00:00
peter
951f407307 * fixed some intel bugs with scale parsing
* end is now also a separator in many more cases
1999-06-08 11:51:58 +00:00
peter
f236eae910 * 2mb again for go32v2/v1 1999-06-08 11:50:28 +00:00
michael
e617cef616 + Corrected version from Ivan Montes Velencoso 1999-06-07 11:59:27 +00:00
peter
ec21161273 * suffix adding can be turned of for some tasmops in att_nosuffix array 1999-06-06 15:53:15 +00:00
pierre
80dca987ca * EXTERNALBSS fixed for stabs and default again 1999-06-03 16:39:09 +00:00
pierre
85808c8a54 * typo corrected 1999-06-03 16:28:03 +00:00
pierre
6dd4cfad3d * local Cvar stabs corrected 1999-06-03 16:25:05 +00:00
pierre
b7dbca4816 * fixes a bug due to int64 code in maybe_savetotemp 1999-06-03 16:21:15 +00:00
Jonas Maebe
7e4f903a9e * sequences are now checked only once (previously, some long ones were
checked once completely and then several times partially)
1999-06-03 15:45:08 +00:00
peter
a08b5a8bff * better methodpointer check for proc->procvar 1999-06-03 09:34:11 +00:00
pierre
5f05d07dcb * previous wrong log corrected 1999-06-02 22:43:57 +00:00
pierre
35777a48a1 types.pas 1999-06-02 22:25:22 +00:00
peter
2cba1b9c76 * fixed os2 bindcmd which was double 1999-06-02 20:46:39 +00:00
Tomas Hajny
6cf5f41dc7 * fixed my mistake from previously commited version 1999-06-02 14:20:31 +00:00
Tomas Hajny
1af2afef91 * fixed stripping symbols for OS/2 1999-06-02 13:25:34 +00:00
florian
0b7957291d * corrected order of parameter type for -vb 1999-06-02 10:26:50 +00:00
florian
2ad3da43e6 * make cycle fixed i.e. compilation with 0.99.10
* some fixes for qword
  * start of register calling conventions
1999-06-02 10:11:39 +00:00
pierre
338f4df255 * extdebug wrong warning removed 1999-06-01 22:46:26 +00:00
peter
ac686d0930 * fixed llabel with delete the first @ 1999-06-01 19:56:37 +00:00
peter
a2209c77cb * reinserted 1999-06-01 19:33:18 +00:00
peter
94c276ce8d * better checks for procvar and methodpointer 1999-06-01 19:27:47 +00:00
peter
f711d885f6 * fixed bug #249 1999-06-01 19:26:39 +00:00
peter
cc0511a890 * @procvar is now always needed for FPC 1999-06-01 14:45:40 +00:00
pierre
f95fe26921 * ts010021.pp problem solved for ag386bin ! 1999-06-01 10:24:09 +00:00
peter
855686aeb3 * fixed tdictionary rename which didn't reset left,right when
reinserting
1999-05-31 23:33:21 +00:00
pierre
2758e7c639 * problem with main file end without newline 1999-05-31 23:28:42 +00:00
peter
901335c80d * when range check error is found then fix the value to be within the
range
1999-05-31 22:54:19 +00:00
peter
20d56ae2a4 * ansistring fixes, decr_ansistr called after all temp ansi reuses 1999-05-31 20:35:45 +00:00
peter
1c129626c0 * fixed hightree generation when loading highSYM 1999-05-31 20:34:51 +00:00
peter
ebee6997a8 * changed heapsize to 256k 1999-05-31 20:34:00 +00:00
peter
1bb9950cc9 * interfacedef flag for procdef if it's defined in the interface, to
make a difference with 'forward;' directive forwarddef. Fixes 253
1999-05-31 16:42:33 +00:00
peter
dd6ecd953b * fixed register allocation for storefuncresult 1999-05-31 12:43:32 +00:00
peter
e79d80a971 * fixed crash with empty array constructor 1999-05-31 12:42:43 +00:00
peter
afc81918c6 * moved swapoperands out of the define 1999-05-30 11:57:43 +00:00
pierre
71e0799f74 * forgotten emitcall change in conditionnal 1999-05-28 15:59:46 +00:00
peter
164fba5879 * removed ungettempoftype 1999-05-28 11:00:49 +00:00
peter
1d972079c4 * also count ref when asmlabel^.name is used 1999-05-28 09:11:39 +00:00
peter
0b272f13c7 * removed oldasm
* plabel -> pasmlabel
  * -a switches to source writing automaticly
  * assembler readers OOPed
  * asmsymbol automaticly external
  * jumptables and other label fixes for asm readers
1999-05-27 19:43:55 +00:00
florian
8d99f7a098 * some bugs in the qword code generation fixed 1999-05-25 20:36:11 +00:00
florian
1bcd891310 * non working safecall directiv implemented, I don't know if we
need it
1999-05-24 08:55:29 +00:00
florian
59c6d9f289 * qword/int64 multiplication fixed
+ qword/int64 subtraction
1999-05-23 19:55:10 +00:00
florian
6b33f4d87d * better error recovering in typed constants
* some problems with arrays of const fixed, some problems
    due my previous
     - the location type of array constructor is now LOC_MEM
     - the pushing of high fixed
     - parameter copying fixed
     - zero temp. allocation removed
  * small problem in the assembler writers fixed:
    ref to nil wasn't written correctly
1999-05-23 18:41:55 +00:00
Tomas Hajny
4364284281 * typo corrected (Mircosoft) 1999-05-22 14:39:13 +00:00
florian
6a652349de * hopefully the default property bug fixed 1999-05-21 20:08:22 +00:00
peter
2e88fbde1a * align tempsize also on stackalignment 1999-05-21 17:23:47 +00:00
peter
bfed29ff8b * NEWLAB for label as symbol 1999-05-21 13:54:38 +00:00
pierre
2ba655e786 * bestsize bug fixed 1999-05-21 11:46:28 +00:00
michael
d3198c3ff8 Changes by ivan 1999-05-21 10:53:47 +00:00
peter
08ae7a72e7 * fixed deleteindex which didn't reset indexnr and set first wrong 1999-05-21 10:38:59 +00:00
pierre
bee8d805f7 + added synonym filed for ttypesym
allows a clean disposal of tdefs and related ttypesyms
1999-05-20 22:22:42 +00:00
pierre
6a0a1149c8 * better stabs line info for vars 1999-05-20 22:19:52 +00:00
pierre
8101571683 * fix from Peter for double bug reported 20/05/1999 1999-05-20 22:18:51 +00:00
peter
ef66ed259d * fixed arrayconstruct->set conversion which didn't work for enum sets 1999-05-20 14:58:26 +00:00
peter
d4f4226806 * fixed line counting with macro's 1999-05-20 14:57:29 +00:00
florian
8c6426faf7 * some new routines for register management:
maybe_savetotemp,restorefromtemp, saveusedregisters,
     restoreusedregisters
1999-05-19 22:00:48 +00:00
florian
5f3a866333 * fix of my previous commit 1999-05-19 20:55:08 +00:00
florian
a3f17a9e74 * fixed a couple of array related bugs:
- var a : array[0..1] of char;   p : pchar;  p:=a+123; works now
    - open arrays with an odd size doesn't work: movsb wasn't generated
    - introduced some new array type helper routines (is_special_array) etc.
    - made the array type checking in isconvertable more strict, often
      open array can be used where is wasn't allowed etc...
1999-05-19 20:40:12 +00:00
florian
1316bbd21f * tdef.typename: returns a now a proper type name for the most types 1999-05-19 16:48:21 +00:00
florian
41e4095cfa * if a non local variables isn't initialized the compiler doesn't write
any longer "local var. seems not to be ..."
1999-05-19 15:26:32 +00:00
florian
92f67c96fc * made source compilable with TP (too long line)
* default values for set properties fixed
1999-05-19 12:41:48 +00:00
florian
39ab53a15b * tobject wasn't set as default anchestor, was a problem with the new ppu
handling
1999-05-19 12:08:11 +00:00
pierre
0838866112 + experimental code for externalbss and stabs problem 1999-05-19 11:54:17 +00:00
pierre
b3658d0a51 * posinfo was not set for ansitemps ! 1999-05-19 11:51:00 +00:00
pierre
104e39f842 * suppress relative paths in cycle target 1999-05-19 11:44:13 +00:00
florian
ba314dab05 * two bugs reported by Romio (bugs 13) are fixed:
- empty array constructors are now handled correctly (e.g. for sysutils.format)
      - comparsion of ansistrings was sometimes coded wrong
1999-05-19 10:31:53 +00:00
pierre
79e64c8e75 * little redondant code removed 1999-05-18 22:36:29 +00:00
pierre
739eb6860c * double dispose of aktprocsym removed 1999-05-18 22:35:52 +00:00
pierre
1a3b65af0b * extedebug problem solved 1999-05-18 22:34:26 +00:00
pierre
385c1ec248 * checkpointer code was wrong! 1999-05-18 22:11:52 +00:00
florian
d7b52d0183 * fixed some bugs related to temp. ansistrings and functions results
which return records/objects/arrays which need init/final.
1999-05-18 21:58:22 +00:00
peter
e8bf496ae8 * containsself fixes
* checktypes()
1999-05-18 14:15:18 +00:00
peter
6594dbb20a * stop after errors in options 1999-05-18 14:11:49 +00:00
michael
d3860ec506 + Fixed 160 instead of 60 option 1999-05-18 12:15:16 +00:00
peter
d4659125d9 * procedure of object and addrn fixes 1999-05-18 09:52:17 +00:00
michael
72ea7d5eb0 + changes by thomas hajt 1999-05-18 09:30:10 +00:00
michael
eddb0189b2 + changes by thomas hajt 1999-05-18 09:25:01 +00:00
michael
e6f8ad07b4 Fixes by Alexander Stohr 1999-05-18 09:16:07 +00:00
michael
c6bdf194b2 + Fixes by Michail Baikov 1999-05-18 08:45:05 +00:00
peter
12313fbed8 * with temp vars now use a reference with a persistant temp instead
of setting datasize
1999-05-17 23:51:37 +00:00
florian
8706cd801f * new temporary ansistring handling 1999-05-17 21:56:57 +00:00
michael
4b84a3ae6e + Fixed a bug that caused messages inserted at root not to appear... 1999-05-17 15:13:43 +00:00
pierre
6dac09b0e0 * heaptrc output to heap.log file 1999-05-17 15:09:28 +00:00
pierre
75fab3d80b * reset current_ppu to nil when appropriate 1999-05-17 14:43:54 +00:00
pierre
03a6c52d60 uses heaptrc need for extrainfo with heaptrc 1999-05-17 14:33:50 +00:00
pierre
7c504e55c2 * func was not disposed in timported_item 1999-05-17 14:33:01 +00:00
michael
8254d47f27 + Initial implementation by Ivan Montes Velencoso 1999-05-17 14:32:23 +00:00
pierre
85efe743cb + cs_checkpointer 1999-05-17 14:30:39 +00:00
pierre
52455aa342 * DoneCompiler called later to prevent accessing invalid data 1999-05-17 14:24:32 +00:00
michael
d0f5a827cd Ducth message file up-to-date 1999-05-17 14:18:47 +00:00
pierre
ba03732810 + -gc for check pointer with heaptrc 1999-05-17 14:14:14 +00:00
pierre
722ce4b7e9 * unitsym security stuff 1999-05-17 13:11:40 +00:00
pierre
587b9d622c * -Csmmm works for win32 but default is set to 32Mb 1999-05-17 13:02:12 +00:00
pierre
e138bd6d24 * old field suppressed was still in debug code 1999-05-17 13:00:36 +00:00
pierre
5f16475433 * several problems with EXTDEBUG fixed 1999-05-17 12:49:16 +00:00
michael
b72596e549 + Initial implementation, by Michail A. Baikov 1999-05-17 09:37:37 +00:00
peter
b9d655b118 * remove firstcallparan which looks obsolete 1999-05-16 17:06:31 +00:00
peter
d60283c76d * fixed with and procsym 1999-05-16 17:04:39 +00:00
peter
ad3061e7c1 * fixed sym_ofs_ref op loading 1999-05-16 17:00:45 +00:00
peter
0fa3bc3618 * removed -Fg and -Up 1999-05-16 02:28:51 +00:00