Commit Graph

108 Commits

Author SHA1 Message Date
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
pierre
7bf3213a01 * use and remember that C functions with complex data results use ret $4 1999-10-08 15:40:47 +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
pierre
910372616a * typo correction 1999-09-16 11:34:44 +00:00
peter
2c94850f4c * small array push to open array fixed, open array always needs addr
pushing
1999-09-07 07:54:23 +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
a7bc2dfb17 + TEMPREGDEBUG code added 1999-08-23 23:38:18 +00:00
pierre
63608b6dbb * emit_??? used 1999-08-19 13:08:43 +00:00
peter
793b28882f * classes vmt changed to only positive addresses
* sharedlib creation is working
1999-08-09 22:19:46 +00:00
peter
f7dd7ed1ed * fixed pushing of self with methodpointer 1999-08-09 10:37:55 +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
florian
62cb5453d3 * a lot bug fixes:
- po_external isn't any longer necessary for procedure compatibility
     - m_tp_procvar is in -Sd now available
     - error messages of procedure variables improved
     - return values with init./finalization fixed
     - data types with init./finalization aren't any longer allowed in variant
       record
1999-07-06 21:48:09 +00:00
peter
1f99e8e497 * merged 1999-06-22 13:31:24 +00:00
peter
eca8cbb3be * merged 1999-06-16 09:32:45 +00:00
peter
03e6ec96c5 * merged 1999-06-14 17:47:45 +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
pierre
71e0799f74 * forgotten emitcall change in conditionnal 1999-05-28 15:59:46 +00:00
peter
164fba5879 * removed ungettempoftype 1999-05-28 11:00:49 +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
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
pierre
1a3b65af0b * extedebug problem solved 1999-05-18 22:34:26 +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
peter
e8bf496ae8 * containsself fixes
* checktypes()
1999-05-18 14:15:18 +00:00
peter
d4659125d9 * procedure of object and addrn fixes 1999-05-18 09:52:17 +00:00
peter
12313fbed8 * with temp vars now use a reference with a persistant temp instead
of setting datasize
1999-05-17 23:51:37 +00:00
florian
8706cd801f * new temporary ansistring handling 1999-05-17 21:56:57 +00:00
peter
611da2d24e * merged nasm compiler
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
pierre
f0a468fdef * fix for ID 388 removing real from stack was wrong 1999-04-29 22:12:21 +00:00
pierre
d4486b584c * fix for TESTOBJEXT code 1999-04-25 22:33:19 +00:00
pierre
833f624fc4 + cdecl or stdcall push all args with longint size
*  tempansi stuff cleaned up
1999-04-19 09:45:46 +00:00
Jonas Maebe
246a653a5d * more regalloc fixes (still not complete) 1999-04-16 13:42:23 +00:00
pierre
45a7ff2aa8 * no add $0,%esp for cdecl functions without parameters 1999-04-16 10:26:56 +00:00
peter
370f15bcc4 * define to get ansistring returns in ref instead of reg 1999-04-09 08:41:48 +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
c8f444b65f * ag386bin updates
+ coff writer
1999-02-25 21:02:16 +00:00
peter
bf9b5e3a54 * updates for ag386bin 1999-02-22 02:14:59 +00:00
pierre
f59803f7d2 * fix for normal method calls inside static methods :
WARNING there were both parser and codegen errors !!
    added static_call boolean to calln tree
1999-02-11 09:46:21 +00:00
florian
b73b83a01b + complex results for assembler functions, fixes bug0155 1999-02-09 15:45:46 +00:00
pierre
85e61ae63b * fix for bug0214
several problems where combined
   search_class_member did not set srsymtable
   => in do_member_read the call node got a wrong symtable
   in cg386cal the vmt was pushed twice without chacking if it exists
   now %esi is set to zero and pushed if not vmt
   (not very efficient but should work !)
1999-02-08 11:29:04 +00:00
florian
9b3fd7f5b6 + range checking for ansi- and widestrings
* made it compilable with TP
1999-02-04 10:49:39 +00:00
pierre
b186605bc4 * conditionnal code for extended check of virtual methods 1999-02-03 10:18:14 +00:00
florian
2ac877d04f * problem with calls to method pointers in methods fixed
- double ansistrings temp management removed
1999-02-02 23:52:32 +00:00
florian
491c20797c * class destructors fixed, class instances weren't disposed correctly 1999-02-02 11:04:36 +00:00
florian
02b4722695 * the reference in the result location of a function call wasn't resetted =>
problem with unallowed far pointer, is solved now
1999-01-28 23:56:44 +00:00
florian
ccd94e19cc * "procedure of object"-stuff fixed 1999-01-27 00:13:52 +00:00