This changes demangle_parse_info to use inline initializers and to
remove some manual memory management.
Approved-By: John Baldwin <jhb@FreeBSD.org>
return gdb::unique_xmalloc_ptr<char> (res);
}
-/* Constructor for demangle_parse_info. */
-
-demangle_parse_info::demangle_parse_info ()
-: info (NULL),
- tree (NULL)
-{
- obstack_init (&obstack);
-}
-
/* Destructor for demangle_parse_info. */
demangle_parse_info::~demangle_parse_info ()
free (info);
info = next;
}
-
- /* Free any memory allocated during typedef replacement. */
- obstack_free (&obstack, NULL);
}
/* Merge the two parse trees given by DEST and SRC. The parse tree
struct demangle_parse_info
{
- demangle_parse_info ();
+ demangle_parse_info () = default;
~demangle_parse_info ();
/* The memory used during the parse. */
- struct demangle_info *info;
+ struct demangle_info *info = nullptr;
/* The result of the parse. */
- struct demangle_component *tree;
+ struct demangle_component *tree = nullptr;
/* Any temporary memory used during typedef replacement. */
- struct obstack obstack;
+ auto_obstack obstack;
};