From c550876cb208302bd5cc7d6015663bde0ba3834e Mon Sep 17 00:00:00 2001 From: bdemsky Date: Mon, 19 Oct 2009 22:42:03 +0000 Subject: [PATCH] fix bug for jim --- Robust/src/IR/Flat/BuildFlat.java | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) 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); -- 2.34.1