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