another bug fix
authorroot <root>
Wed, 20 Aug 2008 22:56:46 +0000 (22:56 +0000)
committerroot <root>
Wed, 20 Aug 2008 22:56:46 +0000 (22:56 +0000)
Robust/src/IR/Flat/BuildCode.java

index 52ac05e7ff41bc06f2dfccd5314780310c838d6e..6e1641fd63cabd88ffc85e6f1acf8723755c6bf0 100644 (file)
@@ -1987,7 +1987,7 @@ public class BuildCode {
       String dst=generateTemp(fm,fsfn.getDst(),lb);
       if (srcglobal) {
        output.println("{");
-       output.println("int srcoid=(int)"+src+"->"+oidstr+";");
+       output.println("int srcoid="+src+"!=NULL?((int)"+src+"->"+oidstr+"):0);");
       }
       if (statusdst.equals(LocalityAnalysis.GLOBAL)) {
        String glbdst=dst;
@@ -2119,7 +2119,7 @@ public class BuildCode {
       if (srcglobal) {
        output.println("{");
        String src=generateTemp(fm, fsen.getSrc(), lb);
-       output.println("int srcoid=(int)"+src+"->"+oidstr+";");
+       output.println("int srcoid="+src+"!=NULL?((int)"+src+"->"+oidstr+"):0);");
        output.println("((int*)(((char *) &("+ generateTemp(fm,fsen.getDst(),lb)+"->___length___))+sizeof(int)))["+generateTemp(fm, fsen.getIndex(),lb)+"]=srcoid;");
        output.println("}");
       } else {