Commit Graph

239 Commits

Author SHA1 Message Date
peter
376865d041 * mark variables used in set creation
git-svn-id: trunk@706 -
2005-07-20 06:44:59 +00:00
florian
7c10694bc3 * fixed widechar const to widestring, fixes bug #4155
git-svn-id: trunk@638 -
2005-07-17 08:49:38 +00:00
peter
91b59bc62a * don't check ranges for explicit typecasts of ordinal to pointer constants
git-svn-id: trunk@586 -
2005-07-05 07:14:30 +00:00
peter
bead787962 * fix type checking in constant sets
git-svn-id: trunk@583 -
2005-07-05 06:03:16 +00:00
florian
7cd67ea3f0 * node optimizer branch merged
* gotonode and gotolabel refactored
  * -Nu added to enable for loop unrolling

git-svn-id: trunk@446 -
2005-06-19 17:42:10 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
68ac3b0ab2 remove forcing of non-regvar for left node when converting to non-regvar 2005-04-08 15:16:37 +00:00
michael
55e76063df * Fix methodpointer copy from callnode to loadnode 2005-04-06 11:49:37 +00:00
peter
3f9d6ab32f * add hint when passing an uninitialized variable to a var parameter 2005-03-25 22:20:18 +00:00
florian
737a81f30b + array -> dyn. array type cast 2005-03-11 21:55:43 +00:00
Jonas Maebe
adc5f048eb * fixed small bug in ttypeconvnode.printnodeinfo 2005-03-05 16:09:20 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
florian
a2a4985896 * in delphi mode const sets from enumerations with values > 255 are allowed if these elements aren't used 2005-02-03 18:43:59 +00:00
peter
4631658576 * add info that a procedure is local in error messages 2005-01-30 11:26:40 +00:00
peter
f4ec016665 * fix crash with -CR 2005-01-09 15:04:36 +00:00
florian
3cb0a53eca + compiler side of variant<->interface implemented 2005-01-07 21:14:21 +00:00
florian
ef9b70f1f4 * 1.0.10 starting patch from Peter 2005-01-06 13:40:41 +00:00
florian
7aa53f09cc * widechararray patch from Peter 2005-01-06 13:30:40 +00:00
florian
80af47489d + first batch of patches to support tdef.getcopy fully 2005-01-03 17:55:57 +00:00
peter
f0267daa4a * also don't call procvar when converting to procvar 2004-12-27 16:54:29 +00:00
peter
ced6bf20cd * fix lineinfo for with blocks 2004-12-26 16:22:01 +00:00
peter
78c2af7b3c * set vo_explicit_paraloc flag 2004-12-07 16:11:52 +00:00
peter
2b6456fe16 * procvar handling for tp procvar mode fixed
* proc to procvar moved from addrnode to typeconvnode
  * inlininginfo is now allocated only for inline routines that
    can be inlined, introduced a new flag po_has_inlining_info
2004-12-05 12:28:10 +00:00
florian
8b9c48e7fb * fixed compiler side of variant <-> dyn. array conversion 2004-12-05 12:15:11 +00:00
peter
1fcd2cd8ad * internal flag for compare_defs_ext 2004-11-26 22:34:28 +00:00
peter
4d8460ec2f * float routines all use internproc and compilerproc helpers 2004-11-21 15:35:23 +00:00
Jonas Maebe
14197fb830 * copy totype field in ttypeconvnode.getcopy() 2004-11-02 20:15:53 +00:00
peter
2e161c5e9e * nf_internal flag for internal inserted typeconvs. This will
supress the generation of warning/hints
2004-11-02 12:55:16 +00:00
peter
9b00c7832e * support > 32bit accesses for x86_64
* rewrote array size checking to support 64bit
2004-11-01 23:30:11 +00:00
peter
2aceb6f856 * no checkpointer code for dynarr to openarr 2004-11-01 17:15:47 +00:00
peter
a2cbf27e96 * -Or fix for absolute 2004-11-01 15:31:57 +00:00
peter
adb6f59eef * small regvar fixes
* loadref parameter removed from concatcopy,incrrefcount,etc
2004-10-24 11:44:28 +00:00
mazen
581b52422c - remove $IFDEF DELPHI and related code
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
peter
f1ae6fb6d4 * give error when converting class to interface are not related 2004-10-12 14:33:41 +00:00
peter
66df745917 * small regvar for para fixes
* function tvarsym.is_regvar added
  * tvarsym.getvaluesize removed, use getsize instead
2004-10-11 15:48:15 +00:00
peter
8fb3536f6e * simple regvar support, not yet finished 2004-09-26 17:45:29 +00:00
florian
120c165a62 * constant floating point assignments etc. are now overflow checked
if Q+ or R+ is turned on
2004-08-08 16:00:56 +00:00
peter
e179e7d9e1 * fix pchar:=char
* fix longint(smallset)
2004-06-29 20:57:50 +00:00
peter
cf3c1198ea * include unit name in error messages when types are the same 2004-06-23 16:22:45 +00:00
florian
8a9758c5e2 * logs truncated 2004-06-20 08:55:28 +00:00
florian
588e2c38bf * dwarf branch merged 2004-06-16 20:07:06 +00:00
peter
b86f2c6a25 * methodpointer is loaded into a temp when it was a calln 2004-05-23 18:28:40 +00:00
peter
a9df763770 * some typeconvs don't allow assignment or passing to var para 2004-05-23 15:03:40 +00:00
florian
d6b865167c + added set of widechar support (limited to 256 chars, is delphi compatible) 2004-05-23 14:14:18 +00:00
daniel
b721e5872c * Prepare compiler infrastructure for multiple ansistring types 2004-04-29 19:56:36 +00:00
peter
e46cdcea48 * constants ordinals now always have a type assigned
* integer constants have the smallest type, unsigned prefered over
    signed
