This patch makes lm_info_windows a "real" class. It initializes the field
and replaces XCNEW/xfree with new/delete.
gdb/ChangeLog:
* windows-nat.c (struct lm_info_windows): Initialize field.
(windows_make_so): Allocate lm_info_windows with new.
(windows_free_so): Free lm_info_windows with delete.
+2017-04-28 Simon Marchi <simon.marchi@ericsson.com>
+
+ * windows-nat.c (struct lm_info_windows): Initialize field.
+ (windows_make_so): Allocate lm_info_windows with new.
+ (windows_free_so): Free lm_info_windows with delete.
+
2017-04-28 Simon Marchi <simon.marchi@ericsson.com>
* solib-darwin.c (struct lm_info_darwin): Initialize field.
/* Maintain a linked list of "so" information. */
struct lm_info_windows : public lm_info_base
{
- LPVOID load_addr;
+ LPVOID load_addr = 0;
};
static struct so_list solib_start, *solib_end;
}
#endif
so = XCNEW (struct so_list);
- lm_info_windows *li = XCNEW (struct lm_info_windows);
+ lm_info_windows *li = new lm_info_windows;
so->lm_info = li;
li->load_addr = load_addr;
strcpy (so->so_original_name, name);
static void
windows_free_so (struct so_list *so)
{
- if (so->lm_info)
- xfree (so->lm_info);
+ lm_info_windows *li = (lm_info_windows *) so->lm_info;
+
+ delete li;
xfree (so);
}