]> git.saurik.com Git - bison.git/blobdiff - src/reader.c
fix for printers and destructors.
[bison.git] / src / reader.c
index 27ddad0835422b13bf7e9fdc7df7b69b1428c5cc..c456cbff17c130ad57e0c8e72210035d9a5d3f1c 100644 (file)
@@ -257,7 +257,7 @@ grammar_current_rule_begin (symbol *lhs, location loc,
 static bool
 symbol_should_be_used (symbol_list const *s, bool *midrule_warning)
 {
-  if (symbol_destructor_get (s->content.sym)->code)
+  if (symbol_code_props_get (s->content.sym, destructor)->code)
     return true;
   if ((s->midrule && s->midrule->action_props.is_value_used)
       || (s->midrule_parent_rule
@@ -470,6 +470,8 @@ grammar_current_rule_symbol_append (symbol *sym, location loc,
   p = grammar_symbol_append (sym, loc);
   if (name)
     assign_named_ref(p, name);
+  if (sym->status == undeclared || sym->status == used)
+    sym->status = needed;
 }
 
 /* Attach an ACTION to the current rule.  */