diff options
author | Tom Tromey <tom@tromey.com> | 2017-04-28 22:43:54 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2017-08-03 07:58:59 -0600 |
commit | b3bc84537bc6de78e2bbd550ce9c57dd4b7e2ec6 (patch) | |
tree | 26d6e6f337d8b20f02876c2b36b990b4a1a5c6fc /gdb/solist.h | |
parent | e3ad2841b1c75837a901618651fed23013643e3f (diff) | |
download | gdb-b3bc84537bc6de78e2bbd550ce9c57dd4b7e2ec6.zip gdb-b3bc84537bc6de78e2bbd550ce9c57dd4b7e2ec6.tar.gz gdb-b3bc84537bc6de78e2bbd550ce9c57dd4b7e2ec6.tar.bz2 |
Remove make_cleanup_free_so
make_cleanup_free_so is used in a single spot. This patch introduces
a unique pointer wrapper for struct so_list, and changes this spot to
use it.
ChangeLog
2017-08-03 Tom Tromey <tom@tromey.com>
* utils.h (make_cleanup_free_so): Remove.
* utils.c (do_free_so, make_cleanup_free_so): Remove.
* solist.h (struct so_deleter): New.
(so_list_up): New typedef.
* solib-svr4.c (svr4_read_so_list): Use so_list_up.
Diffstat (limited to 'gdb/solist.h')
-rw-r--r-- | gdb/solist.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/solist.h b/gdb/solist.h index 54c9902..5eb2d39 100644 --- a/gdb/solist.h +++ b/gdb/solist.h @@ -179,6 +179,18 @@ struct target_so_ops /* Free the memory associated with a (so_list *). */ void free_so (struct so_list *so); +/* A deleter that calls free_so. */ +struct so_deleter +{ + void operator() (struct so_list *so) const + { + free_so (so); + } +}; + +/* A unique pointer to a so_list. */ +typedef std::unique_ptr<so_list, so_deleter> so_list_up; + /* Return address of first so_list entry in master shared object list. */ struct so_list *master_so_list (void); |