Commit Graph

69 Commits

Author SHA1 Message Date
peter
fd2ad837e2 * implicit result variable generation for assembler routines
* removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
2002-01-24 18:25:48 +00:00
peter
cb11c08d49 * constant evaluation for assinged added 2002-01-19 11:53:56 +00:00
Jonas Maebe
ad0fc51cf6 * fixed web bug #1735 (argument of inc/dec must be made unique) ("merged") 2001-12-28 14:09:21 +00:00
Jonas Maebe
e5f6ff03cb - removed unnecessary resulttypepass call 2001-12-10 14:26:22 +00:00
Jonas Maebe
5501aa4e9a * converted lo/hi to processor independent code, generated code is the
same as before (when turning on the optimizer)
2001-12-04 15:59:03 +00:00
Jonas Maebe
4490bc91f7 * fixed web bug #1693 (dynarray support for length) 2001-12-03 14:21:34 +00:00
Jonas Maebe
241f775056 * fixed web bug #1621 (write(typed_file,function_call) works again)
* allow write(typed_file,procvar_call) too (it was already allowed for
    text file writes)
2001-10-24 16:17:36 +00:00
Jonas Maebe
a40c2b8dd0 - removed unused units form uses-clause and unused local vars 2001-09-30 16:16:28 +00:00
Jonas Maebe
2055618933 * check if amount of dimensions passed to setlength for dynamic arrays
is correct
2001-09-24 16:09:55 +00:00
Jonas Maebe
b33cb43da4 * fix from Pavel V. Ozersk to accept multiple dimensions for setlength
and dynamical arrays
2001-09-24 11:35:55 +00:00
peter
45dab81414 * merged netbsd, fpu-overflow from fixes branch 2001-09-17 21:29:10 +00:00
Jonas Maebe
2e6a221b2a * the result of high/low nodes wasn't always resulttypepassed 2001-09-05 15:19:43 +00:00
Jonas Maebe
17b2fa3424 * simplified det_resulttype code for include/exclude
* include/exclude doesn't use any helpers anymore in the i386 secondpass
2001-09-04 14:32:45 +00:00
Jonas Maebe
ed449defca + searchsystype() and searchsystype() functions in symtable
* changed ninl and nadd to use these functions
  * i386 set comparison functions now return their results in al instead
    of in the flags so that they can be sued as compilerprocs
  - removed all processor specific code from n386add.pas that has to do
    with set handling, it's now all done in nadd.pas
  * fixed fpc_set_contains_sets in genset.inc
  * fpc_set_in_byte is now coded inline in n386set.pas and doesn't use a
    helper anymore
  * some small fixes in compproc.inc/set.inc regarding the declaration of
    internal helper types (fpc_small_set and fpc_normal_set)
2001-09-04 11:38:54 +00:00
peter
43dea5a35f * move class of definitions into type section for delphi 2001-09-02 21:12:06 +00:00
Jonas Maebe
fc92c3b336 + compilerproc implementation of most string-related type conversions
- removed all code from the compiler which has been replaced by
    compilerproc implementations (using {$ifdef hascompilerproc} is not
    necessary in the compiler)
2001-08-28 13:24:46 +00:00
Jonas Maebe
74f494f9f1 * avoid nonsense range error when using cardinal with value
> high(longint) as code para with val()
2001-08-27 11:04:41 +00:00
florian
9746f4c2d6 * some cg reorganisation
* some PPC updates
2001-08-26 13:35:06 +00:00
Jonas Maebe
fc1b58c22c * moved "reverseparameters" from ninl.pas to ncal.pas
+ support for non-persistent temps in ttempcreatenode.create, for use
    with typeconversion nodes
2001-08-24 13:47:26 +00:00
Jonas Maebe
808ab9e7e7 * fixed big bug in handle_str that caused it to (almost) always call
fpc_<stringtype>_longint
  * fixed small bug in handle_read_write that caused wrong warnigns about
    uninitialized vars with read(ln)
  + handle_val (processor independent val() handling)
