Commit Graph

4314 Commits

Author SHA1 Message Date
mazen
d78bf17c1d + call support 2002-09-19 20:24:41 +00:00
Jonas Maebe
456436c05c * fixed LOC_REFERENCE/LOC_CREFERENCE problems 2002-09-18 09:19:37 +00:00
Jonas Maebe
a15d8cfe39 * a_load_reg_reg() now has two size parameters: source and dest. This
allows some optimizations on architectures that don't encode the
    register size in the register name.
2002-09-17 18:54:01 +00:00
Jonas Maebe
2e41fdf381 - removed taicpu.destroy, its job is already handled by
taicpu_abstract.destroy() and this caused heap corruption
2002-09-17 18:26:02 +00:00
peter
51057d8e8e * support references without registers and symbol in paramref_addr. It
pushes only the offset
2002-09-16 19:08:47 +00:00
peter
c6430358b1 * push 0 instead of VMT when calling a constructor from a member 2002-09-16 19:07:37 +00:00
peter
e15a0ac67c * support [eax].constant as reference 2002-09-16 19:07:00 +00:00
peter
76eb5b4a1f * allow ^ after nil 2002-09-16 19:06:14 +00:00
peter
a431bf27a0 * parse ^ after nil as caret 2002-09-16 19:05:48 +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
peter
d04496352f * fix setting of sp_static 2002-09-16 18:08:45 +00:00
peter
6c06c346d8 * fix last optimization in genlinearlist, detected by bug tw1066
* use generic casenode.pass2 routine and override genlinearlist
  * add jumptable support to generic casenode, by default there is
    no jumptable support
2002-09-16 18:08:26 +00:00
peter
6dffb25562 * move CGSize2Opsize to interface 2002-09-16 18:06:29 +00:00
peter
cea50f7185 * add argument to equal_paras() to support default values or not 2002-09-16 14:11:12 +00:00
Jonas Maebe
fcec3ae6b0 * big endian fix for second_int_to_int 2002-09-16 13:08:44 +00:00
florian
685b7f4896 * fixed currency size 2002-09-16 09:31:10 +00:00
peter
007d85fa90 * allow default parameters in equal_paras 2002-09-15 17:54:46 +00:00
peter
6d0e34fa5e * don't have strict var parameter checking for procedures in the
system unit
2002-09-15 17:49:59 +00:00
carl
98468d63e9 * only enumerations have range checking for succ/pred in const section 2002-09-13 19:12:09 +00:00
florian
5fdb2a891e * renamed target macosppc to macppc 2002-09-11 19:59:14 +00:00
florian
55c7896d06 * improved handling of procedures with register calling conventions 2002-09-10 21:48:30 +00:00
Jonas Maebe
17a0e516b5 * int64 paras are now handled correctly (until the registers are used up
anyway :)
  * the return location is now initialized correctly
  * fixed bug where ret_in_reg() was called for the procdefinition instead
    of for the result of the procedure
2002-09-10 21:28:05 +00:00
Jonas Maebe
3632cd73ae * fixed a_param64_ref 2002-09-10 21:24:38 +00:00
Jonas Maebe
02e9260997 + added some internal errors
* fixed bug in sysv exit code
2002-09-10 21:22:25 +00:00
Jonas Maebe
b72f53ab92 * fixed unary minus of 64bit values 2002-09-10 21:21:29 +00:00
florian
0d94086e03 * call to procinfo.after_header added 2002-09-10 20:31:48 +00:00
florian
07eeafd07a * fixed offset calculation for symtables etc. 2002-09-10 20:30:42 +00:00
peter
706ec85bcb * don't insert parast in symtablestack, because typesyms should not be
searched in the the parast
2002-09-10 16:27:28 +00:00
peter
1600cdf96f * safety check for typesym added for incomplete type def check 2002-09-10 16:26:39 +00:00
peter
90e8dc3c41 * real fix internalerror for dup ids in union sym 2002-09-09 19:41:46 +00:00
peter
1df5c70e42 * check ranges for pred() and succ() 2002-09-09 19:41:01 +00:00
peter
1258411f72 * moved comments about default parameters to msg file 2002-09-09 19:40:20 +00:00
peter
2e6865175e * check return type for forwarddefs also not delphi mode when
the type is not void
2002-09-09 19:39:07 +00:00
peter
97dbb25ab6 * check for incomplete types in the current symtable when parsing
forwarddef. Maybe this shall be delphi/tp only
2002-09-09 19:34:07 +00:00
peter
ab536bffc2 * don't allow convertable parameters for var and out parameters in
delphi and tp mode
2002-09-09 19:30:34 +00:00
peter
dd143617e6 * fixed dynarr_decr_ref call 2002-09-09 19:29:29 +00:00
peter
a540ff122c * tdicationary.replace added to replace and item in a dictionary. This
is only allowed for the same name
  * varsyms are inserted in symtable before the types are parsed. This
    fixes the long standing "var longint : longint" bug
  - consume_idlist and idstringlist removed. The loops are inserted
    at the callers place and uses the symtable for duplicate id checking
2002-09-09 17:34:14 +00:00
peter
c77737a105 * tool to remove tabs and convert to unix/dos linefeeds 2002-09-09 17:30:53 +00:00
Jonas Maebe
775b065d70 * small optimization to case genlist() case statements 2002-09-09 13:57:45 +00:00
florian
36e41d49d3 - removed passes_parameters_in_reg 2002-09-09 09:11:37 +00:00
florian
8d2d59325a + added generic tparamanager.getframepointerloc 2002-09-09 09:10:51 +00:00
Jonas Maebe
38f088b5a7 * use genlinearcmplist() for unsigned 32bit case statements instead
of genlinearlist(), because the addic. instruction always sets the
    flags as if the arguments are signed 32bits (for smaller unsigned
    types, this doesn't matter since they fit in s32bit)
2002-09-08 20:14:33 +00:00
Jonas Maebe
32d4d8780f * fixed TOpCmp2AsmCond array (some unsigned equivalents were wrong) 2002-09-08 20:11:56 +00:00
carl
6e30bbfd42 + a_call_reg 2002-09-08 15:12:45 +00:00
Jonas Maebe
d20dd2b433 * more optimizations for 64bit compares 2002-09-08 14:14:49 +00:00
Jonas Maebe
07c1116a8c * several large offset-related fixes 2002-09-08 13:03:26 +00:00
Jonas Maebe
6592c96e70 * first_pi now just generates a constant, added missing calls to firstpass() 2002-09-08 13:01:25 +00:00
carl
121dfde260 * bugfix 2109 (bad imho, but only way) 2002-09-08 11:10:17 +00:00
Jonas Maebe
d1ac166584 * fixed optimized 64 compares 2002-09-07 22:15:48 +00:00
carl
752beef0dd * cardinal -> longword 2002-09-07 20:40:23 +00:00