changes
authorbdemsky <bdemsky>
Wed, 20 Aug 2008 00:59:14 +0000 (00:59 +0000)
committerbdemsky <bdemsky>
Wed, 20 Aug 2008 00:59:14 +0000 (00:59 +0000)
Robust/src/IR/Flat/BuildCode.java
Robust/src/IR/Flat/FlatGlobalConvNode.java

index 298c4084cd5c6e517900bc16c86bc98e3cf4c1bd..52ac05e7ff41bc06f2dfccd5314780310c838d6e 100644 (file)
@@ -1670,7 +1670,11 @@ public class BuildCode {
       output.println(generateTemp(fm, fgcn.getSrc(),lb)+"=(void *)transRead(trans, (unsigned int) "+generateTemp(fm, fgcn.getSrc(),lb)+");");
     } else {
       /* Need to convert to OID */
-      output.println(generateTemp(fm, fgcn.getSrc(),lb)+"=(void *)COMPOID("+generateTemp(fm, fgcn.getSrc(),lb)+");");
+      if (fgcn.doConvert()) {
+       output.println(generateTemp(fm, fgcn.getSrc(),lb)+"=(void *)COMPOID("+generateTemp(fm, fgcn.getSrc(),lb)+");");
+      } else {
+       output.println(generateTemp(fm, fgcn.getSrc(),lb)+"=NULL;");
+      }
     }
   }
 
index d3b5d107a6ef28ec83cf9ec857a0558c951e069c..d536ad6af3d3f229cc21f924d35540b64043ef66 100644 (file)
@@ -6,6 +6,7 @@ public class FlatGlobalConvNode extends FlatNode {
   TempDescriptor src;
   LocalityBinding lb;
   boolean makePtr;
+  boolean doactualconvert=true;
 
   public FlatGlobalConvNode(TempDescriptor src, LocalityBinding lb, boolean makePtr) {
     this.src=src;
@@ -13,6 +14,17 @@ public class FlatGlobalConvNode extends FlatNode {
     this.makePtr=makePtr;
   }
 
+  public FlatGlobalConvNode(TempDescriptor src, LocalityBinding lb, boolean makePtr, boolean doactualconvert) {
+    this.src=src;
+    this.lb=lb;
+    this.makePtr=makePtr;
+    this.convert=doactualconvert;
+  }
+
+  boolean doConvert() {
+    return convert;
+  }
+
   public String toString() {
     String str = "FlatGlobalConvNode_"+src.toString();
     if (makePtr)