From: bdemsky Date: Mon, 19 Oct 2009 22:42:03 +0000 (+0000) Subject: fix bug for jim X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=c550876cb208302bd5cc7d6015663bde0ba3834e;p=IRC.git fix bug for jim --- diff --git a/Robust/src/IR/Flat/BuildFlat.java b/Robust/src/IR/Flat/BuildFlat.java index 4c58a088..a895190a 100644 --- a/Robust/src/IR/Flat/BuildFlat.java +++ b/Robust/src/IR/Flat/BuildFlat.java @@ -121,7 +121,28 @@ public class BuildFlat { fn.addNext(rnflat); } else { TempDescriptor tmp=TempDescriptor.tempFactory("rettmp",currmd.getReturnType()); - Object o=currmd.getReturnType().isPtr()?null:new Integer(1); + Object o=null; + if (currmd.getReturnType().isPtr()) { + o=null; + } else if (currmd.getReturnType().isByte()) { + o=new Byte((byte)0); + } else if (currmd.getReturnType().isShort()) { + o=new Short((short)0); + } else if (currmd.getReturnType().isChar()) { + o=new Character('\0'); + } else if (currmd.getReturnType().isInt()) { + o=new Integer(0); + } else if (currmd.getReturnType().isLong()) { + o=new Long(0); + } else if (currmd.getReturnType().isBoolean()) { + o=new Boolean(false); + } else if (currmd.getReturnType().isFloat()) { + o=new Float(0.0); + } else if (currmd.getReturnType().isDouble()) { + o=new Double(0.0); + } + + FlatLiteralNode fln=new FlatLiteralNode(currmd.getReturnType(),o,tmp); rnflat=new FlatReturnNode(tmp); fln.addNext(rnflat);