aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/ssa.cpp
diff options
context:
space:
mode:
authorgingerBill <ginger.bill.22@gmail.com>2016-08-22 11:52:49 +0100
committergingerBill <ginger.bill.22@gmail.com>2016-08-22 11:52:49 +0100
commita98e93f03f7bd62ebf589b473c61ab5daf37f02c (patch)
tree9ff40a1d753d552425bed795d0a07193a6d4a01b /src/codegen/ssa.cpp
parent680274b6f1f1e36e27c94b4e60895338d413c84a (diff)
File Library and TypeDecl syntax change
Diffstat (limited to 'src/codegen/ssa.cpp')
-rw-r--r--src/codegen/ssa.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/codegen/ssa.cpp b/src/codegen/ssa.cpp
index 7760b725e..0d9780e74 100644
--- a/src/codegen/ssa.cpp
+++ b/src/codegen/ssa.cpp
@@ -811,9 +811,10 @@ void ssa_emit_defer_stmts(ssaProcedure *proc, ssaDeferKind kind, ssaBlock *block
while (i --> 0) {
ssaDefer d = proc->defer_stmts[i];
if (kind == ssaDefer_Return) {
- ssa_build_defer_stmt(proc, d);
+ ssa_build_defer_stmt(proc, d);
} else if (kind == ssaDefer_Default) {
- if (proc->scope_index == d.scope_index) {
+ if (proc->scope_index == d.scope_index &&
+ d.scope_index > 1) {
ssa_build_defer_stmt(proc, d);
gb_array_pop(proc->defer_stmts);
continue;