2001-08-24 12:33:54 +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
Jonas Maebe
61020cd424 * made in_reset_typedfile/in_rewrite_typedfile handling processor
independent
2001-08-13 15:39:52 +00:00
Jonas Maebe
0895ca2f28 * made code for str(x,y) completely processor independent 2001-08-13 12:41:56 +00:00
Jonas Maebe
a18acc21b2 * parameters to FPC_TYPED_WRITE can't be regvars (merged) 2001-08-06 12:47:31 +00:00
Jonas Maebe
239d2d6fee + support for high(dynarray) using compilerproc (forgot to commit
previously)
2001-08-06 09:44:10 +00:00
peter
db87f86f00 * Length made internal
* Add array support for Length
2001-07-09 21:15:40 +00:00
peter
ca8d604964 * various widestring updates, it works now mostly without charset
mapping supported
2001-07-08 21:00:14 +00:00
peter
55eb369653 * better const to var checking 2001-06-04 11:48:01 +00:00
peter
1023129869 * changed int64($ffffffff) that is buggy under 1.0.x to expression
with a shl
2001-06-03 20:12:53 +00:00
Jonas Maebe
4fb34be618 + added warning about missing implementation for high(dynamic_array) 2001-05-06 17:16:43 +00:00
peter
e84d1fadf1 * moved code from firstpass to det_resulttype and remove extraneous
calls to firstcallparan for in_str,in_write,in_val
2001-04-26 21:57:05 +00:00
peter
9a47ac9ec2 * m68k updates merged from fixes branch 2001-04-21 12:03:11 +00:00
peter
b36f87d7aa * call set_varstate for setlength
* ptr returns pointerconstnode instead of ordconstnode
2001-04-13 22:22:30 +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
6f8b934ce7 * fixed fpu inline functions typeconvs 2001-04-05 21:02:13 +00:00
peter
759f678192 * move constant folding into det_resulttype 2001-04-04 22:42:39 +00:00
florian
64d7d5682e * applied several fixes to get the DD8 Delphi Unit compiled
e.g. "forward"-interfaces are working now
2001-04-04 21:30:42 +00:00
peter
4e2655cdc5 * resulttype rewrite 2001-04-02 21:20:29 +00:00
florian
e964449b71 + some stuff to compile FreeCLX added 2001-03-23 00:16:07 +00:00
michael
fb05310d44 + Patches from peter 2001-03-12 12:47:46 +00:00
Jonas Maebe
d6116bc751 * fixed low() for signed types < 64bit 2001-03-03 12:38:08 +00:00
peter
684970ea22 * merged generic m68k updates from fixes branch 2001-02-26 19:44:52 +00:00
Jonas Maebe
9ecf1c9aa7 * fixed bug in previous fix (hopped over revision 1.26 because that one
also removed the fix for high(cardinal))
2001-02-22 11:24:40 +00:00
peter
b3956651be * fix to compile again, but high(cardinal) with $R+ still fails! 2001-02-21 20:50:59 +00:00
Jonas Maebe
db0fc0ac36 * fixed high/low for cardinal, int64 and qword 2001-02-21 12:57:46 +00:00
peter
38af966c3b * merged fix for 1310 2001-01-06 19:54:11 +00:00
peter
e16486a958 * fixed wrong notes about locals 2001-01-06 18:28:39 +00:00
Jonas Maebe
4c8ca9774f + implemented/fixed docompare() mathods for all nodes (not tested)
+ nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
    and constant strings/chars together
  * n386add.pas: don't copy temp strings (of size 256) to another temp string
    when adding
2000-12-31 11:14:10 +00:00
peter
32b9cdb7cf + new tlinkedlist class (merge of old tstringqueue,tcontainer and
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
peter
d083200fa1 * fixed crash with val() 2000-12-17 14:35:41 +00:00