|
@@ -832,15 +832,15 @@ interface
|
|
|
encoding : tstringencoding;
|
|
|
stringtype : tstringtype;
|
|
|
len : asizeint;
|
|
|
- constructor createshort(l : byte);virtual;
|
|
|
+ constructor createshort(l: byte; doregister: boolean);virtual;
|
|
|
constructor loadshort(ppufile:tcompilerppufile);
|
|
|
- constructor createlong(l : asizeint);virtual;
|
|
|
+ constructor createlong(l: asizeint; doregister: boolean);virtual;
|
|
|
constructor loadlong(ppufile:tcompilerppufile);
|
|
|
- constructor createansi(aencoding:tstringencoding);virtual;
|
|
|
+ constructor createansi(aencoding: tstringencoding; doregister: boolean);virtual;
|
|
|
constructor loadansi(ppufile:tcompilerppufile);
|
|
|
- constructor createwide;virtual;
|
|
|
+ constructor createwide(doregister: boolean);virtual;
|
|
|
constructor loadwide(ppufile:tcompilerppufile);
|
|
|
- constructor createunicode;virtual;
|
|
|
+ constructor createunicode(doregister: boolean);virtual;
|
|
|
constructor loadunicode(ppufile:tcompilerppufile);virtual;
|
|
|
function getcopy : tstoreddef;override;
|
|
|
function stringtypname:string;
|
|
@@ -1194,7 +1194,7 @@ implementation
|
|
|
else
|
|
|
symtable:=current_module.localsymtable;
|
|
|
symtablestack.push(symtable);
|
|
|
- current_module.ansistrdef:=cstringdef.createansi(current_settings.sourcecodepage);
|
|
|
+ current_module.ansistrdef:=cstringdef.createansi(current_settings.sourcecodepage,true);
|
|
|
symtablestack.pop(symtable);
|
|
|
end;
|
|
|
result:=tstringdef(current_module.ansistrdef);
|
|
@@ -2168,9 +2168,9 @@ implementation
|
|
|
Tstringdef
|
|
|
****************************************************************************}
|
|
|
|
|
|
- constructor tstringdef.createshort(l : byte);
|
|
|
+ constructor tstringdef.createshort(l: byte; doregister: boolean);
|
|
|
begin
|
|
|
- inherited create(stringdef,true);
|
|
|
+ inherited create(stringdef,doregister);
|
|
|
stringtype:=st_shortstring;
|
|
|
encoding:=0;
|
|
|
len:=l;
|
|
@@ -2187,9 +2187,9 @@ implementation
|
|
|
end;
|
|
|
|
|
|
|
|
|
- constructor tstringdef.createlong(l : asizeint);
|
|
|
+ constructor tstringdef.createlong(l: asizeint; doregister: boolean);
|
|
|
begin
|
|
|
- inherited create(stringdef,true);
|
|
|
+ inherited create(stringdef,doregister);
|
|
|
stringtype:=st_longstring;
|
|
|
encoding:=0;
|
|
|
len:=l;
|
|
@@ -2206,9 +2206,9 @@ implementation
|
|
|
end;
|
|
|
|
|
|
|
|
|
- constructor tstringdef.createansi(aencoding:tstringencoding);
|
|
|
+ constructor tstringdef.createansi(aencoding: tstringencoding; doregister: boolean);
|
|
|
begin
|
|
|
- inherited create(stringdef,true);
|
|
|
+ inherited create(stringdef,doregister);
|
|
|
stringtype:=st_ansistring;
|
|
|
encoding:=aencoding;
|
|
|
len:=-1;
|
|
@@ -2225,9 +2225,9 @@ implementation
|
|
|
end;
|
|
|
|
|
|
|
|
|
- constructor tstringdef.createwide;
|
|
|
+ constructor tstringdef.createwide(doregister: boolean);
|
|
|
begin
|
|
|
- inherited create(stringdef,true);
|
|
|
+ inherited create(stringdef,doregister);
|
|
|
stringtype:=st_widestring;
|
|
|
if target_info.endian=endian_little then
|
|
|
encoding:=CP_UTF16LE
|
|
@@ -2250,9 +2250,9 @@ implementation
|
|
|
end;
|
|
|
|
|
|
|
|
|
- constructor tstringdef.createunicode;
|
|
|
+ constructor tstringdef.createunicode(doregister: boolean);
|
|
|
begin
|
|
|
- inherited create(stringdef,true);
|
|
|
+ inherited create(stringdef,doregister);
|
|
|
stringtype:=st_unicodestring;
|
|
|
if target_info.endian=endian_little then
|
|
|
encoding:=CP_UTF16LE
|