-/*-------------------------------------------------.
-| Free the LIST, but not the symbols it contains. |
-`-------------------------------------------------*/
+/*---------------------------------------.
+| Create a list containing a <> at LOC. |
+`---------------------------------------*/
+
+symbol_list *
+symbol_list_default_tagless_new (location loc)
+{
+ symbol_list *res = xmalloc (sizeof *res);
+
+ res->content_type = SYMLIST_DEFAULT_TAGLESS;
+ res->location = loc;
+ res->next = NULL;
+
+ return res;
+}
+
+
+/*-----------------------------------------------------------------------.
+| Print this list, for which every content_type must be SYMLIST_SYMBOL. |
+`-----------------------------------------------------------------------*/
+
+void
+symbol_list_syms_print (const symbol_list *l, FILE *f)
+{
+ 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");
+ if (l && l->content.sym)
+ fprintf (f, ", ");
+ }
+}
+
+
+/*---------------------------.
+| Prepend NODE to the LIST. |
+`---------------------------*/
+
+symbol_list *
+symbol_list_prepend (symbol_list *list, symbol_list *node)
+{
+ node->next = list;
+ return node;
+}
+
+
+/*-----------------------------------------------.
+| Free the LIST, but not the items it contains. |
+`-----------------------------------------------*/