From: bdemsky Date: Wed, 19 Dec 2007 21:00:03 +0000 (+0000) Subject: correction X-Git-Tag: preEdgeChange~331 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1bb54b22f19966d5c5ae1298e21e1d23d75a3e16;p=IRC.git correction --- diff --git a/Robust/src/Analysis/Locality/LocalityAnalysis.java b/Robust/src/Analysis/Locality/LocalityAnalysis.java index 7a6d589c..8a4907b0 100644 --- a/Robust/src/Analysis/Locality/LocalityAnalysis.java +++ b/Robust/src/Analysis/Locality/LocalityAnalysis.java @@ -469,7 +469,7 @@ public class LocalityAnalysis { if (srctype.equals(LOCAL) && fsfn.getField().getType().isPrimitive()) return; if (!(srctype.equals(GLOBAL)||srctype.equals(EITHER))) - throw new Error("Writing possible local reference to global object in context:\n"+lb.getExplanation()); + throw new Error("Writing possible local reference to global object in context:\n"+lb.getExplanation()+" for FlatFieldNode "+fsfn); } else if (dsttype.equals(EITHER)) { if (srctype.equals(CONFLICT)) throw new Error("Using reference that could be local or global in context:\n"+lb.getExplanation()); @@ -490,6 +490,10 @@ public class LocalityAnalysis { void processOpNode(FlatOpNode fon, Hashtable currtable) { /* Just propagate value */ + Integer srcvalue=currtable.get(fon.getLeft()); + if (srcvalue==null) { + throw new Error(fon.getLeft()+" is undefined!"); + } currtable.put(fon.getDest(), currtable.get(fon.getLeft())); } diff --git a/Robust/src/IR/Tree/BuildIR.java b/Robust/src/IR/Tree/BuildIR.java index da609565..3c9847d0 100644 --- a/Robust/src/IR/Tree/BuildIR.java +++ b/Robust/src/IR/Tree/BuildIR.java @@ -414,7 +414,7 @@ public class BuildIR { return con; } else if (isNode(pn,"createarray")) { //System.out.println(pn.PPrint(3,true)); - boolean isglobal=pn.getChild("createarray")!=null; + boolean isglobal=pn.getChild("global")!=null; TypeDescriptor td=parseTypeDescriptor(pn); Vector args=parseDimExprs(pn); int num=0;