Commit Graph

3532 Commits

Author SHA1 Message Date
peter
f88f6eb571 * rtti/init table updates
* rttisym for reusable global rtti/init info
  * support published for interfaces
2001-08-30 20:13:52 +00:00
peter
cd73e62336 * create script.res and use link.res for commandline 2001-08-30 20:08:23 +00:00
peter
ce43e79517 * detect duplicate labels 2001-08-30 19:43:50 +00:00
Jonas Maebe
eec2c98371 * fix from Peter for getting correct symtableentry for funcret loads 2001-08-30 15:48:34 +00:00
Jonas Maebe
41a57028b9 * converted adding/comparing of strings to compileproc. Note that due
to the way the shortstring helpers for i386 are written, they are
    still handled by the old code (reason: fpc_shortstr_compare returns
    results in the flags instead of in eax and fpc_shortstr_concat
    has wierd parameter conventions). The compilerproc stuff should work
    fine with the generic implementations though.
  * removed some nested comments warnings
2001-08-30 15:43:14 +00:00
Jonas Maebe
a41949db8e * fixed docompare for the fields I added to tcallnode in my previous
commit
  * removed nested comment warning
2001-08-30 15:39:59 +00:00
michael
fc704cd7b0 + Patch for wrong paramsize 2001-08-30 11:57:20 +00:00
Jonas Maebe
06f9cd4c96 * some fixes in compilerprocs for chararray to string conversions
* conversion from string to chararray is now also done via compilerprocs
2001-08-29 19:49:03 +00:00
Jonas Maebe
cecfe5dd49 * removed unused var 2001-08-29 17:50:45 +00:00
Jonas Maebe
003549eba1 * the optimizer now keeps track of flags register usage. This fixes some
optimizer bugs with int64 calculations (because of the carry flag usage)
  * fixed another bug which caused wrong optimizations with complex
    array expressions
2001-08-29 14:07:43 +00:00
Jonas Maebe
105b7ae809 + new createinternres() constructor for tcallnode to support setting a
custom resulttype
  * compilerproc typeconversions now set the resulttype from the type
    conversion for the generated call node, because the resulttype of
    of the compilerproc helper isn't always exact (e.g. the ones that
    return shortstrings, actually return a shortstring[x], where x is
    specified by the typeconversion node)
  * ti386callnode.pass_2 now always uses resulttype instead of
    procsym.definition.rettype (so the custom resulttype, if any, is
    always used). Note that this "rettype" stuff is only for use with
    compilerprocs.
2001-08-29 12:18:07 +00:00
Jonas Maebe
14576640c5 * fixed wrong regalloc info around FPC_MUL/DIV/MOD_INT64/QWORD calls
* fixed partial result overwriting with the above calls too
2001-08-29 12:03:23 +00:00
Jonas Maebe
e57f168475 + support for int64 LOC_REGISTERS in remove_non_regvars_from_loc 2001-08-29 12:01:47 +00:00
Jonas Maebe
fc92c3b336 + compilerproc implementation of most string-related type conversions
- removed all code from the compiler which has been replaced by
    compilerproc implementations (using {$ifdef hascompilerproc} is not
    necessary in the compiler)
2001-08-28 13:24:46 +00:00
Jonas Maebe
74f494f9f1 * avoid nonsense range error when using cardinal with value
> high(longint) as code para with val()
2001-08-27 11:04:41 +00:00
florian
9746f4c2d6 * some cg reorganisation
* some PPC updates
2001-08-26 13:35:06 +00:00
florian
525be77ced * some cg reorganisation
* some PPC updates
2001-08-26 13:29:33 +00:00
florian
53bf8e9c0c * some cg reorganisation
* some PPC updates
2001-08-26 13:23:23 +00:00
Jonas Maebe
fc1b58c22c * moved "reverseparameters" from ninl.pas to ncal.pas
+ support for non-persistent temps in ttempcreatenode.create, for use
    with typeconversion nodes
2001-08-24 13:47:26 +00:00
Jonas Maebe
808ab9e7e7 * fixed big bug in handle_str that caused it to (almost) always call
fpc_<stringtype>_longint
  * fixed small bug in handle_read_write that caused wrong warnigns about
    uninitialized vars with read(ln)
  + handle_val (processor independent val() handling)
