diff --git a/frontends/spin/spinlang.c b/frontends/spin/spinlang.c index 6099dd3a1..1dbab499d 100644 --- a/frontends/spin/spinlang.c +++ b/frontends/spin/spinlang.c @@ -560,7 +560,7 @@ doSpinTransform(AST **astptr, int level, AST *parent) // and can't differentiate a normal return from an abort. if (gl_output != OUTPUT_BYTECODE /*|| gl_interp_kind == INTERP_KIND_NUCODE */ ) { AST *defaultval = IsSpin2Lang(curfunc->language) ? - AstInteger(0) : ast->left; + AstOperator(K_BOOL_AND,ast->left,AstInteger(0)) : ast->left; curfunc->force_locals_to_stack = 1; // if we do a catch we will want data on stack AstReportAs(ast, &saveinfo); // any newly created AST nodes should reflect debug info from this one *astptr = ast = NewAST(AST_TRYENV,