2004-03-23 22:34:49 +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
florian
1d8b4661b8 * message about illegal type conversion reports now the types 2004-02-21 16:03:10 +00:00
peter
c844c5a505 * procvar cleanup 2004-02-20 21:55:59 +00:00
peter
3a3fdde6d1 * compare_defs_ext has now a options argument
* fixes for variants
2004-02-13 15:42:21 +00:00
florian
465aa5851b * several fixes to compile x86-64 system 2004-02-05 01:24:08 +00:00
daniel
d735071838 * Rtti generation moved to ncgutil
* Assmtai usage of symsym removed
  * operator overloading cleanup up
2004-02-04 22:15:15 +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
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
florian
3d8e1ab1fb + fpu<->mm register conversion 2003-12-26 00:32:21 +00:00
peter
f2d2c4c496 * fix rangecheck error 2003-12-22 23:11:15 +00:00
peter
1260eed8fd * again procvar fixes 2003-12-08 22:35:28 +00:00
Jonas Maebe
3c33590a80 * fixed range error 2003-11-22 00:31:52 +00:00
florian
8b337fb5ef + type cast variant<->enum
* cnv. node second pass uses now as well helper wrappers
2003-11-04 22:30:15 +00:00
peter
9b0dda9f42 * don't call proc_to_procvar for explicit typecasts 2003-10-31 18:42:03 +00:00
florian
6a06df943b * fixed passing of dyn. arrays to open array parameters 2003-10-29 22:01:20 +00:00
peter
079e489b08 * absolute to object field supported, fixes tb0458 2003-10-28 15:36:01 +00:00
peter
4a1ecb07d1 * splitted buildderef and buildderefimpl to fix interface crc
calculation
2003-10-23 14:44:07 +00:00
peter
6878c55c80 * write derefdata in a separate ppu entry 2003-10-22 20:39:59 +00:00
peter
a28d911c98 * IncompatibleTypes() added that will include unit names when
the typenames are the same
2003-10-21 18:16:13 +00:00
peter
a909ffdd35 * allow explicit typecasts from classrefdef, fixes 2728 2003-10-09 14:39:03 +00:00
peter
95f132db3d * set_varstate cleanup 2003-10-08 19:19:45 +00:00
peter
e55017a946 * fix 2720 2003-10-07 14:30:27 +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
0805c4e535 * fix different expectloc 2003-09-25 14:57:51 +00:00
florian
f3e9e7a24f * fixed web bug #2669
* cosmetic fix in printnode
  * tobjectdef.gettypename implemented
2003-09-06 22:27:08 +00:00
peter
6a8d5eb25d * NEWRA branch merged 2003-09-03 15:55:00 +00:00
peter
6731abb0db * fixed some reported bugs 2003-08-10 17:25:23 +00:00
peter
28ebc69c8f * removed changesettype because that will change the definition
of the setdef forever and can result in a different between
    original interface and current implementation definition
2003-06-05 20:05:55 +00:00
Jonas Maebe
d8725a18bf * disable fpuregable for fpu variables typecasted to non fpu-type 2003-06-04 17:55:09 +00:00
Jonas Maebe
ad0dd43c4b * fixed void_to_(int,pointer) typeconversion 2003-06-04 17:29:01 +00:00
peter
4d67ae9f31 * fix check for procedure without parameters
* calling constructor as member will not allocate memory
2003-06-03 21:05:48 +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
155a2cdab4 * fix checking of procdef type which was broken since loadn returned
pointertype for tp procvar
2003-04-23 13:13:08 +00:00
peter
41dfcfba39 * expectloc fixes 2003-04-23 10:10:07 +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
peter
0e0a581230 * do not convert procvars with void return to callnode 2003-04-22 09:52:30 +00:00
peter
07f1898c68 * fix missing self setting for method to procvar conversion in
tp_procvar mode
2003-03-17 18:54:23 +00:00
carl
dd0322c646 * generic conversaion routines only work on signed types 2003-02-15 22:15:57 +00:00
peter
34de6782a5 * convert_l3 convertlevel added. This level is used for conversions
where information can be lost like converting widestring->ansistring
    or dword->byte
2003-01-16 22:13:51 +00:00
peter
00e2ee165b * merged methodpointer fixes from 1.0.x 2003-01-15 01:44:32 +00:00
peter
90473fa87f * constant string conversion fixed, it's now equal to both
shortstring, ansistring and the typeconvnode will return
    te_equal but still return convtype to change the constnode
2003-01-09 21:43:39 +00:00
peter
b3ef495a2b * move code that checks for longint-pointer conversion hint 2003-01-05 22:41:40 +00:00
daniel
5041b70618 * Removed ifdefs around notifications
ifdefs around for loop optimizations remain
2003-01-03 12:15:55 +00:00
peter
54d8b64899 * proc-procvar crash fixed (tw2277) 2002-12-22 16:34:49 +00:00
peter
70f03b9d6c * don't allow class(classref) conversion 2002-12-20 16:01:26 +00:00
florian
121ca40b39 * some variant <-> dyn. array stuff 2002-12-05 14:27:25 +00:00
carl
87e69126fb * fix bug with checking of duplicated items in sets (new sets bug only) 2002-11-30 10:45:14 +00:00
carl
4532dbd680 * updated notes and hints 2002-11-27 19:43:21 +00:00
peter
acb449fb1f * more currency fixes, taddcurr runs now successfull 2002-11-27 13:11:38 +00:00
peter
8351bb059b * when converting from and to currency divide or multiple the
result by 10000
2002-11-27 11:29:21 +00:00