Commit Graph

162 Commits

Author SHA1 Message Date
florian
ab316ac66f * properties are allowed as formal const parameters as well 2004-05-24 21:24:40 +00:00
florian
76782a514a * fixed more formal const problems 2004-05-24 21:04:31 +00:00
florian
c809441611 * stricter handling of formal const parameters and IE fixed 2004-05-24 20:39:41 +00:00
peter
b86f2c6a25 * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +00:00
peter
a9df763770 * some typeconvs don't allow assignment or passing to var para 2004-05-23 15:03:40 +00:00
peter
8022ce9fd2 * forbid more overloaded operators with orddef/enumdef 2004-05-16 13:29:46 +00:00
florian
e4f4b8acd6 * fixed web bug #3048: comparision of dyn. arrays 2004-04-18 07:52:43 +00:00
peter
f4e7f793f5 * missing result initialization in node2opstr 2004-03-18 16:29:07 +00:00
peter
6b96b70118 * fixed operator overload allowing for pointer-string
* replaced some type_e_mismatch with more informational messages
2004-03-18 16:19:03 +00:00
peter
61f824e259 * return cnothingn and give error when the operator is not overloaded 2004-02-26 16:11:09 +00:00
peter
05e0d83348 * operator overload chooses rewrite
* overload choosing is now generic and moved to htypechk
2004-02-24 16:12:39 +00:00
peter
a4732d1009 * widestring conversions added to allowed operator check 2004-02-20 21:55:19 +00:00
peter
3a3fdde6d1 * compare_defs_ext has now a options argument
* fixes for variants
2004-02-13 15:42:21 +00:00
peter
ee569d7817 * make extcycle is working again 2004-02-12 15:54:03 +00:00
daniel
d735071838 * Rtti generation moved to ncgutil
* Assmtai usage of symsym removed
  * operator overloading cleanup up
2004-02-04 22:15:15 +00:00
peter
ecfbbeffc3 * renamed xNNbittype to xNNinttype
* renamed registers32 to registersint
  * replace some s32bit,u32bit with torddef([su]inttype).def.typ
2004-02-03 22:32:53 +00:00
peter
7bf41f8dff * fix set_varstate in for loops
* fix set_varstate from case statements
2003-11-12 15:48:27 +00:00
peter
08c8b2ea2c * fix IE when passing array to open array 2003-10-30 19:20:05 +00:00
peter
e7ae580469 * also check for uninited vars in staticsymtable 2003-10-30 17:42:48 +00:00
peter
079e489b08 * absolute to object field supported, fixes tb0458 2003-10-28 15:36:01 +00:00
peter
a28d911c98 * IncompatibleTypes() added that will include unit names when
the typenames are the same
2003-10-21 18:16:13 +00:00
peter
6ec273a878 * fix check for typecasting wrong sizes in assignment left 2003-10-20 19:29:12 +00:00
peter
95f132db3d * set_varstate cleanup 2003-10-08 19:19:45 +00:00
peter
da9f5e2319 * c style array of const generates callparanodes
* varargs paraloc fixes
2003-10-05 21:21:52 +00:00
peter
70fe77ca7c * procinfo unit contains tprocinfo
* cginfo renamed to cgbase
  * moved cgmessage to verbose
  * fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
peter
0526b6fd9b * don't check size for open array in valid_for_assign 2003-08-23 18:52:18 +00:00
peter
09ed47cba6 * don't allow add/assignments for formaldef
* formaldef size changed to 0
2003-07-08 15:20:56 +00:00
peter
0dceec9a64 * current_procdef removed, use current_procinfo.procdef instead 2003-06-13 21:19:30 +00:00
peter
1a2eedd767 * self moved to hidden parameter
* removed hdisposen,hnewn,selfn
2003-05-09 17:47:02 +00:00
peter
60978ba89c * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo
  * procinfo will now be stored in current_module so it can be
    cleaned up properly
  * gen_main_procsym changed to create_main_proc and release_main_proc
    to also generate a tprocinfo structure
  * fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
peter
7f14891d66 * aktprocdef cleanup, aktprocdef is now always nil when parsing
a new procdef declaration
  * aktprocsym removed
  * lexlevel removed, use symtable.symtablelevel instead
  * implicit init/final code uses the normal genentry/genexit
  * funcret state checking updated for new funcret handling
2003-04-27 07:29:50 +00:00
peter
f4b818fc1d * removed funcretn,funcretsym, function result is now in varsym
and aliases for result and function name are added using absolutesym
  * vs_hidden parameter for funcret passed in parameter
  * vs_hidden fixes
  * writenode changed to printnode and released from extdebug
  * -vp option added to generate a tree.log with the nodetree
  * nicer printnode for statements, callnode
2003-04-25 20:59:33 +00:00
peter
47489f2376 * firstpass uses expectloc
* checks if there are differences between the expectloc and
    location.loc from secondpass in EXTDEBUG
2003-04-22 23:50:22 +00:00
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