|
@@ -334,17 +334,17 @@ implementation
|
|
else
|
|
else
|
|
t:=cordconstnode.create(lv and rv,resultdef,true);
|
|
t:=cordconstnode.create(lv and rv,resultdef,true);
|
|
ltn :
|
|
ltn :
|
|
- t:=cordconstnode.create(ord(lv<rv),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lv<rv),pasbool8type,true);
|
|
lten :
|
|
lten :
|
|
- t:=cordconstnode.create(ord(lv<=rv),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lv<=rv),pasbool8type,true);
|
|
gtn :
|
|
gtn :
|
|
- t:=cordconstnode.create(ord(lv>rv),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lv>rv),pasbool8type,true);
|
|
gten :
|
|
gten :
|
|
- t:=cordconstnode.create(ord(lv>=rv),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lv>=rv),pasbool8type,true);
|
|
equaln :
|
|
equaln :
|
|
- t:=cordconstnode.create(ord(lv=rv),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lv=rv),pasbool8type,true);
|
|
unequaln :
|
|
unequaln :
|
|
- t:=cordconstnode.create(ord(lv<>rv),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lv<>rv),pasbool8type,true);
|
|
slashn :
|
|
slashn :
|
|
begin
|
|
begin
|
|
{ int/int becomes a real }
|
|
{ int/int becomes a real }
|
|
@@ -387,30 +387,30 @@ implementation
|
|
case nodetype of
|
|
case nodetype of
|
|
ltn:
|
|
ltn:
|
|
if lv<low then
|
|
if lv<low then
|
|
- t:=Cordconstnode.create(1,booltype,true)
|
|
|
|
|
|
+ t:=Cordconstnode.create(1,pasbool8type,true)
|
|
else if lv>=high then
|
|
else if lv>=high then
|
|
- t:=Cordconstnode.create(0,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(0,pasbool8type,true);
|
|
lten:
|
|
lten:
|
|
if lv<=low then
|
|
if lv<=low then
|
|
- t:=Cordconstnode.create(1,booltype,true)
|
|
|
|
|
|
+ t:=Cordconstnode.create(1,pasbool8type,true)
|
|
else if lv>high then
|
|
else if lv>high then
|
|
- t:=Cordconstnode.create(0,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(0,pasbool8type,true);
|
|
gtn:
|
|
gtn:
|
|
if lv<=low then
|
|
if lv<=low then
|
|
- t:=Cordconstnode.create(0,booltype,true)
|
|
|
|
|
|
+ t:=Cordconstnode.create(0,pasbool8type,true)
|
|
else if lv>high then
|
|
else if lv>high then
|
|
- t:=Cordconstnode.create(1,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(1,pasbool8type,true);
|
|
gten :
|
|
gten :
|
|
if lv<low then
|
|
if lv<low then
|
|
- t:=Cordconstnode.create(0,booltype,true)
|
|
|
|
|
|
+ t:=Cordconstnode.create(0,pasbool8type,true)
|
|
else if lv>=high then
|
|
else if lv>=high then
|
|
- t:=Cordconstnode.create(1,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(1,pasbool8type,true);
|
|
equaln:
|
|
equaln:
|
|
if (lv<low) or (lv>high) then
|
|
if (lv<low) or (lv>high) then
|
|
- t:=Cordconstnode.create(0,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(0,pasbool8type,true);
|
|
unequaln:
|
|
unequaln:
|
|
if (lv<low) or (lv>high) then
|
|
if (lv<low) or (lv>high) then
|
|
- t:=Cordconstnode.create(1,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(1,pasbool8type,true);
|
|
end;
|
|
end;
|
|
if t<>nil then
|
|
if t<>nil then
|
|
begin
|
|
begin
|
|
@@ -436,30 +436,30 @@ implementation
|
|
case nodetype of
|
|
case nodetype of
|
|
ltn:
|
|
ltn:
|
|
if high<rv then
|
|
if high<rv then
|
|
- t:=Cordconstnode.create(1,booltype,true)
|
|
|
|
|
|
+ t:=Cordconstnode.create(1,pasbool8type,true)
|
|
else if low>=rv then
|
|
else if low>=rv then
|
|
- t:=Cordconstnode.create(0,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(0,pasbool8type,true);
|
|
lten:
|
|
lten:
|
|
if high<=rv then
|
|
if high<=rv then
|
|
- t:=Cordconstnode.create(1,booltype,true)
|
|
|
|
|
|
+ t:=Cordconstnode.create(1,pasbool8type,true)
|
|
else if low>rv then
|
|
else if low>rv then
|
|
- t:=Cordconstnode.create(0,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(0,pasbool8type,true);
|
|
gtn:
|
|
gtn:
|
|
if high<=rv then
|
|
if high<=rv then
|
|
- t:=Cordconstnode.create(0,booltype,true)
|
|
|
|
|
|
+ t:=Cordconstnode.create(0,pasbool8type,true)
|
|
else if low>rv then
|
|
else if low>rv then
|
|
- t:=Cordconstnode.create(1,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(1,pasbool8type,true);
|
|
gten:
|
|
gten:
|
|
if high<rv then
|
|
if high<rv then
|
|
- t:=Cordconstnode.create(0,booltype,true)
|
|
|
|
|
|
+ t:=Cordconstnode.create(0,pasbool8type,true)
|
|
else if low>=rv then
|
|
else if low>=rv then
|
|
- t:=Cordconstnode.create(1,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(1,pasbool8type,true);
|
|
equaln:
|
|
equaln:
|
|
if (rv<low) or (rv>high) then
|
|
if (rv<low) or (rv>high) then
|
|
- t:=Cordconstnode.create(0,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(0,pasbool8type,true);
|
|
unequaln:
|
|
unequaln:
|
|
if (rv<low) or (rv>high) then
|
|
if (rv<low) or (rv>high) then
|
|
- t:=Cordconstnode.create(1,booltype,true);
|
|
|
|
|
|
+ t:=Cordconstnode.create(1,pasbool8type,true);
|
|
end;
|
|
end;
|
|
if t<>nil then
|
|
if t<>nil then
|
|
begin
|
|
begin
|
|
@@ -563,17 +563,17 @@ implementation
|
|
slashn :
|
|
slashn :
|
|
t:=crealconstnode.create(lvd/rvd,resultrealdef);
|
|
t:=crealconstnode.create(lvd/rvd,resultrealdef);
|
|
ltn :
|
|
ltn :
|
|
- t:=cordconstnode.create(ord(lvd<rvd),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lvd<rvd),pasbool8type,true);
|
|
lten :
|
|
lten :
|
|
- t:=cordconstnode.create(ord(lvd<=rvd),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lvd<=rvd),pasbool8type,true);
|
|
gtn :
|
|
gtn :
|
|
- t:=cordconstnode.create(ord(lvd>rvd),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lvd>rvd),pasbool8type,true);
|
|
gten :
|
|
gten :
|
|
- t:=cordconstnode.create(ord(lvd>=rvd),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lvd>=rvd),pasbool8type,true);
|
|
equaln :
|
|
equaln :
|
|
- t:=cordconstnode.create(ord(lvd=rvd),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lvd=rvd),pasbool8type,true);
|
|
unequaln :
|
|
unequaln :
|
|
- t:=cordconstnode.create(ord(lvd<>rvd),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(ord(lvd<>rvd),pasbool8type,true);
|
|
else
|
|
else
|
|
internalerror(2008022102);
|
|
internalerror(2008022102);
|
|
end;
|
|
end;
|
|
@@ -602,17 +602,17 @@ implementation
|
|
t:=cstringconstnode.createwstr(ws1);
|
|
t:=cstringconstnode.createwstr(ws1);
|
|
end;
|
|
end;
|
|
ltn :
|
|
ltn :
|
|
- t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)<0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)<0),pasbool8type,true);
|
|
lten :
|
|
lten :
|
|
- t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)<=0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)<=0),pasbool8type,true);
|
|
gtn :
|
|
gtn :
|
|
- t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)>0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)>0),pasbool8type,true);
|
|
gten :
|
|
gten :
|
|
- t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)>=0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)>=0),pasbool8type,true);
|
|
equaln :
|
|
equaln :
|
|
- t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)=0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)=0),pasbool8type,true);
|
|
unequaln :
|
|
unequaln :
|
|
- t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)<>0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(comparewidestrings(ws1,ws2)<>0),pasbool8type,true);
|
|
else
|
|
else
|
|
internalerror(2008022103);
|
|
internalerror(2008022103);
|
|
end;
|
|
end;
|
|
@@ -676,17 +676,17 @@ implementation
|
|
tstringconstnode(t).changestringtype(resultdef);
|
|
tstringconstnode(t).changestringtype(resultdef);
|
|
end;
|
|
end;
|
|
ltn :
|
|
ltn :
|
|
- t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)<0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)<0),pasbool8type,true);
|
|
lten :
|
|
lten :
|
|
- t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)<=0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)<=0),pasbool8type,true);
|
|
gtn :
|
|
gtn :
|
|
- t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)>0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)>0),pasbool8type,true);
|
|
gten :
|
|
gten :
|
|
- t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)>=0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)>=0),pasbool8type,true);
|
|
equaln :
|
|
equaln :
|
|
- t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)=0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)=0),pasbool8type,true);
|
|
unequaln :
|
|
unequaln :
|
|
- t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)<>0),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(compareansistrings(s1,s2,l1,l2)<>0),pasbool8type,true);
|
|
else
|
|
else
|
|
internalerror(2008022104);
|
|
internalerror(2008022104);
|
|
end;
|
|
end;
|
|
@@ -724,22 +724,22 @@ implementation
|
|
unequaln :
|
|
unequaln :
|
|
begin
|
|
begin
|
|
b:=tsetconstnode(right).value_set^ <> tsetconstnode(left).value_set^;
|
|
b:=tsetconstnode(right).value_set^ <> tsetconstnode(left).value_set^;
|
|
- t:=cordconstnode.create(byte(b),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(b),pasbool8type,true);
|
|
end;
|
|
end;
|
|
equaln :
|
|
equaln :
|
|
begin
|
|
begin
|
|
b:=tsetconstnode(right).value_set^ = tsetconstnode(left).value_set^;
|
|
b:=tsetconstnode(right).value_set^ = tsetconstnode(left).value_set^;
|
|
- t:=cordconstnode.create(byte(b),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(b),pasbool8type,true);
|
|
end;
|
|
end;
|
|
lten :
|
|
lten :
|
|
begin
|
|
begin
|
|
b:=tsetconstnode(left).value_set^ <= tsetconstnode(right).value_set^;
|
|
b:=tsetconstnode(left).value_set^ <= tsetconstnode(right).value_set^;
|
|
- t:=cordconstnode.create(byte(b),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(b),pasbool8type,true);
|
|
end;
|
|
end;
|
|
gten :
|
|
gten :
|
|
begin
|
|
begin
|
|
b:=tsetconstnode(left).value_set^ >= tsetconstnode(right).value_set^;
|
|
b:=tsetconstnode(left).value_set^ >= tsetconstnode(right).value_set^;
|
|
- t:=cordconstnode.create(byte(b),booltype,true);
|
|
|
|
|
|
+ t:=cordconstnode.create(byte(b),pasbool8type,true);
|
|
end;
|
|
end;
|
|
else
|
|
else
|
|
internalerror(2008022105);
|
|
internalerror(2008022105);
|
|
@@ -1027,12 +1027,12 @@ implementation
|
|
begin
|
|
begin
|
|
if not is_boolean(ld) then
|
|
if not is_boolean(ld) then
|
|
begin
|
|
begin
|
|
- inserttypeconv(left,booltype);
|
|
|
|
|
|
+ inserttypeconv(left,pasbool8type);
|
|
ld := left.resultdef;
|
|
ld := left.resultdef;
|
|
end;
|
|
end;
|
|
if not is_boolean(rd) then
|
|
if not is_boolean(rd) then
|
|
begin
|
|
begin
|
|
- inserttypeconv(right,booltype);
|
|
|
|
|
|
+ inserttypeconv(right,pasbool8type);
|
|
rd := right.resultdef;
|
|
rd := right.resultdef;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
@@ -1857,7 +1857,7 @@ implementation
|
|
begin
|
|
begin
|
|
case nodetype of
|
|
case nodetype of
|
|
ltn,lten,gtn,gten,equaln,unequaln :
|
|
ltn,lten,gtn,gten,equaln,unequaln :
|
|
- resultdef:=booltype;
|
|
|
|
|
|
+ resultdef:=pasbool8type;
|
|
slashn :
|
|
slashn :
|
|
resultdef:=resultrealdef;
|
|
resultdef:=resultrealdef;
|
|
addn:
|
|
addn:
|
|
@@ -2327,7 +2327,7 @@ implementation
|
|
|
|
|
|
{ otherwise, create the parameters for the helper }
|
|
{ otherwise, create the parameters for the helper }
|
|
right := ccallparanode.create(
|
|
right := ccallparanode.create(
|
|
- cordconstnode.create(ord(cs_check_overflow in current_settings.localswitches),booltype,true),
|
|
|
|
|
|
+ cordconstnode.create(ord(cs_check_overflow in current_settings.localswitches),pasbool8type,true),
|
|
ccallparanode.create(right,ccallparanode.create(left,nil)));
|
|
ccallparanode.create(right,ccallparanode.create(left,nil)));
|
|
left := nil;
|
|
left := nil;
|
|
{ only qword needs the unsigned code, the
|
|
{ only qword needs the unsigned code, the
|
|
@@ -2457,7 +2457,7 @@ implementation
|
|
if not(target_info.system in systems_wince) then
|
|
if not(target_info.system in systems_wince) then
|
|
begin
|
|
begin
|
|
if nodetype in [ltn,lten,gtn,gten,equaln,unequaln] then
|
|
if nodetype in [ltn,lten,gtn,gten,equaln,unequaln] then
|
|
- resultdef:=booltype;
|
|
|
|
|
|
+ resultdef:=pasbool8type;
|
|
result:=ctypeconvnode.create_internal(ccallnode.createintern(procname,ccallparanode.create(
|
|
result:=ctypeconvnode.create_internal(ccallnode.createintern(procname,ccallparanode.create(
|
|
ctypeconvnode.create_internal(right,fdef),
|
|
ctypeconvnode.create_internal(right,fdef),
|
|
ccallparanode.create(
|
|
ccallparanode.create(
|
|
@@ -2618,7 +2618,7 @@ implementation
|
|
internalerror(2011022301);
|
|
internalerror(2011022301);
|
|
end;
|
|
end;
|
|
result := ccallnode.createintern(procname,
|
|
result := ccallnode.createintern(procname,
|
|
- ccallparanode.create(cordconstnode.create(0,booltype,false),
|
|
|
|
|
|
+ ccallparanode.create(cordconstnode.create(0,pasbool8type,false),
|
|
ccallparanode.create(right,
|
|
ccallparanode.create(right,
|
|
ccallparanode.create(left,nil))));
|
|
ccallparanode.create(left,nil))));
|
|
left := nil;
|
|
left := nil;
|