Commit Graph

129 Commits

Author SHA1 Message Date
peter
73a08fc4a6 * use compare_def_ext to test if assignn operator is allowed 2003-01-03 17:17:26 +00:00
peter
6a53a30525 * fixed previous operator change 2003-01-02 22:21:19 +00:00
peter
40bcae707d * fixed operator checking for objects
* made binary operator checking simpeler
2003-01-02 19:50:21 +00:00
peter
f4471a686d * fix overload error for dynarr:=nil 2002-12-27 18:06:32 +00:00
peter
54d8b64899 * proc-procvar crash fixed (tw2277) 2002-12-22 16:34:49 +00:00
peter
409bc6f4dc * better error message when no operator is found for equal 2002-12-11 22:39:23 +00:00
peter
18fd47a47a * rewrote isbinaryoverloadable to use a case. it's now much easier
to understand what is happening
2002-11-27 22:11:59 +00:00
peter
f3fc72095f * splitted defbase in defutil,symutil,defcmp
* merged isconvertable and is_equal into compare_defs(_ext)
  * made operator search faster by walking the list only once
2002-11-25 17:43:16 +00:00
peter
34dd718c80 * ugly hack to fix tb0411 2002-10-07 20:12:08 +00:00
peter
443f982775 * support dynamicarray<>nil 2002-10-05 00:47:03 +00:00
peter
f29c79b533 * ignore vecn,subscriptn when checking for a procvar loadn 2002-10-04 21:13:59 +00:00
peter
324222cf15 * set_funcret_valid fixed when result was already used in a nested
procedure
2002-09-16 18:09:34 +00:00
florian
59abf2555b * types.pas renamed to defbase.pas because D6 contains a types
unit so this would conflicts if D6 programms are compiled
  + Willamette/SSE2 instructions to assembler added
2002-07-20 11:57:52 +00:00
peter
06ebac4e27 * readded missing revisions 2002-05-18 13:34:04 +00:00
carl
21b3a10f02 + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c * removed old logs and updated copyright year 2002-05-14 19:34:38 +00:00
peter
5b242f7741 * tlocation,treference update
* LOC_CONSTANT added for better constant handling
  * secondadd splitted in multiple routines
  * location_force_reg added for loading a location to a register
    of a specified size
  * secondassignment parses now first the right and then the left node
    (this is compatible with Kylix). This saves a lot of push/pop especially
    with string operations
  * adapted some routines to use the new cg methods
2002-04-02 17:11:27 +00:00
Jonas Maebe
a921654f56 * no longer allow assignments to pointer expressions (unless there's a
deref), reported by John Lee
2002-01-16 09:33:46 +00:00
peter
60d2ddbbd5 * protected/private symbols parsing fixed 2001-12-31 16:59:41 +00:00
marco
816e803dc3 * Fix from Peter. Fixes a hang when ptop's upperstr procedure is converted
to ansistrings
2001-11-08 21:55:36 +00:00
peter
d2e1952377 * procsym definition rewrite 2001-11-02 22:58:00 +00:00
peter
7781fca6bd * read only typed const support, switch $J- 2001-10-20 20:30:20 +00:00
Jonas Maebe
8a2c142e46 * fixed internalerror(10) due to previous fpu overflow fixes ("merged")
* fixed bug in n386add (introduced after compilerproc changes for string
    operations) where calcregisters wasn't called for shortstring addnodes
  * NOTE: from now on, the location of a binary node must now always be set
     before you call calcregisters() for it
2001-10-12 13:51:51 +00:00
peter
45dab81414 * merged netbsd, fpu-overflow from fixes branch 2001-09-17 21:29:10 +00:00
Jonas Maebe
bfa379a802 * allow typecasting from child object types to parent object types (with
different sizes)
2001-09-07 07:46:17 +00:00
peter
eb92d4bdd6 * check for size differences in typecasts when assigning 2001-09-02 21:13:31 +00:00
florian
9746f4c2d6 * some cg reorganisation
* some PPC updates
2001-08-26 13:35:06 +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
peter
81200dc9ef * funcret moved from tprocinfo to tprocdef 2001-08-06 21:40:46 +00:00
peter
25d360a011 * fixes to valid_for_assign for properties 2001-06-04 18:04:36 +00:00
peter
55eb369653 * better const to var checking 2001-06-04 11:48:01 +00:00
peter
d1376c5cdb * replace constant by cpu dependent value (merged) 2001-05-18 22:57:08 +00:00
Jonas Maebe
bec0f51212 * fix from Peter to avoid excessive number of warnings 2001-05-08 08:52:05 +00:00
florian
7e8bc49786 * more variant support 2001-04-22 22:46:49 +00:00
peter
a7cf57524e * symtable change to classes
* range check generation and errors fixed, make cycle DEBUG=1 works
  * memory leaks fixed
2001-04-13 01:22:06 +00:00
peter
4e2655cdc5 * resulttype rewrite 2001-04-02 21:20:29 +00:00
peter
b10905f2bd * don't allow assign to void type (merged) 2001-02-20 21:46:26 +00:00
Jonas Maebe
18d885b80e * fixed web bug #1377 & const pointer arithmtic 2001-02-04 11:12:16 +00:00
florian
728caf4590 * web bug #1207 fixed: field and properties of const classes can be
changed
2000-12-09 13:04:05 +00:00
florian
b9796f6a7f * unused units removed from uses clause
* some changes for widestrings
2000-11-29 00:30:30 +00:00
Jonas Maebe
359f502adc * fixed crash when trying to use an overloaded operator which is nowhere
defined
2000-11-28 17:14:33 +00:00
Jonas Maebe
c9e26189a2 * fixed operator overloading problems 2000-11-28 14:04:03 +00:00
florian
5694e05857 * some bugs with interfaces and NIL fixed 2000-11-13 11:30:54 +00:00
peter
5ac2599649 * create generic toutputsection for binary writers 2000-11-12 22:20:37 +00:00
florian
51527ba1c9 + merged Attila's changes for interfaces, not tested yet 2000-11-04 14:25:19 +00:00
peter
451723647e * symtable splitted, no real code changes 2000-10-31 22:02:46 +00:00
peter
e171f341a0 * moehrendorf oct 2000 rewrite 2000-10-14 10:14:45 +00:00
peter
38951f5ce1 * lot of compile updates for cg11 2000-10-01 19:48:23 +00:00
florian
2a74104ce4 * make cycle fixed 2000-09-29 15:45:23 +00:00
florian
57a566e53d *** empty log message *** 2000-09-28 19:49:51 +00:00