2001-08-24 12:33:54 +00:00
Jonas Maebe
460af7729c * fixed memory leak with coping of array-of-consts as valuepara 2001-08-24 12:22:14 +00:00
Jonas Maebe
a6cfe4083a + tempcreate/ref/delete nodes (allows the use of temps in the
resulttype and first pass)
  * made handling of read(ln)/write(ln) processor independent
  * moved processor independent handling for str and reset/rewrite-typed
    from firstpass to resulttype pass
  * changed names of helpers in text.inc to be generic for use as
    compilerprocs + added "iocheck" directive for most of them
  * reading of ordinals is done by procedures instead of functions
    because otherwise FPC_IOCHECK overwrote the result before it could
    be stored elsewhere (range checking still works)
  * compilerprocs can now be used in the system unit before they are
    implemented
  * added note to errore.msg that booleans can't be read using read/readln
2001-08-23 14:28:35 +00:00
florian
032023f8de * some interfaces related problems regarding
mapping of interface implementions fixed
2001-08-22 21:16:20 +00:00
peter
b34e51e7f6 * regenerated 2001-08-22 20:49:14 +00:00
florian
07495c8526 * renamed messages unit to cmsgs to avoid conflicts with the
win32 messages unit
2001-08-20 10:58:48 +00:00
florian
7db13ea48f * some bugs fix:
- overload; with external procedures fixed
    - better selection of routine to do an overloaded
      type case
    - ... some more
2001-08-19 21:11:20 +00:00
peter
fd8e5fa78c * palmos support from v10 merged 2001-08-19 11:22:22 +00:00
peter
7b45b6a4a9 * local browser support fixed 2001-08-19 09:39:27 +00:00
peter
38770359fe * fixed ordering of object and libraries 2001-08-13 19:26:03 +00:00
Jonas Maebe
61020cd424 * made in_reset_typedfile/in_rewrite_typedfile handling processor
independent
2001-08-13 15:39:52 +00:00
Jonas Maebe
0895ca2f28 * made code for str(x,y) completely processor independent 2001-08-13 12:41:56 +00:00
peter
f4bae3b050 * errordef.typesym is not updated anymore 2001-08-12 22:11:52 +00:00
peter
b6e5bf0c1d * write name in original case when type not found 2001-08-12 22:10:16 +00:00
peter
e72f528acf * write also dynamicarray flag to ppu 2001-08-12 22:09:40 +00:00
peter
0af6dc4c36 * netbsd doesn't use stackchecking 2001-08-12 20:23:02 +00:00
peter
a9044dd538 * fpu_used=0 when simplify_ppu is used
* small crc updating fixes for tprocdef
2001-08-12 20:04:33 +00:00
peter
096dc02fe0 * don't write fpuregable for varoptions 2001-08-12 20:00:26 +00:00
peter
f4b983bdd8 * typo in extdebug msg 2001-08-12 19:59:49 +00:00
peter
19e153abd3 * under development flag for targets 2001-08-12 17:57:06 +00:00
peter
634a68bf3e * merged netbsd start
* profile for win32
2001-08-07 18:47:12 +00:00
peter
bcb8c55d04 * made script target indepedent 2001-08-07 18:44:09 +00:00
peter
7d45ac61de * list targets with -i 2001-08-07 18:42:46 +00:00
peter
a8f65e699d * fixed rettype->returntype renaming 2001-08-07 17:08:49 +00:00
peter
81200dc9ef * funcret moved from tprocinfo to tprocdef 2001-08-06 21:40:46 +00:00
Jonas Maebe
a18acc21b2 * parameters to FPC_TYPED_WRITE can't be regvars (merged) 2001-08-06 12:47:31 +00:00
Jonas Maebe
820836e42a * restype wasn't copied for some constant nodetypes in getcopy 2001-08-06 10:18:39 +00:00
Jonas Maebe
239d2d6fee + support for high(dynarray) using compilerproc (forgot to commit
previously)
2001-08-06 09:44:10 +00:00
peter
8d11d0d6bf * partly fix for proc of obj=nil 2001-08-05 13:19:51 +00:00
peter
071c6bc59a * turn pocall_inline off when inline is not supported 2001-08-05 13:18:50 +00:00
peter
a62da20a8c * beos fix (merged) 2001-08-05 12:26:52 +00:00