Commit Graph

176 Commits

Author SHA1 Message Date
peter
68ce5a00e5 * cg64 patch
* basics for currency
  * asnode updates for class and interface (not finished)
2002-07-01 16:23:52 +00:00
peter
06ebac4e27 * readded missing revisions 2002-05-18 13:34:04 +00:00
carl
21b3a10f02 + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c * removed old logs and updated copyright year 2002-05-14 19:34:38 +00:00
peter
4dcd96747e * moved entry and exitcode to ncgutil and cgobj
* foreach gets extra argument for passing local data to the
    iterator function
  * -CR checks also class typecasts at runtime by changing them
    into as
  * fixed compiler to cycle with the -CR option
  * fixed stabs with elf writer, finally the global variables can
    be watched
  * removed a lot of routines from cga unit and replaced them by
    calls to cgobj
  * u32bit-s32bit updates for and,or,xor nodes. When one element is
    u32bit then the other is typecasted also to u32bit without giving
    a rangecheck warning/error.
  * fixed pascal calling method with reversing also the high tree in
    the parast, detected by tcalcst3 test
2002-05-12 16:53:04 +00:00
peter
cc8c4d7093 * moved more routines from cga/n386util 2002-04-25 20:16:38 +00:00
carl
6101b737db + target_info.size_of_pointer -> pointer_size
+ some cleanup of unused types/variables
2002-04-15 19:08:22 +00:00
carl
6e5e687dc6 + update documentation 2002-04-07 13:38:48 +00:00
peter
5b242f7741 * tlocation,treference update
* LOC_CONSTANT added for better constant handling
  * secondadd splitted in multiple routines
  * location_force_reg added for loading a location to a register
    of a specified size
  * secondassignment parses now first the right and then the left node
    (this is compatible with Kylix). This saves a lot of push/pop especially
    with string operations
  * adapted some routines to use the new cg methods
2002-04-02 17:11:27 +00:00
Jonas Maebe
2965034fca * fixed web bug #1907
* fixed some other procvar related bugs (all related to accepting procvar
      constructs with either too many or too little parameters)
  (both merged, includes second typo fix of pexpr.pas)
2002-04-01 20:57:13 +00:00
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
Jonas Maebe
2b3898aeff * adapted ranges of native types to int64 (e.g. high cardinal is no
longer longint($ffffffff), but just $fffffff in psystem)
  * small additional fix in 64bit rangecheck code generation for 32 bit
    processors
  * adaption of ranges required the matching talgorithm used for selecting
    which overloaded procedure to call to be adapted. It should now always
    select the closest match for ordinal parameters.
  + inttostr(qword) in sysstr.inc/sysstrh.inc
  + abs(int64), sqr(int64), sqr(qword) in systemh.inc/generic.inc (previous
    fixes were required to be able to add them)
  * is_in_limit() moved from ncal to types unit, should always be used
    instead of direct comparisons of low/high values of orddefs because
    qword is a special case
