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