From: bdemsky <bdemsky>
Date: Thu, 12 Apr 2007 14:47:53 +0000 (+0000)
Subject: changes
X-Git-Tag: preEdgeChange~632
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0df27646da8774841bb5a1f0d81fd195d6daf6fe;p=IRC.git

changes
---

diff --git a/Robust/src/IR/Flat/BuildFlat.java b/Robust/src/IR/Flat/BuildFlat.java
index f5730635..088e9c2e 100644
--- a/Robust/src/IR/Flat/BuildFlat.java
+++ b/Robust/src/IR/Flat/BuildFlat.java
@@ -42,7 +42,11 @@ public class BuildFlat {
 	FlatMethod fm=new FlatMethod(td, ffan);
 
 	for(int i=0;i<td.numParameters();i++) {
-	    fm.addParameterTemp(getTempforVar(td.getParameter(i)));
+	    VarDescriptor paramvd=td.getParameter(i);
+	    fm.addParameterTemp(getTempforVar(paramvd));
+	    //Don't need to get temps for tag variables
+	    //If they are used, this will be done automatically
+	    //If they aren't we won't pass them in
 	}
 
 	/* Flatten Vector of Flag Effects */
diff --git a/Robust/src/IR/TaskDescriptor.java b/Robust/src/IR/TaskDescriptor.java
index 2e3d2deb..2478d217 100644
--- a/Robust/src/IR/TaskDescriptor.java
+++ b/Robust/src/IR/TaskDescriptor.java
@@ -52,12 +52,13 @@ public class TaskDescriptor extends Descriptor {
 	    tagstable.put(vd, tel);
 	    for(int i=0;i<tel.numTags();i++) {
 		TagVarDescriptor tvd=new TagVarDescriptor(new TagDescriptor(tel.getType(i)), tel.getName(i));
-		if (!(paramtable.getFromSameScope(tel.getName(i)) instanceof TagVarDescriptor))
+		if (paramtable.getFromSameScope(tel.getName(i))==null) {
+		    paramtable.add(tvd);
+		} else if (!(((paramtable.getFromSameScope(tel.getName(i)) instanceof TagVarDescriptor)&&paramtable.getFromSameScope(tel.getName(i))).equals(tvd))) 
 		    throw new Error("Parameter "+paramname+" already defined");
-		paramtable.add(tvd);
 	    }
 	}
-
+	
 	if (paramtable.getFromSameScope(paramname)!=null) {
 	    throw new Error("Parameter "+paramname+" already defined");
 	}
diff --git a/Robust/src/IR/Tree/TagExpressionList.java b/Robust/src/IR/Tree/TagExpressionList.java
index 44c03119..77eb9670 100644
--- a/Robust/src/IR/Tree/TagExpressionList.java
+++ b/Robust/src/IR/Tree/TagExpressionList.java
@@ -1,13 +1,16 @@
 package IR.Tree;
 import java.util.Vector;
+import IR.Flat.TempDescriptor;
 
 public class TagExpressionList {
     Vector names;
     Vector types;
+    Vector temps;
 
     public TagExpressionList() {
 	names=new Vector();
 	types=new Vector();
+	temps=new Vector();
     }
     
     public void addTag(String type, String name) {