Commit Graph

49 Commits

Author SHA1 Message Date
peter
92203909b9 * use defs_equal when comparing pointer types 2004-03-04 17:22:32 +00:00
peter
44a2e03d81 * also compare calling convention in proc_to_procvar_equal 2004-03-03 22:02:16 +00:00
peter
05e0d83348 * operator overload chooses rewrite
* overload choosing is now generic and moved to htypechk
2004-02-24 16:12:39 +00:00
peter
da60da7f06 * allow real_2_real conversion for realconstn, fixes 2971 2004-02-15 12:18:22 +00:00
peter
3a3fdde6d1 * compare_defs_ext has now a options argument
* fixes for variants
2004-02-13 15:42:21 +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
2b02238e4a * prefere tobject-tobject over tobject-pointer 2004-01-31 14:50:54 +00:00
peter
c3b9e56e90 * give penalty in float-float conversion when precision is lost 2004-01-14 21:44:16 +00:00
florian
5f496817a0 * fixed webbug 2878 2004-01-06 02:17:44 +00:00
Jonas Maebe
2af569745c * if currency = int64, FPC_CURRENCY_IS_INT64 is defined
+ round and trunc for currency and comp if FPC_CURRENCY_IS_INT64 is
    defined
  * if currency = orddef, prefer currency -> int64/qword conversion over
    currency -> float conversions
  * optimized currency/currency if currency = orddef
  * TODO: write FPC_DIV_CURRENCY and FPC_MUL_CURRENCY routines to prevent
      precision loss if currency=int64 and bestreal = double
2004-01-02 17:19:04 +00:00
daniel
23aa8e1cda * Automatic conversion from integer constants to pointer constants is no
longer done except in Delphi mode
2003-12-16 09:41:44 +00:00
michael
224a670b4a + Patch to prefer getpropinfo(ptypeinfo,name) over getpropinfo(tobject,name) when called with getpropinfo(aclass.classinfo) from Peter 2003-11-26 15:11:42 +00:00
peter
a3c14e9c2d * procvar default value support 2003-11-10 19:09:29 +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
19727a3609 * don't search for overloads in parents for constructors 2003-10-30 16:23:13 +00:00
florian
6906e33275 * fixed web bug #2129: explicit float casts in Delphi mode must be handled by the default code 2003-10-26 14:11:35 +00:00
florian
048fbd8228 * fixed 2729: overloading problem with methodvars and procvars 2003-10-14 12:23:06 +00:00
peter
fb81b7ebbb * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
* tregisteralloctor renamed to trgobj
  * removed rgobj from a lot of units
  * moved location_* and reference_* to cgobj
  * first things for mmx register allocation
2003-10-10 17:48:13 +00:00
peter
e720d73bd9 * compare_paras() has a parameter to ignore hidden parameters
* cross unit overload searching ignores hidden parameters when
    comparing parameter lists. Now function(string):string is
    not overriden with procedure(string) which has the same visible
    parameter list
2003-10-07 21:14:32 +00:00
peter
c73704be10 * when comparing hidden parameters both must be hidden 2003-10-05 13:05:05 +00:00
peter
1a71e7e02b * set correct conversion for subranges 2003-10-05 12:57:11 +00:00
peter
3a3d710c47 * basics for x86 register calling 2003-09-09 21:03:17 +00:00
peter
93f683c63c * allow pointer(int64) in all modes 2003-06-03 21:02:08 +00:00
peter
047a066711 * procinlinenode removed
* aktexit2label removed, fast exit removed
  + tcallnode.inlined_pass_2 added
2003-05-26 21:17:17 +00:00
peter
92ee1804b6 * removed selfpointer_offset, vmtpointer_offset
* tvarsym.adjusted_address
  * address in localsymtable is now in the real direction
  * removed some obsolete globals
2003-05-15 18:58:53 +00:00
peter
1a2eedd767 * self moved to hidden parameter
* removed hdisposen,hnewn,selfn
2003-05-09 17:47:02 +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
7dae726270 * po_comp for proc to procvar fixed 2003-04-23 11:37:33 +00:00
peter
8da3f59d32 * vs_hidden released 2003-04-10 17:57:52 +00:00
peter
146c4ff510 * fix compare for unique types, they are allowed when they match
exact
2003-03-20 17:52:18 +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
8423a146b0 * use int_to_int conversion for pointer/procvar/classref to int 2003-01-05 22:42:13 +00:00
florian
07110d20f9 + added proper support of type = type <type>; for simple types 2003-01-05 15:54:15 +00:00
peter
8b2dbde7c8 * fixed assignment operator checking for typecast 2003-01-03 17:16:04 +00:00
peter
50e870348b * varargs is not checked in proc->procvar for delphi 2002-12-29 18:15:19 +00:00
peter
bbf8bddbb4 * unit loading changed to first register units and load them
afterwards. This is needed to support uses xxx in yyy correctly
  * unit dependency check fixed
2002-12-29 14:57:50 +00:00
peter
39473f1e59 * procvar compare with 2 ints did not check the integer size 2002-12-27 15:26:12 +00:00
peter
6f9deb98ed * don't allow implicit bool->int conversion 2002-12-23 22:22:16 +00:00
peter
908c2c1ca7 * allow classref-classref always when explicit 2002-12-18 21:37:36 +00:00
peter
f1a0d3bd11 * give conversions from pointer to pwidechar a penalty (=prefer pchar) 2002-12-15 22:37:53 +00:00
peter
bdc6feb73d * proc->procvar is never an exact match, convert exact parameters
to equal for the whole proc to procvar conversion level
2002-12-11 22:40:12 +00:00
peter
419a0592ab * prefer string-shortstring over other string-string conversions 2002-12-06 17:49:44 +00:00
florian
121ca40b39 * some variant <-> dyn. array stuff 2002-12-05 14:27:25 +00:00
carl
eeea5fdae0 * warning of portabilitiy problems with parasize / localsize
+ some added documentation
2002-12-01 22:07:41 +00:00
peter
67153fd9a1 * the never ending story of tp procvar hacks 2002-11-27 15:33:46 +00:00
peter
1c2eecfb9d * fix cp_procvar compare 2002-11-27 02:32:14 +00:00
peter
f3fc72095f * splitted defbase in defutil,symutil,defcmp
* merged isconvertable and is_equal into compare_defs(_ext)
  * made operator search faster by walking the list only once
2002-11-25 17:43:16 +00:00