git-svn-id: trunk@31038 -
@@ -737,9 +737,24 @@ implementation
p := tunarynode(p).left;
end;
labeln,
- blockn,
- callparan:
+ blockn:
+ callparan:
+ begin
+ { call to decr? }
+ if is_managed_type(tunarynode(p).left.resultdef) and (tcallparanode(p).parasym.varspez=vs_out) then
+ result:=NODE_COMPLEXITY_INF;
+ exit;
+ end
+ else
+ inc(result);
+ if (result = NODE_COMPLEXITY_INF) then
+ p := tunarynode(p).left;
+ end;
notn,
derefn :
begin