florian
f3ed1eaf5c
* improved allocation rules for integer register variables
2000-03-26 10:50:04 +00:00
peter
ffab53c30f
* tp7 fix
2000-03-19 08:17:36 +00:00
pierre
35d59eeb52
Use $GOTO ON
2000-02-29 23:59:47 +00:00
florian
df41d1395c
* newcg is compiling
...
* fixed the dup id problem reported by Paul Y.
2000-02-20 20:49:45 +00:00
florian
05e486a068
* big update for exception handling code generation: possible mem holes
...
fixed, break/continue/exit should work always now as expected
2000-02-10 23:44:42 +00:00
peter
4a4a24b6e8
* log truncated
2000-02-09 13:22:42 +00:00
florian
7ab03a6efc
* for some strange reasons my fix regarding register variable
...
allocation was lost
2000-02-05 15:57:58 +00:00
Jonas Maebe
16e46c496c
* moved call to resetusableregs to compile_proc_body (put it right before the
...
reset of the temp generator) so the optimizer can know which registers are
regvars
2000-02-04 14:54:17 +00:00
florian
26fc3fb886
* better register variable allocation in -Or mode
2000-02-04 08:47:10 +00:00
Jonas Maebe
e5af12b684
* forgot to commit a procedure for -dlogsecondpass the last time
2000-01-22 15:58:12 +00:00
Jonas Maebe
9c59eb8a12
+ add info on entry/exit of secondpass procedure in assembler files, between
...
-dlogsecondpass
2000-01-21 12:16:53 +00:00
peter
25dda03cdc
* renamed call_offset to para_offset
2000-01-16 22:17:11 +00:00
peter
e525797c51
* updated copyright to 2000
2000-01-07 01:14:18 +00:00
florian
89ccc81c2b
+ added compiler switch $maxfpuregisters
...
+ fixed a small problem in secondvecn
2000-01-04 15:15:50 +00:00
peter
7583de7a4f
- removed freelabel()
...
* added undefined label detection in internal assembler, this prevents
a lot of ld crashes and wrong .o files
* .o files aren't written anymore if errors have occured
* inlining of assembler labels is now correct
1999-12-22 01:01:45 +00:00
pierre
21ec770944
* fix for web bug735
1999-12-19 23:37:18 +00:00
florian
577edbbd3f
+ compiler checks now if a goto leaves an exception block
1999-12-14 09:58:41 +00:00
peter
0512ba80fb
+ ttype, tsymlist
1999-11-30 10:40:42 +00:00
pierre
b528749138
* Notes/Hints for local syms changed to
...
Set_varstate function
1999-11-18 15:34:44 +00:00
peter
23ca9de3b3
* esi_offset -> selfpointer_offset to be newcg compatible
...
* hcogegen -> cgbase fixes for newcg
1999-11-09 23:06:44 +00:00
peter
0887060ff2
* truncated log to 20 revs
1999-11-06 14:34:16 +00:00
peter
6b1ab5eb31
* procinfo is now a pointer
...
* support for result setting in sub procedure
1999-09-27 23:44:46 +00:00
peter
2687d75c38
+ constant pointer support which can happend with typecasting like
...
const p=pointer(1)
* better procvar parsing in typed consts
1999-09-26 21:30:15 +00:00
florian
fbbf8a505c
* m68k compiler is again compilable (only gas writer, no assembler reader)
1999-09-16 23:05:51 +00:00
florian
1c638f2952
* small fix to operator overloading when in MMX mode
...
+ the compiler uses now fldz and fld1 if possible
+ some fixes to floating point registers
+ some math. functions (arctan, ln, sin, cos, sqrt, sqr, pi) are now inlined
* .... ???
1999-09-15 20:35:37 +00:00
Jonas Maebe
88306ed3f3
* framepointer cannot be changed to esp for methods
1999-09-07 14:12:35 +00:00
pierre
03263b9285
+ some EXTTEMPREGDEBUG code added
1999-08-27 10:46:26 +00:00
Jonas Maebe
5fc1435036
* changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu)
1999-08-25 11:59:32 +00:00
pierre
87847fac70
* wrong testregisters32 placement corrected
1999-08-24 09:07:04 +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
florian
e6c1b96cff
* some small problems fixed
1999-08-07 14:20:55 +00:00
florian
d66fdc645a
* now every available fpu register is used for
...
fpu register variables
1999-08-04 14:21:07 +00:00
florian
e53aceb9be
+ floating point register variables !!
...
* pairegalloc is now generated for register variables
1999-08-04 13:45:17 +00:00
florian
ca53eee67e
* renamed i386asm and i386base to cpuasm and cpubase
1999-08-04 00:22:34 +00:00
peter
ed8eb13d59
* moved bitmask constants to sets
...
* some other type/const renamings
1999-08-03 22:02:29 +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
cc0511a890
* @procvar is now always needed for FPC
1999-06-01 14:45:40 +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
peter
e8bf496ae8
* containsself fixes
...
* checktypes()
1999-05-18 14:15:18 +00:00
florian
8706cd801f
* new temporary ansistring handling
1999-05-17 21:56:57 +00:00
florian
8836c26503
* several bugs regarding -Or fixed
1999-05-02 21:33:52 +00:00
peter
611da2d24e
* merged nasm compiler
...
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
florian
d27b21891b
* changes of Bruessel:
...
+ message handler can now take an explicit self
* typinfo fixed: sometimes the type names weren't written
* the type checking for pointer comparisations and subtraction
and are now more strict (was also buggy)
* small bug fix to link.pas to support compiling on another
drive
* probable bug in popt386 fixed: call/jmp => push/jmp
transformation didn't count correctly the jmp references
+ threadvar support
* warning if ln/sqrt gets an invalid constant argument
1999-04-28 06:01:54 +00:00
peter
2bfdf91c5c
* assembler inlining working for ag386bin
1999-03-31 13:55:03 +00:00
peter
d0cb5a147a
* fixed bugs 212,222,225,227,229,231,233
1999-03-24 23:16:42 +00:00
peter
bf9b5e3a54
* updates for ag386bin
1999-02-22 02:14:59 +00:00
florian
90d0bea35a
* first running version of the new code generator
...
* when compiling exceptions under Linux fixed
1999-01-23 23:29:31 +00:00
peter
000336a586
* released valuepara
1998-12-30 13:41:05 +00:00
florian
d656d708b7
* ansistring memory leaks fixed
1998-12-19 00:23:40 +00:00