Commit Graph

73 Commits

Author SHA1 Message Date
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
peter
4517f917fd * fixed array of const
* generic platform independent high() support
1999-01-21 22:10:35 +00:00
pierre
0cfc4c8f6b * fix for constructor inside with statements 1999-01-21 16:40:51 +00:00
peter
000336a586 * released valuepara 1998-12-30 13:41:05 +00:00
florian
802fd8fb5c * memory leaks for ansistring type casts fixed 1998-12-22 13:10:56 +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
florian
467c0de643 * bug with p(const a : ansistring) fixed
* duplicate constant ansistrings were handled wrong, fixed
1998-12-10 14:39:29 +00:00
florian
4244dda54b + basic operations with int64/qord (compiler with -dint64)
+ rtti of enumerations extended: names are now written
1998-12-10 09:47:13 +00:00
florian
061be51016 * better code generation for classes which are passed as parameters to
subroutines
1998-12-06 13:12:44 +00:00
pierre
a1f1003555 * some range check bugs fixed (still not working !)
+ added DLL writing support for win32 (also accepts variables)
  + TempAnsi for code that could be used for Temporary ansi strings
    handling
1998-11-30 09:42:52 +00:00
peter
a41f61713d + open strings, $P switch support 1998-11-27 14:50:30 +00:00
peter
66f37e9d4a * fix for valuepara 1998-11-26 21:30:03 +00:00
peter
df89c828e5 * ansistring -> pchar fixed
* ansistring constants fixed
  * ansistring constants are now written once
1998-11-26 14:39:10 +00:00
peter
0cadc4f3c3 * VALUEPARA for tp7 compatible value parameters 1998-11-18 15:44:05 +00:00
peter
3df27389c0 * rename laod/copystring -> load/copyshortstring
* fixed int-bool cnv bug
  + char-ansistring conversion
1998-11-16 15:35:35 +00:00
florian
3bb3dc34ff * some stuff of Pavel implement (win32 dll creation)
* bug with ansistring function results fixed
1998-11-15 16:32:33 +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
pierre
920691ac0a * fix for first line of function break 1998-11-12 11:19:30 +00:00
peter
0353e61e9b * va_list -> array of const 1998-11-10 10:09:08 +00:00
peter
20188aa991 + va_list for printf support 1998-11-09 11:44:33 +00:00
pierre
6c1766feed * bug fix for IOCHECK inside a procedure with iocheck modifier
* removed the GPF for unexistant overloading
    (firstcall was called with procedinition=nil !)
  * changed typen to what Florian proposed
    gentypenode(p : pdef) sets the typenodetype field
    and resulttype is only set if inside bt_type block !
1998-10-21 15:12:49 +00:00
florian
d666ac848e + ansistring operator +
+ $h and string[n] for n>255 added
  * small problem with TP fixed
1998-10-21 08:39:56 +00:00
pierre
1a77339355 * several memory corruptions due to double freemem solved
=> never use p^.loc.location:=p^.left^.loc.location;
  + finally I added now by default
    that ra386dir translates global and unit symbols
  + added a first field in tsymtable and
    a nextsym field in tsym
    (this allows to obtain ordered type info for
    records and objects in gdb !)
1998-10-20 08:06:37 +00:00
peter
acf9818648 + target_os.stackalignment
+ stack can be aligned at 2 or 4 byte boundaries
1998-10-16 08:51:45 +00:00
pierre
7621dc0b56 * several memory leaks fixed 1998-10-09 08:56:21 +00:00
pierre
3048845e68 * some memory leaks fixed (thanks to Peter for heaptrc !) 1998-10-06 17:16:31 +00:00
peter
2b44a66b5a * fixed value openarray
* ungettemp of arrayconstruct
1998-10-01 09:22:52 +00:00
pierre
a12d8c9417 * changed all length(p^.value_str^) into str_length(p)
to get it work with and without ansistrings
  * changed sourcefiles field of tmodule to a pointer
1998-09-28 16:57:09 +00:00
florian
39584dd9f6 * small problems with DOM and excpetions fixed (code generation
of raise was wrong and self was sometimes destroyed :()
1998-09-26 15:03:02 +00:00
florian
16af381be8 * problems when calling class methods fixed 1998-09-25 00:04:00 +00:00
peter
1b83196296 * some better support for openarray 1998-09-24 14:27:37 +00:00
peter
692155686a * rewritten isconvertable to use case
* array of .. and single variable are compatible
1998-09-24 09:02:13 +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
634686534e * merged fixes 1998-09-20 12:26:35 +00:00
peter
c72691c843 + pass_2 for cg386
* Message() -> CGMessage() for pass_1/pass_2
1998-09-17 09:42:09 +00:00