/* Lists of symbols for Bison
- Copyright (C) 2002, 2005-2007, 2009-2012 Free Software Foundation,
+ Copyright (C) 2002, 2005-2007, 2009-2013 Free Software Foundation,
Inc.
This file is part of Bison, the GNU Compiler Compiler.
for (/* Nothing. */; l && l->content.sym; l = l->next)
{
symbol_print (l->content.sym, f);
- fprintf (stderr, l->action_props.is_value_used ? " used" : " unused");
+ fprintf (f, l->action_props.is_value_used ? " used" : " unused");
if (l && l->content.sym)
fprintf (f, ", ");
}
}
+/*-------------------------.
+| Append NODE to the LIST. |
+`-------------------------*/
+
+symbol_list *
+symbol_list_append (symbol_list *list, symbol_list *node)
+{
+ if (!list)
+ return node;
+ symbol_list *next = list;
+ while (next->next)
+ next = next->next;
+ next->next = node;
+ return list;
+}
+
+
/*-----------------------------------------------.
| Free the LIST, but not the items it contains. |
`-----------------------------------------------*/
{
next = node->next;
named_ref_free (node->named_ref);
+ if (node->content_type == SYMLIST_TYPE)
+ free (node->content.sem_type);
free (node);
}
}
l = symbol_list_n_get (l, n);
if (!l)
{
- complain_at (loc, complaint, _("invalid $ value: $%d"), n);
+ complain (&loc, complaint, _("invalid $ value: $%d"), n);
return NULL;
}
aver (l->content_type == SYMLIST_SYMBOL);