Commit Graph

72 Commits

Author SHA1 Message Date
michael
587a967353 + Fixes from Jonas. 2000-01-23 11:11:36 +00:00
Jonas Maebe
a961e10de2 * fixed more regalloc bugs (for set adding and unsigned
multiplication)
2000-01-22 16:02:37 +00:00
peter
25dda03cdc * renamed call_offset to para_offset 2000-01-16 22:17:11 +00:00
peter
96ed273164 * smartlinking fixes for binary writer
* release alignreg code and moved instruction writing align to cpuasm,
    but it doesn't use the specified register yet
2000-01-12 10:38:16 +00:00
Jonas Maebe
23d69a5126 * changed edi allocation to use getexplicitregister32/ungetregister
(adapted tgeni386 a bit for this) and enabled it by default
  * fixed very big and stupid bug of mine in cg386mat that broke the
    include() code (and make cycle :( ) if you compiled without
    -dnewoptimizations
2000-01-09 12:34:59 +00:00
Jonas Maebe
86ff0db0b5 + (de)allocation info for EDI to fix reported bug on mailinglist.
Also some (de)allocation info for ESI added. Between -dallocEDI
    because at this time of the night bugs could easily slip in ;)
2000-01-09 01:44:18 +00:00
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +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
3e399a860d + dllversion global variable
* FPC_USE_CPREFIX code removed, not necessary anymore
    as we use .edata direct writing by default now.
1999-12-20 21:42:34 +00:00
peter
368452de05 * fixed wrong assembler with in-node 1999-12-01 22:45:54 +00:00
peter
0512ba80fb + ttype, tsymlist 1999-11-30 10:40:42 +00:00
pierre
221382d99c + cond FPC_USE_CPREFIX (needs also some RTL changes)
this allows to use unit global vars as DLL exports
    (the underline prefix seems needed by dlltool)
1999-11-20 01:22:18 +00:00
pierre
62da9bd4c0 * Notes/hints changes 1999-11-17 17:04:58 +00:00
pierre
8e738214a1 * self pointer stabs for local function was wrong 1999-11-15 14:04:00 +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
4a74f18756 * fixed bug #301 1999-10-25 12:18:11 +00:00
florian
0dd2b51943 * problems with readln fixed: esi wasn't restored correctly when
reading ordinal fields of objects futher the register allocation
    didn't take care of the extra register when reading ordinal values
  * enumerations can now be used in constant indexes of properties
1999-10-21 16:41:37 +00:00
peter
fefc839b29 * redesigned linker object
+ library support for linux (only procedures can be exported)
1999-10-21 14:29:32 +00:00
pierre
ff8ba9c049 * fix for uggly bug of Marco 1999-10-13 22:09:29 +00:00
pierre
7bf3213a01 * use and remember that C functions with complex data results use ret $4 1999-10-08 15:40:47 +00:00
pierre
781429264d * bug exit('test') + fail for classes 1999-10-05 22:01:52 +00:00
florian
796234f596 * fixed bug #292 from bugs directory 1999-09-29 11:46:18 +00:00
florian
1bad993700 * fixed bug #608 1999-09-28 21:07:53 +00:00
florian
9f62eb480b * the maybe_push fix of Pierre wasn't 100%, the tree parameter
must contain a valid location (which is saved if necessary)
1999-09-28 19:43:45 +00:00
peter
6b1ab5eb31 * procinfo is now a pointer
* support for result setting in sub procedure
1999-09-27 23:44:46 +00:00
florian
d6c22004f4 * exception patch of Romio nevertheless the excpetion handling
needs some corections regarding register saving
  * gettempansistring is again a procedure
1999-09-26 13:26:01 +00:00
peter
bc62d96930 * restored old alignment, saves 40k on ppc386 1999-09-20 16:35:43 +00:00
pierre
b5f43cf97b + RESULT pseudo var added in GDB debug info 1999-09-16 07:58:14 +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
florian
78977be752 * finally!? fixed
with <function with result in temp> do
    My last and also Peter's fix before were wrong :(
1999-09-14 07:59:46 +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
6165d59dfd * bug #603 fixed 1999-09-11 11:23:58 +00:00
peter
9ef54daf28 * fixed with <calln> do
* fixed finalize/initialize call for new/dispose
1999-09-10 15:42:50 +00:00
florian
96dd7c82fa * bug #580 fixed 1999-09-04 20:50:08 +00:00
florian
63ceb87e8f * problems with -Or fixed: tdef.isfpuregable was wrong! 1999-09-02 17:07:38 +00:00
peter
8e5c13cf47 * fixed temp allocation for arrayconstructor 1999-09-01 09:26:21 +00:00
pierre
20d1fb52b6 * problem with maybe_push/restore solved hopefully 1999-08-30 12:00:44 +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
florian
656d4330cd * bug #519 fixed 1999-08-28 15:34:16 +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
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
peter
2e99c59182 * array constructor support 1999-08-14 00:36:05 +00:00
florian
e6c1b96cff * some small problems fixed 1999-08-07 14:20:55 +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
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
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