Commit Graph

40 Commits

Author SHA1 Message Date
peter
6b1ab5eb31 * procinfo is now a pointer
* support for result setting in sub procedure
1999-09-27 23:44:46 +00:00
peter
2687d75c38 + constant pointer support which can happend with typecasting like
const p=pointer(1)
  * better procvar parsing in typed consts
1999-09-26 21:30:15 +00:00
florian
fbbf8a505c * m68k compiler is again compilable (only gas writer, no assembler reader) 1999-09-16 23:05:51 +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
Jonas Maebe
88306ed3f3 * framepointer cannot be changed to esp for methods 1999-09-07 14:12:35 +00:00
pierre
03263b9285 + some EXTTEMPREGDEBUG code added 1999-08-27 10:46:26 +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
87847fac70 * wrong testregisters32 placement corrected 1999-08-24 09:07:04 +00:00
pierre
409b092c87 + TEMPREGDEBUG code, test of register allocation
if a tree uses more than registers32 regs then
    internalerror(10) is issued
  + EXTTEMPREGDEBUG will also give internalerror(10) if
    a same register is freed twice (happens in several part
    of current compiler like addn for strings and sets)
1999-08-23 23:25:58 +00:00
florian
e6c1b96cff * some small problems fixed 1999-08-07 14:20:55 +00:00
florian
d66fdc645a * now every available fpu register is used for
fpu register variables
1999-08-04 14:21:07 +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
pierre
5f05d07dcb * previous wrong log corrected 1999-06-02 22:43:57 +00:00
pierre
35777a48a1 types.pas 1999-06-02 22:25:22 +00:00
peter
cc0511a890 * @procvar is now always needed for FPC 1999-06-01 14:45:40 +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
peter
e8bf496ae8 * containsself fixes
* checktypes()
1999-05-18 14:15:18 +00:00
florian
8706cd801f * new temporary ansistring handling 1999-05-17 21:56:57 +00:00
florian
8836c26503 * several bugs regarding -Or fixed 1999-05-02 21:33:52 +00:00
peter
611da2d24e * merged nasm compiler
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
florian
d27b21891b * changes of Bruessel:
+ message handler can now take an explicit self
     * typinfo fixed: sometimes the type names weren't written
     * the type checking for pointer comparisations and subtraction
       and are now more strict (was also buggy)
     * small bug fix to link.pas to support compiling on another
       drive
     * probable bug in popt386 fixed: call/jmp => push/jmp
       transformation didn't count correctly the jmp references
     + threadvar support
     * warning if ln/sqrt gets an invalid constant argument
1999-04-28 06:01:54 +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
bf9b5e3a54 * updates for ag386bin 1999-02-22 02:14:59 +00:00
florian
90d0bea35a * first running version of the new code generator
* when compiling exceptions under Linux fixed
1999-01-23 23:29:31 +00:00
peter
000336a586 * released valuepara 1998-12-30 13:41:05 +00:00
florian
d656d708b7 * ansistring memory leaks fixed 1998-12-19 00:23:40 +00:00
peter
1b369bb4bb + globtype,tokens,version unit splitted from globals 1998-12-11 00:02:37 +00:00
peter
0cadc4f3c3 * VALUEPARA for tp7 compatible value parameters 1998-11-18 15:44:05 +00:00
pierre
274bce92b8 + added -Se in Makefile cvstest target
+ lexlevel cleanup
    normal_function_level main_program_level and unit_init_level defined
  * tins_cache grown to A_EMMS (gave range check error in asm readers)
    (test added in code !)
  * -Un option was wrong
  * _FAIL and _SELF only keyword inside
    constructors and methods respectively
1998-11-13 15:40:12 +00:00
florian
f4bf391b48 + partial disposing of temp. ansistrings 1998-10-29 15:42:43 +00:00
florian
eadcc6ad1a * new introduded problem with classes fix, the parent class wasn't set
correct, if the class was defined forward before
1998-10-26 22:58:16 +00:00
peter
a3fbac27af * first working array of const things 1998-09-23 09:58:48 +00:00
peter
ce9bc412b6 * check if procinfo.def is assigned before storing registersfpu 1998-09-21 10:01:06 +00:00
pierre
d11f7636be + added vmt_offset in tobjectdef.write for fututre use
(first steps to have objects without vmt if no virtual !!)
  + added fpu_used field for tabstractprocdef  :
    sets this level to 2 if the functions return with value in FPU
    (is then set to correct value at parsing of implementation)
    THIS MIGHT refuse some code with FPU expression too complex
    that were accepted before and even in some cases
    that don't overflow in fact
    ( like if f : float; is a forward that finally in implementation
     only uses one fpu register !!)
    Nevertheless I think that it will improve security on
    FPU operations !!
  * most other changes only for UseBrowser code
    (added symtable references for record and objects)
    local switch for refs to args and local of each function
    (static symtable still missing)
    UseBrowser still not stable and probably broken by
    the definition hash array !!
1998-09-21 08:45:05 +00:00
peter
c72691c843 + pass_2 for cg386
* Message() -> CGMessage() for pass_1/pass_2
1998-09-17 09:42:09 +00:00
peter
12a80cf3dc * update smartlinking, uses getdatalabel
* renamed ptree.value vars to value_str,value_real,value_set
1998-09-07 18:45:52 +00:00
peter
19bf2df53a * m68k fixes, splitted cg68k like cgi386 1998-09-01 09:07:08 +00:00