Commit Graph

108 Commits

Author SHA1 Message Date
peter
4549ef44e1 * merges from fixes 2000-08-04 22:00:50 +00:00
sg
c09b31bef5 * Applied patch by Markus Kaemmerer which removes a tiny memory leak
for the generation of code for in_[sin|cos]_extended code
  (a label has been created but never used afterwards)
2000-07-29 18:27:53 +00:00
Jonas Maebe
67ac676004 + added is_addr field for labels, if they are only used for getting the address
(e.g. for io checks) and corresponding getaddrlabel() procedure
2000-07-21 15:14:01 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00
florian
26643d4e16 * fixed my previous commit :/ 2000-07-05 20:29:16 +00:00
florian
a989d18fc2 * fixed fpuvaroffset calculation in read statements 2000-07-05 20:19:47 +00:00
pierre
fddd96280d * fixed several compare problems between longints and
const > $80000000 that are treated as int64 constanst
    by Delphi reported by Kovacs Attila Zoltan
2000-05-11 09:56:20 +00:00
pierre
c0943fad01 * better inlined real sqr function 2000-04-14 12:33:40 +00:00
pierre
1a16b36498 * generate code accepted by nasm 2000-04-04 21:41:56 +00:00
florian
ff5b72e3bd * fixed another problem with readln(<floating point register variable>);
* the register allocator takes now care of necessary pushes/pops for
    readln/writeln
2000-04-02 18:30:11 +00:00
florian
f71ddb9e2f * readln(r); works now, if r is a fpu register variable 2000-04-02 17:47:47 +00:00
pierre
92e9d3bf83 * fix the handling of value parameters in cdecl function 2000-03-31 22:56:45 +00:00
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