summaryrefslogtreecommitdiff
path: root/compiler/optutils.pas
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-04-21 16:53:25 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-04-21 16:53:25 +0000
commit5a2b7331e28eb42e332dfe04bee982688fede09e (patch)
treefa9384d0e4f00443551550cd690897d18c7ce606 /compiler/optutils.pas
parent466d6e65037f0d209d2fd61460e95e34c1071d1c (diff)
downloadfpc-5a2b7331e28eb42e332dfe04bee982688fede09e.tar.gz
+ introduce cnf_call_never_returns to signal the dfa if a call node never returns
* get rid of tcgraisenode.pass_generate_code, it is replaced by compiler proc. call nodes generated in pass_1 git-svn-id: http://svn.freepascal.org/svn/fpc/branches/i8086@24288 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/optutils.pas')
-rw-r--r--compiler/optutils.pas5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/optutils.pas b/compiler/optutils.pas
index 2cca995efc..a82286274a 100644
--- a/compiler/optutils.pas
+++ b/compiler/optutils.pas
@@ -52,7 +52,7 @@ unit optutils;
uses
verbose,
optbase,
- nbas,nflw,nutils,nset;
+ ncal,nbas,nflw,nutils,nset;
function TIndexedNodeSet.Add(node : tnode) : boolean;
var
@@ -264,7 +264,8 @@ unit optutils;
begin
{ not sure if this is enough (FK) }
result:=p;
- p.successor:=succ;
+ if not(cnf_call_never_returns in tcallnode(p).callnodeflags) then
+ p.successor:=succ;
end;
inlinen:
begin