inferior::~inferior ()
{
- inferior *inf = this;
-
/* Before the inferior is deleted, all target_ops should be popped from
the target stack, this leaves just the dummy_target behind. If this
is not done, then any target left in the target stack will be left
gdb_assert (m_target_stack.top ()->stratum () == dummy_stratum);
m_continuations.clear ();
- target_desc_info_free (inf->tdesc_info);
}
inferior::inferior (int pid_)
/* If the original inferior had a user specified target
description, make the clone use it too. */
- if (target_desc_info_from_user_p (inf->tdesc_info))
+ if (target_desc_info_from_user_p (&inf->tdesc_info))
copy_inferior_target_desc_info (inf, orginf);
clone_program_space (pspace, orginf->pspace);
/* Info about an inferior's target description (if it's fetched; the
user supplied description's filename, if any; etc.). */
- target_desc_info *tdesc_info = NULL;
+ target_desc_info tdesc_info;
/* The architecture associated with the inferior through the
connection to the target.
gdbarch_register_reggroup_p_ftype *pseudo_register_reggroup_p = NULL;
};
-/* Get the inferior INF's target description info, allocating one on
- the stop if necessary. */
+/* Get the inferior INF's target description info. */
static struct target_desc_info *
get_tdesc_info (struct inferior *inf)
{
- if (inf->tdesc_info == NULL)
- inf->tdesc_info = new target_desc_info;
-
- return inf->tdesc_info;
+ return &inf->tdesc_info;
}
/* A handle for architecture-specific data associated with the
*dest = *src;
}
-/* See target-descriptions.h. */
-
-void
-target_desc_info_free (struct target_desc_info *tdesc_info)
-{
- delete tdesc_info;
-}
-
/* The string manipulated by the "set tdesc filename ..." command. */
static std::string tdesc_filename_cmd_string;
void copy_inferior_target_desc_info (struct inferior *destinf,
struct inferior *srcinf);
-/* Free a target_desc_info object. */
-
-void target_desc_info_free (struct target_desc_info *tdesc_info);
-
/* Returns true if INFO indicates the target description had been
supplied by the user. */