Jonas Maebe
0052fd1eb6
* convert inc/dec to add/sub when range/overflow checking is on
2000-11-11 15:59:07 +00:00
florian
3f707e8676
* resourcestrings doesn't need the helper anymore they
...
access the table now direct
2000-11-09 18:52:06 +00:00
florian
68c1a1e3e6
* System.TypeInfo fixed
...
+ System.Finalize implemented
+ some new keywords for interface support added
2000-11-09 17:46:54 +00:00
Jonas Maebe
1331a2e753
* fixed range check error
2000-11-09 12:34:44 +00:00
florian
098dd1b56f
* tprocdef.procsym must be set also when a tprocdef is loaded from a PPU
2000-11-08 23:15:17 +00:00
Jonas Maebe
50f0345bb8
* if a procedure uses exceptions (be it implicit or explicit), the
...
usedregisters are set to all (because FPC_POPADDRSTACK doesn't save
any registers) ("merged", fixes make cycle woth -Or)
2000-11-08 16:38:24 +00:00
sg
7530393d6f
* Fix for containsPointerRef: Loop now runs in the correct range
2000-11-08 16:04:34 +00:00
pierre
e2ec92c20c
* fix for new is_class function
2000-11-08 09:27:45 +00:00
florian
fe2e3e0c01
* potential range check error fixed
2000-11-08 00:07:40 +00:00
florian
f89ea69e76
+ AfterConstruction and BeforeDestruction impemented
2000-11-07 23:40:48 +00:00
peter
08571bb9a9
* removed ref_count from pinputfile it's not used
2000-11-07 20:48:33 +00:00
peter
57b50bdc14
* use tables for upper/lower
2000-11-07 20:47:35 +00:00
peter
bb410f8182
* fix vmt index for classes
2000-11-07 20:01:57 +00:00
marco
e85fea41f5
* Define UNIX for FreeBSD and Linux. Checked crosscompile thingy.
2000-11-07 15:09:27 +00:00
marco
54897380bd
* FreeBSD defines (FreeBSD,Linux,BSD,Unix) Linux defines (Linux,Unix)
2000-11-07 14:25:08 +00:00
florian
9e5ced1416
* fixed init_paras call
2000-11-06 23:49:20 +00:00
peter
ac3c08daca
* added copyvaluepara call again
2000-11-06 23:15:01 +00:00
peter
e2fd02814d
* uppercase manglednames
2000-11-06 23:13:53 +00:00
florian
11b74e236f
* writeln debugger uninstalled ;)
2000-11-06 23:11:38 +00:00
florian
c12bff980d
* more fixes
2000-11-06 23:05:52 +00:00
peter
de70cf38b3
* more fixes
2000-11-06 22:30:30 +00:00
peter
fdeb6e0506
* fixed var parameter varstate bug
2000-11-06 21:36:25 +00:00
peter
8df98007d6
* more fixes to get make cycle working
2000-11-06 20:30:54 +00:00
florian
d5a2d64cf5
* fixed two bugs to get make cycle work, but it's not enough
2000-11-06 15:54:15 +00:00
florian
503ae69be0
* fixed upper/lower case problem
2000-11-04 18:03:57 +00:00
florian
1ba347c47d
* fixed some problems of previous commit
2000-11-04 17:31:00 +00:00
florian
0cfa0419bd
* innr.inc renamed to make compiler compilation easier because the rtl contains
...
a file of the same name
2000-11-04 16:48:32 +00:00
florian
51527ba1c9
+ merged Attila's changes for interfaces, not tested yet
2000-11-04 14:25:19 +00:00
Jonas Maebe
71d94c07f8
* check for nil pointers before calling getcopy
2000-11-04 13:12:14 +00:00
Jonas Maebe
2d72c95c20
- removed check for self = nil in getcopy
2000-11-04 13:10:15 +00:00
Jonas Maebe
54fa8b2d7b
* fixed bug in tdynamicarray.align (merged)
2000-11-03 19:41:06 +00:00
Jonas Maebe
767ecef9bb
* fixed bug in arrayRefsEq
...
* object/class fields are now handled the same as local/global vars and
parameters (ie. a write to a local var can now never destroy a class
field)
2000-11-03 18:06:26 +00:00
Jonas Maebe
5be6c35518
* some small improvements
2000-11-03 17:53:24 +00:00
pierre
fa52ad0aa2
* get it to compile again
2000-11-02 15:01:22 +00:00
pierre
f6bfcc9cb7
* remove RecOffset code, that created problems
2000-11-02 12:04:10 +00:00
peter
5115083270
* tprocdef.fullprocname added for better casesensitve writing of
...
procedures
2000-11-01 23:04:37 +00:00
Jonas Maebe
850e8de88b
* register contents were not cleared if there was only 1 instruction
...
between de previous sequence and the current one
2000-11-01 22:53:30 +00:00
peter
4bcd969993
* merged asm result patch part 2
2000-10-31 22:30:13 +00:00
peter
451723647e
* symtable splitted, no real code changes
2000-10-31 22:02:46 +00:00
Jonas Maebe
5a593618b2
* merged double deleting of left location when using a temp in
...
secondwith (merged from fixes branch). This also fixes web bug1194
2000-10-31 14:18:53 +00:00
Jonas Maebe
c3025eb50b
+ implementation for tasmnode.getcopy
2000-10-27 14:57:16 +00:00
peter
8e4f77b0a5
* fixed crash with call from type decl which is not allowed (merged)
2000-10-26 23:40:54 +00:00
peter
b8a008b31c
* regenerated
2000-10-26 23:03:50 +00:00
peter
c10d4a9846
* fixed crash with error in child definition (merged)
2000-10-26 21:54:03 +00:00
Jonas Maebe
05be64d76c
* fixed web bug1192 (changed an ungetregister32 to ungetregister)
...
("merged" from fixes)
2000-10-26 15:53:27 +00:00
Jonas Maebe
bdd82f8c9f
* fixed setlength for shortstrings
2000-10-26 14:15:06 +00:00
peter
ba5fd6b9d8
* emitcall -> emitinsertcall for profiling (merged)
2000-10-24 22:23:04 +00:00
peter
299d6098aa
* set usedregisters after writing entry and exit code (merged)
2000-10-24 22:21:25 +00:00
Jonas Maebe
207574e923
* allocate registers which hold function result
2000-10-24 12:47:45 +00:00
Jonas Maebe
a4fde73649
+ register renaming ("fixes" bug1088)
...
* changed command line options meanings for optimizer:
O2 now means peepholopts, CSE and register renaming in 1 pass
O3 is the same, but repeated until no further optimizations are
possible or until 5 passes have been done (to avoid endless loops)
* changed aopt386 so it does this looping
* added some procedures from csopt386 to the interface because they're
used by rropt386 as well
* some changes to csopt386 and daopt386 so that newly added instructions
by the CSE get optimizer info (they were simply skipped previously),
this fixes some bugs
2000-10-24 10:40:52 +00:00
michael
e2b535ec80
+ Extra patch from peter
2000-10-24 08:54:25 +00:00
pierre
3a5981ae0c
* fix for bug #1193 (merged)
2000-10-24 07:20:03 +00:00
florian
d592b8b678
+ renamed
2000-10-21 20:25:00 +00:00
florian
f80c24177a
* a lot of changes:
...
- basic dyn. array support
- basic C++ support
- some work for interfaces done
....
2000-10-21 18:16:11 +00:00
peter
20dae06236
* merged pierres fixes
2000-10-21 14:36:26 +00:00
peter
07ad807864
* added -FE. to put the PPU's in the compiler dir
2000-10-21 14:36:00 +00:00
peter
182552a82b
* readd to many remove p. for tcallnode.is_equal()
2000-10-21 14:35:27 +00:00
florian
9773d00897
* -Fui386 added
2000-10-20 22:00:32 +00:00
Jonas Maebe
71d03d5926
* fixed wrong regalloc info for secondmoddiv ("merged", also small
...
correction made afterwards in fixes branch)
2000-10-19 16:26:52 +00:00
Jonas Maebe
837c2124a6
* fixed bug in allocregbetween (the register wasn't added to the
...
usedregs set of the last instruction of the chain) ("merged")
2000-10-19 15:59:40 +00:00
Jonas Maebe
a9656de262
* fixed stupid error in previous commit :/
2000-10-17 15:41:48 +00:00
Jonas Maebe
3394523d13
* fixed allocation of ecx for shl
2000-10-17 15:39:34 +00:00
michael
c4fe9ea482
+ New Russian errormsg from Michail Baikov
2000-10-17 10:49:05 +00:00
florian
25d7998a4b
* fixed xmm register access
2000-10-15 10:50:46 +00:00
peter
026edfb899
* moved to i386/
2000-10-15 09:43:29 +00:00
peter
a45e77c4a2
* move also the i386*.inc to i386/
2000-10-15 09:41:37 +00:00
peter
4286d3e9bb
* moved cpu*.pas to i386/
...
* renamed n386 to common cpunode
2000-10-15 09:39:36 +00:00
peter
5c5d24b641
* moved n386*.pas to i386/ cpu_target dir
2000-10-15 09:33:29 +00:00
peter
a8b982877b
* include cpu_target unit dir
2000-10-15 09:32:47 +00:00
peter
12818742d3
* use System for the systemunit instead of target dependent
2000-10-15 09:08:58 +00:00
peter
4bd9325ae6
* more quotes
2000-10-15 09:07:41 +00:00
Jonas Maebe
54ce0b8a7d
* added missing getcopy for previous addition
2000-10-15 08:38:46 +00:00
peter
eb3ca9c51d
* unit names and procedure names are stored mixed case
2000-10-15 07:47:51 +00:00
peter
4b17f6f0ff
* fixed memory leaks
2000-10-14 21:52:54 +00:00
Jonas Maebe
628e37cd95
* merged fix for inc/dec on 64bit types from tcinl
2000-10-14 18:27:53 +00:00
peter
e171f341a0
* moehrendorf oct 2000 rewrite
2000-10-14 10:14:45 +00:00
florian
77f776b7f0
* initial revision
2000-10-10 17:31:56 +00:00
Jonas Maebe
53197cc97f
* added missing regallocs for edi in emit_mov_ref_reg64 (merged)
2000-10-10 14:55:28 +00:00
Jonas Maebe
c1e14ef033
* fixed another range check error (merged from fixes branch)
2000-10-09 14:54:27 +00:00
peter
092352b0fd
* merged @result fix from Pierre
2000-10-08 10:26:33 +00:00
Jonas Maebe
0b558b038f
* fixed inc/dec with a 64bit type (merged from fixes branch)
2000-10-05 14:42:31 +00:00
pierre
42f9aaf68c
* object stabs fix (merged)
2000-10-04 23:16:48 +00:00
pierre
f95a082233
* IsExe restored
2000-10-04 14:51:08 +00:00
Jonas Maebe
b96fc49809
* fixed bug regarding removal of "test/or reg,reg": apparently, shr/shl
...
doesn't set the zero flag according to the contents of the register
after the shift :( (mergfed from fixes branch)
2000-10-02 13:01:29 +00:00
pierre
33aba92b1d
* lineinfo explicit load not needed anymore
2000-10-01 21:15:55 +00:00
peter
93b4bc7d16
* regenerated
2000-10-01 21:05:03 +00:00
peter
0eee33e3f6
* new file
2000-10-01 19:58:40 +00:00
peter
38951f5ce1
* lot of compile updates for cg11
2000-10-01 19:48:23 +00:00
peter
27749c067e
* more cg11 updates
2000-09-30 16:08:45 +00:00
peter
dc6c26755b
* filepos when unit not found (merged)
2000-09-30 16:07:40 +00:00
peter
11fbb1cc6d
* prefix fix (merged)
2000-09-30 16:07:20 +00:00
peter
084e294150
* const array of char and pchar length fixed (merged)
2000-09-30 13:23:04 +00:00
peter
5f21bf64b8
* range check fix
2000-09-30 13:13:22 +00:00
Jonas Maebe
b8388b3143
* regvars are now zeroed at the start of their life if they contain an 8
...
or 16bit var/parameter, because the full 32bits are used if they are
necessary for a btrl instruction
2000-09-30 13:08:16 +00:00
Jonas Maebe
bec76ee738
* fixed support for -Or with new features of CSE
2000-09-30 13:07:23 +00:00
Jonas Maebe
9e77e31a28
* search much further back for CSE sequences (non-conflicting stores are
...
now passed)
* remove more unnecessary loads of registers (especially the self pointer)
2000-09-29 23:14:45 +00:00
Jonas Maebe
ec5edf7be2
+ writeToMemDestroysContents() and writeDestroysContents() to support the
...
new features of the CSE
2000-09-29 23:14:11 +00:00
florian
2a74104ce4
* make cycle fixed
2000-09-29 15:45:23 +00:00
florian
c91779dd2c
*** empty log message ***
2000-09-28 20:48:52 +00:00
florian
57a566e53d
*** empty log message ***
2000-09-28 19:49:51 +00:00