diff --git a/src/las.c b/src/las.c index de1da89dfffef58d27ecf42356fe695489419473..54538132dc9808e55b684f49d2fbc1ff5fb894ec 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 != ':') {