+/* Initializes NEW as a copy of OLD. */
+static void
+init_list_clone (struct init_list *new, const struct init_list *old)
+{
+ size_t i;
+
+ new->values = xmemdup (old->values, old->cnt * sizeof *old->values);
+ new->cnt = old->cnt;
+
+ for (i = 0; i < new->cnt; i++)
+ {
+ struct init_value *iv = &new->values[i];
+ value_clone (&iv->value, &iv->value, iv->width);
+ }
+}
+