Change ada_catchpoint::excep_string to be a std::string
authorTom Tromey <tom@tromey.com>
Fri, 18 May 2018 21:58:50 +0000 (15:58 -0600)
committerTom Tromey <tom@tromey.com>
Mon, 21 May 2018 16:01:15 +0000 (10:01 -0600)
commitbc18fbb575437dd10089ef4619e46c0b9a93097d
tree5c8e5faadb12df5d81e216e08f9b0fcb91e83191
parent790217f6736cc0f0a177a681ba1c7cc5f995cfe7
Change ada_catchpoint::excep_string to be a std::string

This changes ada_catchpoint::excep_string to be a std::string and then
fixes up all t he users.

This found a memory leak in catch_ada_exception_command_split, where
"cond" was copied but never freed.

I changed the type of the "cond_string" argument to
catch_ada_exception_command_split to follow the rule that out
parameters should be pointers and not references.

This patch enables the removal of some cleanups and also the function
ada_get_next_arg.

ChangeLog
2018-05-21  Tom Tromey  <tom@tromey.com>

* mi/mi-cmd-catch.c (mi_cmd_catch_assert)
(mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
* ada-lang.h (create_ada_exception_catchpoint): Update.
* ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
std::string.
(create_excep_cond_exprs, ~ada_catchpoint)
(should_stop_exception, print_one_exception)
(print_mention_exception, print_recreate_exception): Update.
(ada_get_next_arg): Remove.
(catch_ada_exception_command_split): Use std::string.  Change type
of "excep_string", "cond_string".
(catch_ada_exception_command): Update.
(create_ada_exception_catchpoint): Change type of excep_string.
(ada_exception_sal): Remove excep_string parameter.
(~ada_catchpoint): Remove.
gdb/ChangeLog
gdb/ada-lang.c
gdb/ada-lang.h
gdb/mi/mi-cmd-catch.c