@@ -6221,6 +6221,7 @@ tests/tbs/tb0525.pp svneol=native#text/plain
tests/tbs/tb0526.pp -text
tests/tbs/tb0527.pp svneol=native#text/plain
tests/tbs/tb0528.pp svneol=native#text/x-pascal
+tests/tbs/tb0529.pp -text
tests/tbs/ub0060.pp svneol=native#text/plain
tests/tbs/ub0069.pp svneol=native#text/plain
tests/tbs/ub0119.pp svneol=native#text/plain
@@ -877,7 +877,7 @@ implementation
orddef :
begin
{ char constant to zero terminated string constant }
- if (fromtreetype=ordconstn) then
+ if (fromtreetype in [ordconstn,arrayconstructorn]) then
if (is_char(def_from) or is_widechar(def_from)) and
(is_pchar(def_to) or is_pwidechar(def_to)) then
@@ -0,0 +1,22 @@
+{ It tests conversion from "array of char" to "array of PChar" }
+
+function DoTest(params: array of PChar): string;
+var
+ i: integer;
+ res: string;
+begin
+ res:='';
+ for i:=Low(params) to High(params) do
+ res:=res + params[i];
+ DoTest:=res;
+end;
+ s: string;
+ s:=DoTest(['1', '2', '3']);
+ if s <> '123' then begin
+ writeln('Test failed. S=', s);
+ Halt(1);
+ end;
+end.