Commit Graph

95 Commits

Author SHA1 Message Date
florian
5925e8fb20 * fixed bug #881: for the include/exclude instruction sometimes wrong
code was generated
2000-03-21 16:24:43 +00:00
florian
2f623caf67 * fixed an internalerror with writeln
* fixed arrayconstructor_to_set to force the generation of better code
    and added a more strict type checking
2000-02-13 22:46:27 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
peter
62df907953 * abstractprocdef.para_size needs alignment parameter
* secondcallparan gets para_alignment size instead of dword_align
2000-01-26 12:02:29 +00:00
florian
26f38e15e3 * internalerror 10 for inlined math functions fixed 2000-01-24 20:11:10 +00:00
peter
99fe175be6 * added st_default stringtype
* genstringconstnode extended with stringtype parameter using st_default
    will do the old behaviour
2000-01-09 23:16:05 +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
florian
4c928ce997 * fixed an internalerror 10 with pred(...) 1999-12-14 10:17:40 +00:00
florian
17950502e1 + added support for succ/pred(<qword/int64>) 1999-12-02 12:38:45 +00:00
peter
d3b404c1a4 * fixed bug #698
* removed some notes about unused vars
1999-12-01 12:42:31 +00:00
peter
0512ba80fb + ttype, tsymlist 1999-11-30 10:40:42 +00:00
pierre
e9bef7b71d * fix for form bug #699 1999-11-29 00:30:06 +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
peter
67a8409186 * fixed wrong asm with inc(qword), but not it's not correctly supported 1999-11-09 22:54:45 +00:00
peter
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +00:00
peter
00ef632f73 * fixed assert, the tree is now disposed in firstpass if assertions
are off.
1999-10-29 15:28:51 +00:00
peter
503d5a1cfa * const parameter is now checked
* better and generic check if a node can be used for assigning
  * export fixes
  * procvar equal works now (it never had worked at least from 0.99.8)
  * defcoll changed to linkedlist with pparaitem so it can easily be
    walked both directions
1999-10-26 12:30:40 +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
florian
ed7dd22b82 * fixed bug #610
+ added $D- for TP in symtable.pas else it can't be compiled anymore
    (too much symbols :()
1999-09-28 20:48:23 +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
pierre
cac8e59f0f * FLDPI must increment fpuvaroffset 1999-09-16 07:52:37 +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
656d4330cd * bug #519 fixed 1999-08-28 15:34:16 +00:00
pierre
63608b6dbb * emit_??? used 1999-08-19 13:08:43 +00:00
pierre
aca546d6d2 * fpuvaroffset not increased for f32bit float type 1999-08-10 13:21:08 +00:00
pierre
da2d4a76ce * fpuvaroffset problems solved 1999-08-10 12:47:53 +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
peter
07bb58295b * alignment is now saved in the symtable
* C alignment added for records
  * PPU version increased to solve .12 <-> .13 probs
1999-07-23 16:05:18 +00:00
peter
248826aa81 * removed temp defines 1999-07-05 20:13:06 +00:00
florian
3eae7ee6fb + start of val(int64/qword)
* longbool, wordbool constants weren't written, fixed
1999-07-03 14:14:27 +00:00
florian
c615fcdbbb * int64/qword type release
+ lo/hi for int64/qword
1999-07-01 15:49:09 +00:00
Jonas Maebe
9ca18fc55b * fixed include() with smallsets 1999-06-21 16:33:27 +00:00
peter
9631bab859 *** empty log message *** 1999-06-11 11:44:56 +00:00
florian
2ad3da43e6 * make cycle fixed i.e. compilation with 0.99.10
* some fixes for qword
  * start of register calling conventions
1999-06-02 10:11:39 +00:00
peter
dd6ecd953b * fixed register allocation for storefuncresult 1999-05-31 12:43:32 +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
florian
59c6d9f289 * qword/int64 multiplication fixed
+ qword/int64 subtraction
1999-05-23 19:55:10 +00:00
florian
6b33f4d87d * better error recovering in typed constants
* some problems with arrays of const fixed, some problems
    due my previous
     - the location type of array constructor is now LOC_MEM
     - the pushing of high fixed
     - parameter copying fixed
     - zero temp. allocation removed
  * small problem in the assembler writers fixed:
    ref to nil wasn't written correctly
1999-05-23 18:41:55 +00:00
peter
bfed29ff8b * NEWLAB for label as symbol 1999-05-21 13:54:38 +00:00
florian
d7b52d0183 * fixed some bugs related to temp. ansistrings and functions results
which return records/objects/arrays which need init/final.
1999-05-18 21:58:22 +00:00
florian
8706cd801f * new temporary ansistring handling 1999-05-17 21:56:57 +00:00
pierre
f3534cfea8 * handle_str disposetree was badly placed 1999-05-12 15:46:26 +00:00
peter
bc903063c1 * removed R_DEFAULT_SEG
* uniform float names
1999-05-12 00:19:34 +00:00
peter
1c96916943 * generic write_float and str_float
* fixed constant float conversions
1999-05-06 09:05:05 +00:00
Jonas Maebe
ab37fa22c8 * changes to handle_val so register vars are pushed/poped only once 1999-05-05 16:18:20 +00:00