summaryrefslogtreecommitdiff
path: root/compiler/ncon.pas
diff options
context:
space:
mode:
authorpaul <paul@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-04-26 02:33:57 +0000
committerpaul <paul@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-04-26 02:33:57 +0000
commitb400e9040d316bd92c1840bffa6ade7164ad188b (patch)
tree9f7a2a4d8fdbf834ba96400c883209fbcee9fdcb /compiler/ncon.pas
parentfec0162a900502f03a10bca471130140a22e1173 (diff)
downloadfpc-b400e9040d316bd92c1840bffa6ade7164ad188b.tar.gz
compiler: change ShortString->(Some)String and AnsiString->(Some)String overload precedence both for variables and string constants, change unicode constant type from widestring to unicodestring (Delphi compatibility)
new ShortString->(Some)String precedence: ShortString, UTF8String, AnsiString, AnsiString(CodePage) and RawByteString, UnicodeString, WideString and other string types new AnsiString->(Some)String precedence: RawByteString, UTF8String, AnsiString, AnsiString(CodePage), UnicodeString, WideString, ShortString and other string types The new logic makes UTF8String more preferrable than other AnsiString types, AnsiString more preferrable than other AnsiStrings(codepage) and also makes UnicodeString more preferrable than WideString. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21057 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/ncon.pas')
-rw-r--r--compiler/ncon.pas10
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/ncon.pas b/compiler/ncon.pas
index e25b9ff445..a33829269a 100644
--- a/compiler/ncon.pas
+++ b/compiler/ncon.pas
@@ -124,7 +124,7 @@ interface
cst_type : tconststringtype;
constructor createstr(const s : string);virtual;
constructor createpchar(s : pchar;l : longint);virtual;
- constructor createwstr(w : pcompilerwidestring);virtual;
+ constructor createunistr(w : pcompilerwidestring);virtual;
constructor ppuload(t:tnodetype;ppufile:tcompilerppufile);override;
procedure ppuwrite(ppufile:tcompilerppufile);override;
procedure buildderefimpl;override;
@@ -254,7 +254,7 @@ implementation
begin
initwidestring(pWideStringVal);
concatwidestringchar(pWideStringVal, tcompilerwidechar(tordconstnode(p).value.uvalue));
- result:=cstringconstnode.createwstr(pWideStringVal);
+ result:=cstringconstnode.createunistr(pWideStringVal);
end
else if is_conststringnode(p) then
result:=tstringconstnode(p.getcopy)
@@ -311,7 +311,7 @@ implementation
p1:=cstringconstnode.createpchar(pc,len);
end;
constwstring :
- p1:=cstringconstnode.createwstr(pcompilerwidestring(p.value.valueptr));
+ p1:=cstringconstnode.createunistr(pcompilerwidestring(p.value.valueptr));
constreal :
p1:=crealconstnode.create(pbestreal(p.value.valueptr)^,p.constdef);
constset :
@@ -794,14 +794,14 @@ implementation
end;
- constructor tstringconstnode.createwstr(w : pcompilerwidestring);
+ constructor tstringconstnode.createunistr(w : pcompilerwidestring);
begin
inherited create(stringconstn);
len:=getlengthwidestring(w);
initwidestring(pcompilerwidestring(value_str));
copywidestring(w,pcompilerwidestring(value_str));
lab_str:=nil;
- cst_type:=cst_widestring;
+ cst_type:=cst_unicodestring;
end;