From 65757d128e7cff52e43cd4c507fa1af9822f25e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Thu, 31 Aug 2000 23:57:13 +0200 Subject: [PATCH] Fixed possible bug in optimizer. Improved optimization of return statements. Rev: src/las.c:1.201 --- src/las.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/las.c b/src/las.c index de1da89dff..54538132dc 100644 --- a/src/las.c +++ b/src/las.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: las.c,v 1.200 2000/08/31 14:16:55 grubba Exp $"); +RCSID("$Id: las.c,v 1.201 2000/08/31 21:57:13 grubba Exp $"); #include "language.h" #include "interpret.h" @@ -3931,13 +3931,15 @@ static void optimize(node *n) if(n->tree_info & (OPT_NOT_CONST| OPT_SIDE_EFFECT| OPT_EXTERNAL_DEPEND| - OPT_ASSIGNMENT)) + OPT_ASSIGNMENT| + OPT_RETURN)) { if(car_is_node(n) && !(CAR(n)->tree_info & (OPT_NOT_CONST| OPT_SIDE_EFFECT| OPT_EXTERNAL_DEPEND| - OPT_ASSIGNMENT)) && + OPT_ASSIGNMENT| + OPT_RETURN)) && (CAR(n)->tree_info & OPT_TRY_OPTIMIZE) && CAR(n)->token != ':') { @@ -3958,7 +3960,8 @@ static void optimize(node *n) !(CDR(n)->tree_info & (OPT_NOT_CONST| OPT_SIDE_EFFECT| OPT_EXTERNAL_DEPEND| - OPT_ASSIGNMENT)) && + OPT_ASSIGNMENT| + OPT_RETURN)) && (CDR(n)->tree_info & OPT_TRY_OPTIMIZE) && CDR(n)->token != ':') { -- GitLab