[PATCH v2 7/8] Add $_ada_exception convenience variable

Eli Zaretskii eliz@gnu.org
Thu Aug 1 17:56:00 GMT 2019


> From: Tom Tromey <tromey@adacore.com>
> Cc: Tom Tromey <tromey@adacore.com>
> Date: Thu,  1 Aug 2019 11:04:11 -0600
> 
> This adds the $_ada_exception convenience variable.  It is set by the
> Ada exception catchpoints, and holds the address of the exception
> currently being thrown.  This is useful because it allows more
> fine-grained filtering of exceptions than is possible using the
> existing "catch" syntax.
> 
> This also simplifies Ada catchpoints somewhat; because the catchpoint
> must now carry the "kind", it's possible to remove many helper
> functions.
> 
> 2019-08-01  Tom Tromey  <tromey@adacore.com>
> 
> 	* NEWS: Add $_ada_exception entry.
> 	* ada-lang.c (struct ada_catchpoint): Add constructor.
> 	<m_kind>: New member.
> 	(allocate_location_exception, re_set_exception): Remove
> 	"ex" parameter.
> 	(should_stop_exception): Compute $_ada_exception.
> 	(check_status_exception, print_it_exception)
> 	(print_one_exception, print_mention_exception): Remove
> 	"ex" parameter.
> 	(allocate_location_catch_exception, re_set_catch_exception)
> 	(check_status_exception, print_it_catch_exception)
> 	(print_one_catch_exception, print_mention_catch_exception)
> 	(print_recreate_catch_exception)
> 	(allocate_location_catch_exception_unhandled)
> 	(re_set_catch_exception_unhandled)
> 	(check_status_exception, print_it_catch_exception_unhandled)
> 	(print_one_catch_exception_unhandled)
> 	(print_mention_catch_exception_unhandled)
> 	(print_recreate_catch_exception_unhandled)
> 	(allocate_location_catch_assert, re_set_catch_assert)
> 	(check_status_assert, print_it_catch_assert)
> 	(print_one_catch_assert, print_mention_catch_assert)
> 	(print_recreate_catch_assert)
> 	(allocate_location_catch_handlers, re_set_catch_handlers)
> 	(check_status_handlers, print_it_catch_handlers)
> 	(print_one_catch_handlers, print_mention_catch_handlers)
> 	(print_recreate_catch_handlers): Remove.
> 	(create_ada_exception_catchpoint): Update.
> 	(initialize_ada_catchpoint_ops): Update.
> 
> gdb/doc/ChangeLog
> 2019-08-01  Tom Tromey  <tromey@adacore.com>
> 
> 	* gdb.texinfo (Set Catchpoints, Convenience Vars): Document
> 	$_ada_exception.
> 
> gdb/testsuite/ChangeLog
> 2019-08-01  Tom Tromey  <tromey@adacore.com>
> 
> 	* gdb.ada/catch_ex_std.exp: Add $_ada_exception test.

Thanks.  The documentation parts are approved, but I wonder whether we
should index this new variable, as others are indexed.



More information about the Gdb-patches mailing list