summaryrefslogtreecommitdiff
path: root/src/spiglet/spiglet2kanga/SpgExpr.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/spiglet/spiglet2kanga/SpgExpr.java')
-rw-r--r--src/spiglet/spiglet2kanga/SpgExpr.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/spiglet/spiglet2kanga/SpgExpr.java b/src/spiglet/spiglet2kanga/SpgExpr.java
index 9f5fef9..a93601d 100644
--- a/src/spiglet/spiglet2kanga/SpgExpr.java
+++ b/src/spiglet/spiglet2kanga/SpgExpr.java
@@ -55,15 +55,22 @@ public class SpgExpr extends SpgSym {
public HashSet<SpgTemp> getTmpUsed() {
HashSet<SpgTemp> s = new HashSet<SpgTemp>();
+ HashSet<SpgTemp> stmp;
switch (type) {
case ALLOC:
return se.getTmpUsed();
case BinOp:
s.add(oprand);
- s.addAll(se.getTmpUsed());
+ stmp = se.getTmpUsed();
+ if (stmp!=null) {
+ s.addAll(se.getTmpUsed());
+ }
return s;
case CALL:
- s.addAll(se.getTmpUsed());
+ stmp = se.getTmpUsed();
+ if (stmp!=null) {
+ s.addAll(se.getTmpUsed());
+ }
s.addAll(callParams);
return s;
case Simple: