+ /* If the original DIE was a specification, we need to put + the skeleton under the parent DIE of the declaration. */ + if (new_parent != NULL) + { + remove_child_with_prev (child, prev); + add_child_die (new_parent, skeleton); + }
This adds a new declaration without removing the old one, though it's later removed by prune_unused_types.
It also seems to me that copy_declaration_context and remove_child_or_replace_with_skeleton should be combined if they need to work together like this.
Jason