peter
aff68fdfd4
* asw support
2001-10-18 20:55:18 +00:00
Jonas Maebe
daa7693b45
* property parameters are now fully parsed by the firstcall code to
...
check for the correct amount and types (merged)
2001-10-18 16:30:38 +00:00
florian
451ca157c4
* several widechar fixes, case works now
2001-10-17 22:41:04 +00:00
peter
ec9e4f4556
* fpc -PB instead of -P?
...
* check if fpc exists if not found fallback to ppc386
2001-10-16 20:52:34 +00:00
Jonas Maebe
388e8a76a8
* auto-converting from int64 to real is again allowed for all modes
...
(it's allowed in Delphi too)
2001-10-16 17:15:44 +00:00
Jonas Maebe
d8c104b25d
* fixed goto/label/try bugs
2001-10-16 15:10:34 +00:00
peter
393ef5c2c2
* cross compiler support
2001-10-15 21:46:03 +00:00
Jonas Maebe
350a2ad8e3
* better size checking of data (now an error is returned for
...
"array[longint] of longint") ("merged")
2001-10-15 13:16:26 +00:00
peter
6f2baf0fcf
* regenerated
2001-10-14 21:43:09 +00:00
Jonas Maebe
66567674ba
+ also replace mem references in modify operands with regs
2001-10-14 11:50:21 +00:00
Jonas Maebe
32deddeab1
* finetuned register allocation info for assignments
2001-10-14 11:49:51 +00:00
Jonas Maebe
42002892ab
* fixed bug with using procedures as procvar parameters in TP/Delphi mode
2001-10-13 09:01:14 +00:00
Jonas Maebe
9a5955d79f
* fixed crashing bug in unit reference counting
2001-10-12 20:27:43 +00:00
peter
b5d198ee3c
* duplicate imports fix for gdb (merged)
2001-10-12 16:06:27 +00:00
peter
e178da120d
* pathexists fix (merged)
2001-10-12 16:06:17 +00:00
peter
81825432d7
* more registers (merged)
2001-10-12 16:05:36 +00:00
peter
09178604e9
* system lib search fixed (merged)
2001-10-12 16:05:34 +00:00
peter
68bc48c96a
* nested inline fix (merged)
2001-10-12 16:04:32 +00:00
peter
5beb1658ce
* fix bug #1634 (merged)
2001-10-12 16:02:34 +00:00
Jonas Maebe
82f7cf0957
+ memory references are now replaced by register reads in "regular"
...
instructions (e.g. "addl ref1,%eax" will be replaced by "addl %ebx,%eax"
if %ebx contains ref1). Previously only complete load sequences were
optimized away, but not such small accesses in other instructions than
mov/movzx/movsx
2001-10-12 13:58:05 +00:00
Jonas Maebe
97c1152c6d
* finer granularity for allocation of reused/replaced registers
2001-10-12 13:55:03 +00:00
Jonas Maebe
eefd8e9f86
* fixed small crashing bug ("merged")
...
* some more optimizations are now only done once at the end of the optimizing
cycle instead of every iteration
2001-10-12 13:53:24 +00:00
Jonas Maebe
8a2c142e46
* fixed internalerror(10) due to previous fpu overflow fixes ("merged")
...
* fixed bug in n386add (introduced after compilerproc changes for string
operations) where calcregisters wasn't called for shortstring addnodes
* NOTE: from now on, the location of a binary node must now always be set
before you call calcregisters() for it
2001-10-12 13:51:51 +00:00
Jonas Maebe
bdf2593265
* fixed range check errors
2001-10-04 14:33:28 +00:00
Jonas Maebe
588c9858e0
* changed error message for explicit self parameter (it's allowed again
...
for normal procedures) (merged)
2001-10-01 13:54:55 +00:00
Jonas Maebe
2c87e58a77
* allow self parameter for normal procedures again (because Kylix allows
...
it too) ("merged")
2001-10-01 13:38:44 +00:00
Jonas Maebe
da7d733384
+ implemented second_int_to_real
...
* fixed small bug in second_int_to_int
2001-10-01 12:17:26 +00:00
peter
59cb901446
* gdb fixes merged
2001-09-30 21:29:47 +00:00
peter
7312815d01
* int64->boolean fixed
2001-09-30 21:28:34 +00:00
peter
27f1d79fd1
* much cleaner default source and target setting
2001-09-30 21:27:59 +00:00
peter
f709d48789
* removed obsolete newst defines
2001-09-30 21:26:42 +00:00
peter
0d27041955
* merged delphi comment fix
2001-09-30 21:23:59 +00:00
peter
f15271ad22
* merged absolute support for constants
2001-09-30 21:15:48 +00:00
Jonas Maebe
4be6d060a4
- removed unused units
2001-09-30 16:19:58 +00:00
Jonas Maebe
39f67208a8
* made most constant and mem handling processor independent
2001-09-30 16:17:17 +00:00
Jonas Maebe
a40c2b8dd0
- removed unused units form uses-clause and unused local vars
2001-09-30 16:16:28 +00:00
Jonas Maebe
f33d23922a
- removed unnecessary i386 pass_2 of as- and isnode and added dummy generic ones
2001-09-30 16:12:46 +00:00
carl
51148594b0
* updated for UNIX compatiblity
2001-09-29 23:13:32 +00:00
Jonas Maebe
7649deb8c3
- removed files, already integrated in main compiler dir
2001-09-29 21:36:06 +00:00
Jonas Maebe
170234049b
- removed unused code (replaced by processor independent code)
2001-09-29 21:34:04 +00:00
Jonas Maebe
c3e0203058
* support 64bit operands in def_cgsize()
2001-09-29 21:33:47 +00:00
Jonas Maebe
32759c4953
* small optimization
2001-09-29 21:33:30 +00:00
Jonas Maebe
ca8623dfb6
+ implemented bool_to_int and int_to_int (+ helper in nppcutil)
2001-09-29 21:33:12 +00:00
Jonas Maebe
fc6d300a95
* almost all second pass typeconvnode helpers are now processor independent
...
* fixed converting boolean to int64/qword
* fixed register allocation bugs which could cause internalerror 10
* isnode and asnode are completely processor indepent now as well
* fpc_do_as now returns its class argument (necessary to be able to use it
properly with compilerproc)
2001-09-29 21:32:46 +00:00
Jonas Maebe
fac1fb3d6c
* fixed bug in a_load_reg_reg + implemented a_call
2001-09-29 21:32:19 +00:00
Jonas Maebe
eea498a0ed
* moved to main compiler dir
2001-09-28 20:42:00 +00:00
Jonas Maebe
fa0a56f559
* several additions, almost complete (only some problems with resflags left)
2001-09-28 20:40:05 +00:00
Jonas Maebe
b374bec6fb
* changed all flow control structures (except for exception handling
...
related things) to processor independent code (in new ncgflw unit)
+ generic cgobj unit which contains lots of code generator helpers with
global "cg" class instance variable
+ cgcpu unit for i386 (implements processor specific routines of the above
unit)
* updated cgbase and cpubase for the new code generator units
* include ncgflw unit in cpunode unit
2001-09-28 20:39:32 +00:00
Jonas Maebe
8e70f9aaf8
* fixed big bug in my previous changes (the arguent for bts/btr is always
...
a 32 bit register, but it wasn't cleared properly if the value was only
an 8 bit one)
2001-09-28 20:38:51 +00:00
Jonas Maebe
49f399d750
* fixed bug reported by sg about self not being restored after calling
...
setlength
2001-09-27 13:03:18 +00:00