Branch: Tag:

2000-09-28

2000-09-28 16:26:01 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Fix for infinite loop in optimizer.

Rev: src/las.c:1.217

5:   \*/   /**/   #include "global.h" - RCSID("$Id: las.c,v 1.216 2000/09/26 22:19:03 hubbe Exp $"); + RCSID("$Id: las.c,v 1.217 2000/09/28 16:26:01 grubba Exp $");      #include "language.h"   #include "interpret.h"
4193: Inside #if defined(SHARED_NODES) and #if undefined(IN_TPIKE)
   tmp1 = freeze_node(n);    if (tmp1 != n) {    /* n was a duplicate node. Use the original. */ +  /* Make sure the original isn't defrosted too. */ +  tmp1->node_info &= ~OPT_DEFROSTED;    goto use_tmp1;    }    /* Remove the extra ref from n */    free_node(n); - #else /* IN_TPIKE */ -  n->node_info &= ~OPT_DEFROSTED; +    #endif /* !IN_TPIKE */ -  +  n->node_info &= ~OPT_DEFROSTED;    if (n->node_info & OPT_OPTIMIZED) {    /* No need to check this node any more. */    n = n->parent;