|
@@ -738,7 +738,7 @@ implementation
|
|
{ release temp after next use }
|
|
{ release temp after next use }
|
|
addstatement(statements,ctempdeletenode.create_normal_temp(temp));
|
|
addstatement(statements,ctempdeletenode.create_normal_temp(temp));
|
|
addstatement(statements,ctemprefnode.create(temp));
|
|
addstatement(statements,ctemprefnode.create(temp));
|
|
- typecheckpass(block);
|
|
|
|
|
|
+ typecheckpass(tnode(block));
|
|
left:=block;
|
|
left:=block;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -2842,13 +2842,13 @@ implementation
|
|
{ (simplify depends on typecheck info) }
|
|
{ (simplify depends on typecheck info) }
|
|
if assigned(callinitblock) then
|
|
if assigned(callinitblock) then
|
|
begin
|
|
begin
|
|
- typecheckpass(callinitblock);
|
|
|
|
- dosimplify(callinitblock);
|
|
|
|
|
|
+ typecheckpass(tnode(callinitblock));
|
|
|
|
+ dosimplify(tnode(callinitblock));
|
|
end;
|
|
end;
|
|
if assigned(callcleanupblock) then
|
|
if assigned(callcleanupblock) then
|
|
begin
|
|
begin
|
|
- typecheckpass(callcleanupblock);
|
|
|
|
- dosimplify(callcleanupblock);
|
|
|
|
|
|
+ typecheckpass(tnode(callcleanupblock));
|
|
|
|
+ dosimplify(tnode(callcleanupblock));
|
|
end;
|
|
end;
|
|
|
|
|
|
{ Continue with checking a normal call or generate the inlined code }
|
|
{ Continue with checking a normal call or generate the inlined code }
|
|
@@ -2885,7 +2885,7 @@ implementation
|
|
check_stack_parameters;
|
|
check_stack_parameters;
|
|
|
|
|
|
if assigned(callinitblock) then
|
|
if assigned(callinitblock) then
|
|
- firstpass(callinitblock);
|
|
|
|
|
|
+ firstpass(tnode(callinitblock));
|
|
|
|
|
|
{ function result node (tempref or simple load) }
|
|
{ function result node (tempref or simple load) }
|
|
if assigned(funcretnode) then
|
|
if assigned(funcretnode) then
|
|
@@ -2904,7 +2904,7 @@ implementation
|
|
firstpass(methodpointer);
|
|
firstpass(methodpointer);
|
|
|
|
|
|
if assigned(callcleanupblock) then
|
|
if assigned(callcleanupblock) then
|
|
- firstpass(callcleanupblock);
|
|
|
|
|
|
+ firstpass(tnode(callcleanupblock));
|
|
|
|
|
|
if not (block_type in [bt_const,bt_type,bt_const_type,bt_var_type]) then
|
|
if not (block_type in [bt_const,bt_type,bt_const_type,bt_var_type]) then
|
|
include(current_procinfo.flags,pi_do_call);
|
|
include(current_procinfo.flags,pi_do_call);
|
|
@@ -3358,9 +3358,9 @@ implementation
|
|
{ consider it must not be inlined if called
|
|
{ consider it must not be inlined if called
|
|
again inside the args or itself }
|
|
again inside the args or itself }
|
|
exclude(procdefinition.procoptions,po_inline);
|
|
exclude(procdefinition.procoptions,po_inline);
|
|
- typecheckpass(inlineblock);
|
|
|
|
- dosimplify(inlineblock);
|
|
|
|
- firstpass(inlineblock);
|
|
|
|
|
|
+ typecheckpass(tnode(inlineblock));
|
|
|
|
+ dosimplify(tnode(inlineblock));
|
|
|
|
+ firstpass(tnode(inlineblock));
|
|
include(procdefinition.procoptions,po_inline);
|
|
include(procdefinition.procoptions,po_inline);
|
|
result:=inlineblock;
|
|
result:=inlineblock;
|
|
|
|
|