2002-01-24 12:33:52 +00:00
peter
142b4fb7f8 * proc_to_procvar_equal fixed for procvar-procvar 2002-01-06 21:50:44 +00:00
peter
d24762aeba * removed uauto from orddef, use new range_to_basetype generating
the correct ordinal type for a range
2002-01-06 12:08:15 +00:00
Jonas Maebe
c68fc3adf9 * added type conversion from procvar to procvar (if their arguments are
convertable, two procvars are convertable too) ("merged")
2001-12-17 12:49:08 +00:00
Jonas Maebe
cd378a2881 * fixed type conversions from dynamic arrays to open arrays 2001-12-10 14:34:04 +00:00
peter
e45bb82d81 * freemem change to value parameter
* torddef low/high range changed to int64
2001-12-03 21:48:41 +00:00
florian
9f9c1700b0 * variant paramter passing and functions results fixed 2001-11-14 01:12:44 +00:00
Jonas Maebe
a87a30b831 * fixed web bug #1665 (allow char to chararray type conversion) ("merged") 2001-11-02 23:24:11 +00:00
peter
d2e1952377 * procsym definition rewrite 2001-11-02 22:58:00 +00:00
peter
ac400051bd * allow assignment of overloaded procedures to procvars when we know
which procedure to take
2001-10-28 17:22:25 +00:00
peter
e37dbf904d * calling convention rewrite 2001-10-25 21:22:32 +00:00
peter
87f83123d3 * allow enum(enum) 2001-10-22 21:21:09 +00:00
Jonas Maebe
2b5619dfd2 * allow typeconversion of open array-of-char to string 2001-10-22 15:13:49 +00:00
peter
17d6dded66 * interface 2 guid support
* guid constants support
2001-10-20 19:28:37 +00:00
florian
451ca157c4 * several widechar fixes, case works now 2001-10-17 22:41:04 +00:00
Jonas Maebe
388e8a76a8 * auto-converting from int64 to real is again allowed for all modes
(it's allowed in Delphi too)
2001-10-16 17:15:44 +00:00
Jonas Maebe
f256a47f04 * compilerproc implementation of set addition/substraction/...
* changed the declaration of some set helpers somewhat to accomodate the
    above change
  * i386 still uses the old code for comparisons of sets, because its
    helpers return the results in the flags
  * dummy tc_normal_2_small_set type conversion because I need the original
    resulttype of the set add nodes
  NOTE: you have to start a cycle with 1.0.5!
2001-09-03 13:27:41 +00:00
peter
d1d504ac2d * don't allow int64->real for delphi mode 2001-09-02 21:15:34 +00:00
florian
7db13ea48f * some bugs fix:
- overload; with external procedures fixed
    - better selection of routine to do an overloaded
      type case
    - ... some more
2001-08-19 21:11:20 +00:00
peter
ca8d604964 * various widestring updates, it works now mostly without charset
mapping supported
2001-07-08 21:00:14 +00:00
Jonas Maebe
77a99eecdf * fixed inconsistent handling of procvars in FPC mode (sometimes @ was
required to assign the address of a procedure to a procvar, sometimes
    not. Now it is always required) (merged)
2001-06-29 14:16:57 +00:00
florian
05cfc07952 * some more support for widechars commited especially
regarding type casting and constants
2001-05-08 21:06:30 +00:00
florian
7e8bc49786 * more variant support 2001-04-22 22:46:49 +00:00
peter
0c03535b5b * registration of targets and assemblers 2001-04-18 22:01:53 +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
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
Jonas Maebe
4530233a92 + support for arraydefs in is_signed (for their rangetype, used in rangechecks) 2001-03-03 12:38:33 +00:00
peter
684970ea22 * merged generic m68k updates from fixes branch 2001-02-26 19:44:52 +00:00
Jonas Maebe
c7af813c76 * fixed bug in type checking for compatibility of set elements (merged)
* released fix in options.pas from Carl also for FPC (merged)
2001-02-26 12:47:46 +00:00
peter
b47af8e4dd * tvarrec -> array of const fixed 2001-02-20 21:44:25 +00:00
Jonas Maebe
4bf53f34e3 * fixed web bug #1363 (merged) 2001-01-22 11:20:15 +00:00
peter
49a0170412 * string isn't compatible with array of char 2001-01-08 21:43:38 +00:00
peter
32b9cdb7cf + new tlinkedlist class (merge of old tstringqueue,tcontainer and
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
peter
08a2626652 * fixed bug #1286 2000-12-22 22:38:12 +00:00
Jonas Maebe
f2c918935a - removed obsolete special case for range checking of cardinal constants
at compile time
2000-12-20 15:59:40 +00:00
Jonas Maebe
4b7aa484f1 * fixed range checking of cardinal constants
* fixed range checking of "qword constants" (they don't really exist,
    but values > high(int64) were set to zero if assigned to qword)
2000-12-11 19:13:54 +00:00
Jonas Maebe
44b0e19ffe * fix for web bug #1245: arrays of char with size >255 are now passed to
overloaded procedures which expect ansistrings instead of shortstrings
    if possible
  * pointer to array of chars (when using $t+) are now also considered
    pchars
2000-12-08 14:06:11 +00:00