|
@@ -850,24 +850,10 @@ implementation
|
|
end
|
|
end
|
|
else
|
|
else
|
|
if is_ansistring(lt) then
|
|
if is_ansistring(lt) then
|
|
- {$ifdef ansistring_bits}
|
|
|
|
- begin
|
|
|
|
- case Tstringdef(lt).string_typ of
|
|
|
|
- st_ansistring16:
|
|
|
|
- vtype:=vtAnsiString16;
|
|
|
|
- st_ansistring32:
|
|
|
|
- vtype:=vtAnsiString32;
|
|
|
|
- st_ansistring64:
|
|
|
|
- vtype:=vtAnsiString64;
|
|
|
|
- end;
|
|
|
|
- freetemp:=false;
|
|
|
|
- end
|
|
|
|
- {$else}
|
|
|
|
begin
|
|
begin
|
|
vtype:=vtAnsiString;
|
|
vtype:=vtAnsiString;
|
|
freetemp:=false;
|
|
freetemp:=false;
|
|
end
|
|
end
|
|
- {$endif}
|
|
|
|
else
|
|
else
|
|
if is_widestring(lt) then
|
|
if is_widestring(lt) then
|
|
begin
|
|
begin
|
|
@@ -898,9 +884,7 @@ implementation
|
|
else
|
|
else
|
|
{ normal array constructor of the same type }
|
|
{ normal array constructor of the same type }
|
|
begin
|
|
begin
|
|
- if (is_ansistring(left.resulttype.def) or
|
|
|
|
- is_widestring(left.resulttype.def) or
|
|
|
|
- (left.resulttype.def.deftype=variantdef)) then
|
|
|
|
|
|
+ if resulttype.def.needs_inittable then
|
|
freetemp:=false;
|
|
freetemp:=false;
|
|
case hp.left.location.loc of
|
|
case hp.left.location.loc of
|
|
LOC_FPUREGISTER,
|
|
LOC_FPUREGISTER,
|