Commit Graph

134 Commits

Author SHA1 Message Date
peter
b86f2c6a25 * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +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
c844c5a505 * procvar cleanup 2004-02-20 21:55:59 +00:00
Jonas Maebe
0b1069b6ab + some more usage of register temps 2004-02-04 18:45:29 +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
Jonas Maebe
694eee6cae + support to store ttempcreate/ref/deletenodes in registers
* put temps for withnodes and some newnodes in registers
   Note: this currently only works because calling ungetregister()
     multiple times for the same register doesn't matter. We need again
     a way to specify that a register is currently a regvar and as such
     should not be freed when you call ungetregister() on it.
2004-02-03 16:46:51 +00:00
florian
e35b683e4d + added prefetch(const mem) support 2004-02-02 20:41:59 +00:00
daniel
97e87aaebc * reginfo now also only allocated during register allocation
* third round of gdb cleanups: kick out most of concatstabto
2004-01-26 16:12:27 +00:00
Jonas Maebe
a75ef67bfd * properly fixed assigned() mess (by handling it separately in ncginl)
-> all assigned()-related tests in the test suite work again
2003-12-31 20:47:02 +00:00
peter
ae6be6bc0e * support type convs for write typed 2003-12-27 22:27:55 +00:00
Jonas Maebe
fd8625f3eb * if there are assertions, include pi_do_call in procinfo.flags 2003-12-08 21:17:12 +00:00
peter
90a0c832e4 * Initialize() added 2003-11-29 16:19:54 +00:00
peter
f663d2488f * cross unit inlining fixed 2003-11-10 22:02:52 +00:00
peter
96f9973b46 * taicpu_abstract.oper[] changed to pointers 2003-10-21 15:15:35 +00:00
peter
95f132db3d * set_varstate cleanup 2003-10-08 19:19:45 +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
420c1cdfe1 * don't call firstpass in resulttypepass 2003-09-23 21:10:11 +00:00
peter
8af51ea6d3 * locals and paras are allocated in the code generation
* tvarsym.localloc contains the location of para/local when
    generating code for the current procedure
2003-09-23 17:56:05 +00:00
peter
76a53a375d * varspez in calls to push_addr_param 2003-09-16 16:17:01 +00:00
florian
eb9a587759 + support of NaN and Inf in the compiler as values of real constants 2003-09-06 16:47:24 +00:00
peter
0dceec9a64 * current_procdef removed, use current_procinfo.procdef instead 2003-06-13 21:19:30 +00:00
Jonas Maebe
4d70aebb1b * constant evaluation of trunc() and round() now also gives 64 bit
results
2003-05-31 21:29:04 +00:00
Jonas Maebe
cb279b2029 * changed tt_persistant to tt_persistent :)
* tempcreatenode now doesn't accept a boolean anymore for persistent
    temps, but a ttemptype, so you can also create ansistring temps etc
2003-05-17 13:30:08 +00:00
peter
26d78ff5c9 * moved implicit exception frame from ncgutil to psub
* constructor/destructor helpers moved from cobj/ncgutil to psub
2003-05-11 21:37:03 +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
c21ca3dfa0 + added currency support based on int64
+ is_64bit for use in cg units instead of is_64bitint
  * removed cgmessage from n386add, replace with internalerrors
2003-04-23 20:16:03 +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
Jonas Maebe
9879f684d2 * don't allow erroneuos read(typedfile,...) statements 2002-12-30 12:54:45 +00:00
Jonas Maebe
8bbf574e8b * fixed web bug #2296 2002-12-30 12:48:07 +00:00
peter
46ed8eb932 * fixed pushing of records>8 bytes with stdcall
* simplified hightree loading
2002-12-17 22:19:33 +00:00
florian
1da30f2610 * tcallnode.paraitem introduced, all references to defcoll removed 2002-12-15 21:30:12 +00:00
peter
1b116848d8 * cdecl array of const fixes 2002-11-27 20:04:38 +00:00
peter
67153fd9a1 * the never ending story of tp procvar hacks 2002-11-27 15:33:46 +00:00
peter
34e8266af4 * case statement inlining added
* fixed inlining of write()
  * switched statementnode left and right parts so the statements are
    processed in the correct order when getcopy is used. This is
    required for tempnodes
2002-11-27 02:37:12 +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
ef708fdab9 * Swap(QWord) constant support 2002-11-18 18:33:51 +00:00
peter
a496dbe1ff * pass proccalloption to ret_in_xxx and push_xxx functions 2002-11-18 17:31:54 +00:00
peter
2facc2b2f7 * load threadvar input/output variable in temp 2002-11-16 17:59:31 +00:00
peter
bfd72ad5d5 * merged changes from 1.0.7 up to 04-11
- -V option for generating bug report tracing
    - more tracing for option parsing
    - errors for cdecl and high()
    - win32 import stabs
    - win32 records<=8 are returned in eax:edx (turned off by default)
    - heaptrc update
    - more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
florian
6459b97052 + write(ln) support for variants added 2002-10-10 19:24:28 +00:00
florian
161d1b923e + several widestring/pwidechar related stuff added 2002-10-10 16:07:57 +00:00
peter
3f32669ded * Length(PChar) supported 2002-10-05 14:21:08 +00:00
carl
98468d63e9 * only enumerations have range checking for succ/pred in const section 2002-09-13 19:12:09 +00:00
peter
1df5c70e42 * check ranges for pred() and succ() 2002-09-09 19:41:01 +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
752beef0dd * cardinal -> longword 2002-09-07 20:40:23 +00:00
carl
6c2bede5a8 * second part bug report 1996 fix, testrange in cordconstnode
only called if option is set (also make parsing a tiny faster)
2002-09-07 12:16:03 +00:00
peter
a17291b2d4 * array of char support for Str() 2002-09-02 19:24:41 +00:00
peter
91b49914f6 * More fixes for cross unit inlining, all tnodes are now implemented
* Moved pocall_internconst to po_internconst because it is not a
    calling type at all and it conflicted when inlining of these small
    functions was requested
2002-08-19 19:36:42 +00:00