peter
f7a6c1e2ee
* only allow pointer(integer) in fpc modes
...
git-svn-id: trunk@6598 -
2007-02-22 07:01:47 +00:00
peter
9a37c04131
* cardinal-cardinal is calculated using int64
...
* support pointer(int64) for all modes, this is needed to
support pointer(cardinal+longint) and pointer(cardinal-cardinal)
git-svn-id: trunk@6586 -
2007-02-21 11:52:06 +00:00
yury
48e46f1c2e
* Fixed error "Incompatible type for arg no. X: Got "Array Of Char", expected "Array Of PChar"" when passing values like ['1','2','3'] for "array of PChar" parameter.
...
+ Test added.
git-svn-id: trunk@6495 -
2007-02-15 19:43:35 +00:00
florian
a2ec2e72b6
* better hint about abstract methods (fixes 5098)
...
+ code generation for invoking dispinterface methods
* small dispinterface problems fixed
git-svn-id: trunk@5798 -
2007-01-03 19:14:31 +00:00
Jonas Maebe
2b9bdf2155
* fixed mantis 6631, 7322 and 7989: check parameters and return
...
types of interface methods implemented in a class
git-svn-id: trunk@5686 -
2006-12-22 19:50:52 +00:00
peter
658c46b903
* remove tdictionary and tindexarray
...
* symtables based on TFPHashObjectList and TFPObjectList
* rename torddef.typ to torddef.ordtype
* rename tfloatdef.typ to tfloatdef.floattype
* rename tdef.deftype to tdef.typ
* remove obsolete browser code, browcol is kept so the ide
can still be compiled
git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
Jonas Maebe
d87f03eef5
- removed automatic int-string, string-int and int-array conversion for
...
macpas after discussion on macpascal mailing list. The only thing left
is automatic conversion of constant strings of length 4 to 32 bit ints.
* adapted tests to this
* fixed FOUR_CHAR_CODE and FCC functions in MacPas unit for little
endian
+ FourCharArray type in macpas unit wich can be used to typecast
int's "back" to an array[1..4] of char (though the characters
will be in reverse on little endian systems in that case)
git-svn-id: trunk@5154 -
2006-11-01 16:34:37 +00:00
peter
136d3e8d46
* refactor implemented interfaces
...
git-svn-id: trunk@5134 -
2006-10-31 22:38:49 +00:00
florian
5c9b39549a
* fixed olevariant -> variant conversion
...
git-svn-id: trunk@5131 -
2006-10-31 19:45:08 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
3078a1927f
* remove ttype
...
* rename old ttype variables *type to *def
* rename resulttypepass to pass_typecheck
* rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
Jonas Maebe
2dd6a91a9f
+ allow implicit type conversions of 4 byte integers to strings for
...
parameter matching in macpas mode
git-svn-id: trunk@4957 -
2006-10-18 18:14:54 +00:00
peter
6fa1b27add
* openarray to openarray should still be equal for parameters
...
git-svn-id: trunk@4755 -
2006-09-30 10:21:18 +00:00
peter
0ddab0c161
* add cdo_parameter option for def_compare_ext that indicates that we
...
are comparing parameter lists
* openarray and normal array are not compatible anymore when comparing
parameters
git-svn-id: trunk@4754 -
2006-09-30 09:59:46 +00:00
Jonas Maebe
47eb589d54
* allow implicit conversions from/to packed char arrays under the
...
same conditions as from/two regular char arrays (since a packed
char array is the same as a string in ISO Pascal)
git-svn-id: trunk@4468 -
2006-08-20 15:14:07 +00:00
florian
9e66674ff9
+ first part of qwordbool implementation
...
git-svn-id: trunk@4462 -
2006-08-19 23:16:17 +00:00
Jonas Maebe
eccbc78e04
+ support for bitpacked arrays:
...
+ use {$bitpacking on/+} to change the meaning of "packed"
into "bitpacked" for arrays. This is the default for MacPas.
You can also define individual arrays as "bitpacked", but
this is not encouraged since this keyword is not known by
other compilers and therefore makes your code unportable.
+ pack(unpackedarray,index,packedarray) to pack
length(packedarray) elements starting at
unpackedarray[index] into packedarray.
+ unpack(packedarray,unpackedarray,index) to unpack
packedarray into unpackedarray, with the first
element being stored at unpackedarray[index]
* todo:
* "open packed arrays" and rtti for packed arrays are not
yet supported
* gdb does not properly support bitpacked arrays
git-svn-id: trunk@4449 -
2006-08-19 12:54:12 +00:00
peter
ac673f392c
* typo in previous commit
...
git-svn-id: trunk@4392 -
2006-08-07 21:14:16 +00:00
peter
4bde345009
* fix check for openarray and single element
...
git-svn-id: trunk@4390 -
2006-08-07 20:36:18 +00:00
peter
a704cbf048
* never prefer conversion to formaldef
...
git-svn-id: trunk@4387 -
2006-08-07 19:50:52 +00:00
peter
38c0ae73da
Merged revisions 2775,2788-2789 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2775 | peter | 2006-03-05 22:43:30 +0100 (Sun, 05 Mar 2006) | 2 lines
* merge ppu changes to keep ppus the same
........
r2788 | peter | 2006-03-06 12:59:14 +0100 (Mon, 06 Mar 2006) | 2 lines
* Add TFPList and TFPObjectList
........
r2789 | peter | 2006-03-06 13:01:37 +0100 (Mon, 06 Mar 2006) | 2 lines
* fix powerpc
........
git-svn-id: trunk@2790 -
2006-03-06 12:04:44 +00:00
Jonas Maebe
92c389aaeb
* fixed web bug #4778 (explicit type casting of float to int in tp/delphi
...
keeps the bit pattern instead of converting)
git-svn-id: trunk@2509 -
2006-02-10 11:05:47 +00:00
peter
45176ea2a8
* split tstringtype for stringdef and stringconstnode
...
to prevent wrong typecasts
git-svn-id: trunk@2276 -
2006-01-13 17:20:27 +00:00
peter
95879fe8a7
* basic support for generic classes
...
git-svn-id: trunk@2020 -
2005-12-21 10:11:15 +00:00
peter
f9db030350
* fix overload choosing if both normal proc and proc of object are available
...
git-svn-id: trunk@1496 -
2005-10-19 07:56:08 +00:00
peter
09a0dff4da
* prefer object->object over object->intf
...
git-svn-id: trunk@1491 -
2005-10-19 06:36:10 +00:00
peter
adfd36d189
* allow conststring to array of widechar
...
git-svn-id: trunk@1471 -
2005-10-18 12:27:43 +00:00
peter
89297d2c39
* move all stabs ($ifdef gdb) code to dbgstabs
...
git-svn-id: trunk@1255 -
2005-10-02 11:17:05 +00:00
peter
edf553a223
* string constants are now array of char until
...
they are converted to a specific string type
git-svn-id: trunk@1254 -
2005-10-02 11:08:58 +00:00
peter
f4c15f16bf
* overload choosing for ansistring -> short/wide
...
git-svn-id: trunk@983 -
2005-08-30 06:55:10 +00:00
peter
da8c55b019
* overload choosing for array of char to widestring fixed
...
git-svn-id: trunk@979 -
2005-08-30 05:42:11 +00:00
peter
a24dc41f36
* don't prefer int const to pointer
...
git-svn-id: trunk@700 -
2005-07-19 12:22:32 +00:00
peter
86bf41f689
* prefer shortstring to ansistring over ansistring to shortstring
...
* don't prefer widestring to short/ansistring
git-svn-id: trunk@594 -
2005-07-06 13:09:50 +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
218930cf11
* support open array to pointer
2005-04-04 16:30:07 +00:00
peter
a96693cee1
support (wide)char to pwidechar
2005-03-28 15:19:18 +00:00
florian
0ef8431a3f
+ made @(<formaldef>) assignment compatible with all pointer types
2005-03-13 11:42:48 +00:00
florian
737a81f30b
+ array -> dyn. array type cast
2005-03-11 21:55:43 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
florian
81c3feca81
+ support for another explicit ugly delphi type cast added
2005-02-03 19:24:33 +00:00
florian
90d88ec1a5
* <class/interface>(<any ord. type>) in delphi mode allowed
2005-02-02 19:04:31 +00:00
peter
8f8e6f6809
* widestring patches from Alexey Barkovoy
2005-01-10 22:10:26 +00:00
florian
3cb0a53eca
+ compiler side of variant<->interface implemented
2005-01-07 21:14:21 +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
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
peter
5f61be6b4d
* prevent some IEs with delphi methodpointers
2004-11-29 17:32:56 +00:00
peter
1418add0e0
* don't allow pointer(ordinal) typecast in fpc mode, only allow it
...
for delphi and for internal use
2004-11-26 22:33:54 +00:00
peter
e740a66636
* tparaitem removed, use tparavarsym instead
...
* parameter order is now calculated from paranr value in tparavarsym
2004-11-15 23:35:30 +00:00