diff --git a/src/codegen.c b/src/codegen.c index 43ec0e6a..5226d010 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -264,7 +264,7 @@ analyze(analyze_state *state, pic_value obj, bool tailpos) tag = pic_sym(pic_car(pic, res)); if (tailpos) { - if (tag == pic->sIF || tag == pic->sBEGIN || tag == state->sTAILCALL) { + if (tag == pic->sIF || tag == pic->sBEGIN || tag == state->sTAILCALL || tag == state->sRETURN) { /* pass through */ } else {