From: jjenista Date: Thu, 9 Apr 2009 16:26:12 +0000 (+0000) Subject: when inserting FlatExit, consider if task body's block node-node pair ends with a... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=16e864c5a8ffcbf9502b19b9295ed05957e63c23;p=IRC.git when inserting FlatExit, consider if task body's block node-node pair ends with a null node --- diff --git a/Robust/src/IR/Flat/BuildFlat.java b/Robust/src/IR/Flat/BuildFlat.java index 902db427..ce4ad990 100644 --- a/Robust/src/IR/Flat/BuildFlat.java +++ b/Robust/src/IR/Flat/BuildFlat.java @@ -44,10 +44,15 @@ public class BuildFlat { NodePair np=flattenBlockNode(bn); FlatNode fn=np.getBegin(); fe=new FlatExit(); - if (np.getEnd().kind()!=FKind.FlatReturnNode) { + FlatNode fn2=np.getEnd(); + if ( fn2 == null || fn2.kind()!=FKind.FlatReturnNode) { FlatReturnNode rnflat=new FlatReturnNode(null); - np.getEnd().addNext(rnflat); rnflat.addNext(fe); + if( fn2 == null ) { + np.end = rnflat; + } else { + fn2.addNext(rnflat); + } } FlatFlagActionNode ffan=new FlatFlagActionNode(FlatFlagActionNode.PRE);