Commit Graph

99 Commits

Author SHA1 Message Date
florian
9573dc7006 * some new stuff for the new cg 2000-03-01 15:36:11 +00:00
daniel
fb1a842118 * Current work of symtable integration committed. The symtable can be
activated by defining 'newst', but doesn't compile yet. Changes in type
  checking and oop are completed. What is left is to write a new
  symtablestack and adapt the parser to use it.
2000-02-28 17:23:56 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
peter
49365d74ba * is_voidpointer 2000-02-01 09:44:03 +00:00
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +00:00
Jonas Maebe
5e6f3268b4 * when range checking is off, constants that are out of bound are no longer
truncated to their max/min legal value but left alone (jsut an "and" is done to
    make sure they fit in the allocated space if necessary)
2000-01-04 16:35:58 +00:00
peter
3cc443d181 * fixed crash with empty array constructors 1999-12-31 14:26:27 +00:00
peter
0512ba80fb + ttype, tsymlist 1999-11-30 10:40:42 +00:00
peter
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +00:00
peter
503d5a1cfa * const parameter is now checked
* better and generic check if a node can be used for assigning
  * export fixes
  * procvar equal works now (it never had worked at least from 0.99.8)
  * defcoll changed to linkedlist with pparaitem so it can easily be
    walked both directions
1999-10-26 12:30:40 +00:00
peter
78246cf227 * fixed is_equal for proc -> procvar which didn't check the
callconvention and type anymore since the splitting of procoptions
1999-10-01 10:04:07 +00:00
peter
49fcd8aceb * forward type declaration rewritten 1999-10-01 08:02:45 +00:00
florian
863df30860 + rtti is now automatically generated for published classes, i.e.
they are handled like an implicit property
1999-09-15 22:09:15 +00:00
florian
1609dde2ca * fixed bug #596
* fixed some problems with procedure variables and procedures of object,
    especially in TP mode. Procedure of object doesn't apply only to classes,
    it is also allowed for objects !!
1999-09-11 09:08:31 +00:00
peter
d03f29df08 * more fixes for push_addr 1999-08-13 21:27:08 +00:00
peter
ceecb1c885 * fixed push_addr_param for records < 4, the array high<low range check
broke this code.
1999-08-13 15:38:23 +00:00
florian
e6c1b96cff * some small problems fixed 1999-08-07 14:20:55 +00:00
daniel
df07c1a0f5 * Recommitted the arraydef overflow bugfix. 1999-08-07 13:36:54 +00:00
peter
1d5226f856 * removed daniels changes, because it broke all 'array of ...' code 1999-08-06 23:36:42 +00:00
daniel
e7fd9b1dd8 * Fixed potential bug for open arrays (Their size is not known at
compilation time).
1999-08-05 22:42:49 +00:00
peter
ed8eb13d59 * moved bitmask constants to sets
* some other type/const renamings
1999-08-03 22:02:29 +00:00
peter
a0e2991b6a * array is_equal disabled for tp,delphi mode 1999-07-30 12:26:42 +00:00
peter
571c8d89bc * array is_equal extended 1999-07-29 11:41:51 +00:00
peter
bdd61f119c * open array checks also for s32bitdef, because u32bit also has a
high range of -1
1999-07-27 23:39:15 +00:00
florian
62cb5453d3 * a lot bug fixes:
- po_external isn't any longer necessary for procedure compatibility
     - m_tp_procvar is in -Sd now available
     - error messages of procedure variables improved
     - return values with init./finalization fixed
     - data types with init./finalization aren't any longer allowed in variant
       record
1999-07-06 21:48:09 +00:00
florian
c615fcdbbb * int64/qword type release
+ lo/hi for int64/qword
1999-07-01 15:49:09 +00:00
florian
0fa46763ad * qword division fixed
+ code for qword/int64 type casting added:
    range checking isn't implemented yet
1999-06-28 22:29:10 +00:00
peter
99395db696 * merged from fixes 1999-06-13 22:41:05 +00:00
peter
a08b5a8bff * better methodpointer check for proc->procvar 1999-06-03 09:34:11 +00:00
pierre
35777a48a1 types.pas 1999-06-02 22:25:22 +00:00
florian
2ad3da43e6 * make cycle fixed i.e. compilation with 0.99.10
* some fixes for qword
  * start of register calling conventions
1999-06-02 10:11:39 +00:00
peter
94c276ce8d * better checks for procvar and methodpointer 1999-06-01 19:27:47 +00:00
peter
901335c80d * when range check error is found then fix the value to be within the
range
1999-05-31 22:54:19 +00:00
peter
164fba5879 * removed ungettempoftype 1999-05-28 11:00:49 +00:00
florian
6b33f4d87d * better error recovering in typed constants
* some problems with arrays of const fixed, some problems
    due my previous
     - the location type of array constructor is now LOC_MEM
     - the pushing of high fixed
     - parameter copying fixed
     - zero temp. allocation removed
  * small problem in the assembler writers fixed:
    ref to nil wasn't written correctly
1999-05-23 18:41:55 +00:00
florian
5f3a866333 * fix of my previous commit 1999-05-19 20:55:08 +00:00
florian
a3f17a9e74 * fixed a couple of array related bugs:
- var a : array[0..1] of char;   p : pchar;  p:=a+123; works now
    - open arrays with an odd size doesn't work: movsb wasn't generated
    - introduced some new array type helper routines (is_special_array) etc.
    - made the array type checking in isconvertable more strict, often
      open array can be used where is wasn't allowed etc...
1999-05-19 20:40:12 +00:00
florian
1316bbd21f * tdef.typename: returns a now a proper type name for the most types 1999-05-19 16:48:21 +00:00
florian
ba314dab05 * two bugs reported by Romio (bugs 13) are fixed:
- empty array constructors are now handled correctly (e.g. for sysutils.format)
      - comparsion of ansistrings was sometimes coded wrong
1999-05-19 10:31:53 +00:00
peter
e8bf496ae8 * containsself fixes
* checktypes()
1999-05-18 14:15:18 +00:00
peter
d4659125d9 * procedure of object and addrn fixes 1999-05-18 09:52:17 +00:00
pierre
0136ebb82b + ungettempoftype(pdef) boolean function
returns true (can call ungetiftemp )
    unless the temp should be "unget" with temptoremove
    (currently ansistring or widestring !)
1999-04-19 09:29:51 +00:00
peter
cc9df8d478 * first things to store the symbol/def number in the ppu 1999-04-14 09:14:44 +00:00
peter
d0cb5a147a * fixed bugs 212,222,225,227,229,231,233 1999-03-24 23:16:42 +00:00
pierre
f2f749a888 * small arrays and records (size <=4) are copied directly 1999-03-09 11:45:42 +00:00
peter
034eab82f3 * fixed char array, which can start with all possible values 1999-03-02 22:52:19 +00:00
peter
c8f444b65f * ag386bin updates
+ coff writer
1999-02-25 21:02:16 +00:00
florian
b8bd0af1b8 * wrong warning fixed, if a non-virtual method was hidden by a virtual
method (repoerted by Matthias Koeppe)
1999-02-24 09:51:40 +00:00
florian
204c81bd98 + message directive for integers added 1999-02-22 23:33:29 +00:00
florian
3c576cce7d + first implementation of message keyword 1999-02-22 20:13:32 +00:00