[fpc-devel]FYI: array constructor & string
Peter Vreman
peter at freepascal.org
Wed Nov 26 15:14:46 CET 2003
> Hi,
>
> I couldn't compile anything with the following:
>
> procedure x(const a:array of const);
> var s:string; // ansistring or shortstring doesn't matter
> x([s]);
>
> and tracked it down to the second change block of:
> http://www.freepascal.org/cgi-bin/viewcvs.cgi/fpc/compiler/nld.pas.diff?r1=1.116&r2=1.117
>
> I put in
> stringdef :
> hp.left:=ctypeconvnode.create(hp.left,cansistringtype);
>
> I doubt that this is the correct fix, it does however (properly?)
> compile above example after this change (with both shortstring and
> ansistring).
The correct fix is even smaller:
--- nld.pas.bak Mon Nov 24 02:02:20 2003
+++ nld.pas Wed Nov 26 15:11:16 2003
@@ -1027,6 +1027,7 @@
hp.left:=ctypeconvnode.create(hp.left,pbestrealtype^);
procvardef :
hp.left:=ctypeconvnode.create(hp.left,voidpointertype);
+ stringdef,
variantdef,
pointerdef,
classrefdef,
More information about the fpc-devel
mailing list