|
@@ -389,7 +389,7 @@ implementation
|
|
var
|
|
var
|
|
swapl, swapr: Boolean;
|
|
swapl, swapr: Boolean;
|
|
valuer: tnode;
|
|
valuer: tnode;
|
|
- t: QWord;
|
|
|
|
|
|
+ t: Tconstexprint;
|
|
begin
|
|
begin
|
|
result:=false;
|
|
result:=false;
|
|
swapl:=false;
|
|
swapl:=false;
|
|
@@ -398,29 +398,26 @@ implementation
|
|
if nodel.left.nodetype=ordconstn then
|
|
if nodel.left.nodetype=ordconstn then
|
|
begin
|
|
begin
|
|
swapl:=true;
|
|
swapl:=true;
|
|
- cl:=tordconstnode(nodel.left).value.uvalue;
|
|
|
|
|
|
+ cl:=tordconstnode(nodel.left).value;
|
|
value:=nodel.right;
|
|
value:=nodel.right;
|
|
end
|
|
end
|
|
else if nodel.right.nodetype=ordconstn then
|
|
else if nodel.right.nodetype=ordconstn then
|
|
begin
|
|
begin
|
|
- cl:=tordconstnode(nodel.right).value.uvalue;
|
|
|
|
|
|
+ cl:=tordconstnode(nodel.right).value;
|
|
value:=nodel.left;
|
|
value:=nodel.left;
|
|
end
|
|
end
|
|
else
|
|
else
|
|
exit;
|
|
exit;
|
|
|
|
|
|
- if is_signed(value.resultdef) then
|
|
|
|
- exit;
|
|
|
|
-
|
|
|
|
if noder.left.nodetype=ordconstn then
|
|
if noder.left.nodetype=ordconstn then
|
|
begin
|
|
begin
|
|
swapl:=true;
|
|
swapl:=true;
|
|
- cr:=tordconstnode(noder.left).value.uvalue;
|
|
|
|
|
|
+ cr:=tordconstnode(noder.left).value;
|
|
valuer:=noder.right;
|
|
valuer:=noder.right;
|
|
end
|
|
end
|
|
else if noder.right.nodetype=ordconstn then
|
|
else if noder.right.nodetype=ordconstn then
|
|
begin
|
|
begin
|
|
- cr:=tordconstnode(noder.right).value.uvalue;
|
|
|
|
|
|
+ cr:=tordconstnode(noder.right).value;
|
|
valuer:=noder.left;
|
|
valuer:=noder.left;
|
|
end
|
|
end
|
|
else
|
|
else
|