Commit Graph

102 Commits

Author SHA1 Message Date
florian
795a06b4f2 + Int64/QWord stuff for array of const added 2000-05-14 18:48:24 +00:00
pierre
d380bdfec1 * handle interrupt function correctly 2000-05-09 14:17:33 +00:00
pierre
2419be3520 * saveregisters now does not overwrite registers used as return value for functions 2000-05-04 09:29:31 +00:00
pierre
c4f4ac6ae2 * fix my last fix for other targets then win32 2000-04-28 08:53:47 +00:00
pierre
477eacdff2 * correct bugs for ts010026 and ts010029 in win32 mode
in copyvaluparas
  + use SHL instead of IMUL if constant is a power of 2 in copyvalueparas
2000-04-26 10:03:45 +00:00
peter
a9cff3c8c5 * removed unused vars 2000-04-24 12:48:37 +00:00
Jonas Maebe
55988e6f55 * modified copyshortstring so it takes an extra paramter which allows it
to delete the sref itself (so the reg deallocations are put in the
    right place for the optimizer)
2000-04-10 12:23:18 +00:00
pierre
165df86632 * fix for bug #922 in copyvalueparas 2000-04-10 09:01:15 +00:00
florian
2a901bf527 * initialize/finalize_data checks if procinfo is assigned else
crashes happend at end of compiling if there were ansistrings in the
    interface/implementation part of units: it was the result of the fix
    of 701 :(
2000-04-03 20:51:22 +00:00
florian
339d986a2a * bug #701 fixed: ansistrings in interface and implementation part of the units
are now finalized correctly even if there are no explicit initialization/
    finalization statements
2000-04-02 10:18:18 +00:00
peter
836eafa712 * use arraydef.elesize instead of elementtype.def.size 2000-04-01 14:18:44 +00:00
pierre
92e9d3bf83 * fix the handling of value parameters in cdecl function 2000-03-31 22:56:45 +00:00
pierre
8dc1494e52 * fix for problem in tbs0299 for 4 byte stack alignment 2000-03-28 22:31:46 +00:00
pierre
0578c906ee fix for bug #312 2000-03-21 23:36:46 +00:00
peter
03dcba2fda * fixed temp ansi handling within array constructor 2000-03-19 11:55:08 +00:00
peter
ffab53c30f * tp7 fix 2000-03-19 08:17:36 +00:00
florian
9573dc7006 * some new stuff for the new cg 2000-03-01 15:36:11 +00:00
pierre
fe57fa3993 * fix for bug #855 2000-03-01 12:35:44 +00:00
pierre
16638c8b65 * fixes for locals in inlined procedures
fix for bug797
  + stabs generation for inlined paras and locals
2000-03-01 00:03:10 +00:00
florian
904bfac5b9 * fixed a bug in int64/qword handling was a quite ugly one 2000-02-18 21:25:48 +00:00
pierre
c6a47280b9 * fixes a stabs problem for functions
+ includes a stabs local var for with statements
    the name is with in lowercase followed by an index
    for nested with.
  + Withdebuglist added because the stabs declarations of local
    var are postponed to end of function.
2000-02-18 20:53:14 +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
Jonas Maebe
95f2c6f732 * added missing regalloc for ecx in range check code 2000-02-09 17:36:10 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
florian
1081fc6d3b * some (small) problems with register saving fixed 2000-02-04 21:00:31 +00:00
florian
a0cc4f970b * an exception in a construcor calls now the destructor (this applies only
to classes)
2000-02-04 20:00:21 +00:00
pierre
9572b14dea + add pseudo local var parent_ebp for local procs 2000-02-04 14:29:57 +00:00
pierre
da01d99789 * Range check for int64 produces a warning only 2000-01-25 08:46:03 +00:00
florian
b2098c4de5 * some improvemenst to cmov support
* disabled excpetion frame generation in cosntructors temporarily
2000-01-24 12:17:22 +00:00
florian
332c7a568f * CMOV support in optimizer (in define USECMOV)
+ start of support of exceptions in constructors
2000-01-23 21:29:14 +00:00
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