binutils-gdb/gdb/testsuite/gdb.ada
Tom Tromey 37f6a7f456 Add $_ada_exception convenience variable
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.

gdb/ChangeLog
2019-10-02  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-10-02  Tom Tromey  <tromey@adacore.com>

	* gdb.texinfo (Set Catchpoints, Convenience Vars): Document
	$_ada_exception.

gdb/testsuite/ChangeLog
2019-10-02  Tom Tromey  <tromey@adacore.com>

	* gdb.ada/catch_ex_std.exp: Add $_ada_exception test.
2019-10-02 09:53:17 -06:00
..
O2_float_param
access_tagged_param
access_to_packed_array
access_to_unbounded_array
addr_arith
aliased_array
arr_acc_idx_w_gap
arr_arr
arr_enum_idx_w_gap
array_bounds
array_char_idx
array_of_variable_length
array_ptr_renaming
array_return
array_subscript_addr
arraydim
arrayidx
arrayparam
arrayptr
assign_arr
atomic_enum
attr_ref_and_charlit
bad-task-bp-keyword
bias Handle biased types 2019-09-03 10:20:40 -06:00
big_packed_array
bp_c_mixed_case
bp_enum_homonym
bp_fun_addr
bp_inlined_func
bp_on_var
bp_range_type
bp_reset
byte_packed_arr
call_pn
catch_assert_if
catch_ex
catch_ex_std Fix "catch exception" with dynamic linking 2019-04-30 07:32:11 -06:00
char_enum Fix bug with character enumeration literal 2019-08-15 13:42:31 -06:00
char_param
complete
cond_lang
convvar_comp
dgopt Fix latent bug in .debug_names file-name handling 2019-09-10 08:30:45 -06:00
disc_arr_bound
display_nested Allow nested function displays 2019-07-30 12:34:51 -06:00
dot_all
dyn_arrayidx
dyn_loc
dyn_stride
enum_idx_packed
excep_handle
exec_changed
expr_delims
expr_with_funcall
exprs
fin_fun_out
fixed_cmp
fixed_points
float_param
formatted_ref
frame_arg_lang When debugging a mixed Ada/C program using this scenario: 2019-05-08 13:41:54 -04:00
frame_args
fullname_bp
fun_addr
fun_in_declare
fun_overload_menu
fun_renaming
funcall_char
funcall_param
funcall_ptr
funcall_ref
homonym
info_addr_mixed_case
info_auto_lang
info_exc
info_locals_renaming
int_deref
interface
iwide
lang_switch
length_cond Fix crash when setting breakpoint condition 2019-06-19 06:06:02 -06:00
maint_with_ada
mi_catch_assert
mi_catch_ex
mi_catch_ex_hand
mi_dyn_arr
mi_ex_cond
mi_exc_info
mi_interface
mi_ref_changeable Update copyright year range in gdb.ada/mi_ref_changeable testcase 2019-02-23 16:27:30 +04:00
mi_string_access
mi_task_arg
mi_task_info
mi_var_array
mi_var_union
minsyms
mod_from_name
n_arr_bound
nested
notcplusplus
null_array
null_record
operator_bp
optim_drec
out_of_line_in_inlined
packed_array
packed_array_assign Fix bug in assignment to nested packed structure 2019-05-01 08:09:22 -06:00
packed_tagged
pckd_arr_ren
pckd_neg
pkd_arr_elem
pp-rec-component
print_chars Handle biased types 2019-09-03 10:20:40 -06:00
ptr_typedef
ptype_array Fix Ada "ptype" bug with array types 2019-03-18 06:45:16 -06:00
ptype_field
ptype_tagged_param
py_range
py_taft Do not expose stub types to Python 2019-09-26 08:26:12 -06:00
rdv_wait
rec_comp
rec_return
ref_param
ref_tick_size
rename_subscript_param
repeat_dyn
same_component_name
same_enum
scoped_watch
set_pckd_arr_elt
set_wstr
small_reg_param
start
str_binop_equal
str_ref_cmp
str_uninit
sym_print_name
taft_type
tagged
tagged_access
tagged_not_init
task_bp
task_switch_in_core
tasks
tick_last_segv
tick_length_array_enum_idx
type_coercion
unc_arr_ptr_in_var_rec
uninitialized_vars
var_arr_attrs
var_arr_typedef
var_rec_arr
variant_record_packed_array
varsize_limit
vla Fix gdb.ada/vla.exp 2019-06-14 06:53:24 -06:00
watch_arg
watch_minus_l
whatis_array_val
widewide
win_fu_syms
O2_float_param.exp
access_tagged_param.exp
access_to_packed_array.exp
access_to_unbounded_array.exp
addr_arith.exp
aliased_array.exp
arr_acc_idx_w_gap.exp
arr_arr.exp
arr_enum_idx_w_gap.exp
array_bounds.exp
array_char_idx.exp
array_of_variable_length.exp
array_ptr_renaming.exp
array_return.exp
array_subscript_addr.exp
arraydim.exp
arrayidx.exp
arrayparam.exp
arrayptr.exp
assign_1.exp
assign_arr.exp
atomic_enum.exp
attr_ref_and_charlit.exp
bad-task-bp-keyword.exp
bias.exp Handle biased types 2019-09-03 10:20:40 -06:00
big_packed_array.exp
boolean_expr.exp
bp_c_mixed_case.exp
bp_enum_homonym.exp
bp_fun_addr.exp
bp_inlined_func.exp
bp_on_var.exp
bp_range_type.exp
bp_reset.exp
byte_packed_arr.exp
call_pn.exp
catch_assert_if.exp Change Ada catchpoints to be bp_catchpoint 2019-07-10 14:48:53 -06:00
catch_ex.exp Change Ada catchpoints to be bp_catchpoint 2019-07-10 14:48:53 -06:00
catch_ex_std.exp Add $_ada_exception convenience variable 2019-10-02 09:53:17 -06:00
char_enum.exp Fix bug with character enumeration literal 2019-08-15 13:42:31 -06:00
char_param.exp
complete.exp Fix failure in gdb.ada/complete.exp 2019-05-29 10:06:13 -06:00
cond_lang.exp
convvar_comp.exp
dgopt.exp Fix latent bug in .debug_names file-name handling 2019-09-10 08:30:45 -06:00
disc_arr_bound.exp
display_nested.exp Allow nested function displays 2019-07-30 12:34:51 -06:00
dot_all.exp
dyn_arrayidx.exp
dyn_loc.exp
dyn_stride.exp
enum_idx_packed.exp
excep_handle.exp
exec_changed.exp
expr_delims.exp
expr_with_funcall.exp
exprs.exp
fin_fun_out.exp
fixed_cmp.exp
fixed_points.exp
float_param.exp
formatted_ref.exp Recognize _ in attribute names 2019-06-14 08:02:20 -06:00
frame_arg_lang.exp When debugging a mixed Ada/C program using this scenario: 2019-05-08 13:41:54 -04:00
frame_args.exp
fullname_bp.exp
fun_addr.exp
fun_in_declare.exp
fun_overload_menu.exp
fun_renaming.exp
funcall_char.exp
funcall_param.exp
funcall_ptr.exp
funcall_ref.exp
homonym.exp
info_addr_mixed_case.exp
info_auto_lang.exp gdb: Show type summary for anonymous structures from c_print_typedef 2019-07-22 10:43:03 +01:00
info_exc.exp Add completion for Ada catch commands 2019-05-10 09:57:42 -06:00
info_locals_renaming.exp
info_types.c
info_types.exp
int_deref.exp
interface.exp
iwide.exp
lang_switch.exp
length_cond.exp Add intro comment to length_cond.exp 2019-06-19 08:32:35 -06:00
maint_with_ada.exp
mi_catch_assert.exp Change Ada catchpoints to be bp_catchpoint 2019-07-10 14:48:53 -06:00
mi_catch_ex.exp Change Ada catchpoints to be bp_catchpoint 2019-07-10 14:48:53 -06:00
mi_catch_ex_hand.exp Change Ada catchpoints to be bp_catchpoint 2019-07-10 14:48:53 -06:00
mi_dyn_arr.exp
mi_ex_cond.exp Change Ada catchpoints to be bp_catchpoint 2019-07-10 14:48:53 -06:00
mi_exc_info.exp
mi_interface.exp
mi_ref_changeable.exp Update copyright year range in gdb.ada/mi_ref_changeable testcase 2019-02-23 16:27:30 +04:00
mi_string_access.exp
mi_task_arg.exp
mi_task_info.exp
mi_var_array.exp
mi_var_union.exp
minsyms.exp
mod_from_name.exp
n_arr_bound.exp
nested.exp
notcplusplus.exp
null_array.exp
null_record.exp
operator_bp.exp
optim_drec.exp
out_of_line_in_inlined.exp
packed_array.exp
packed_array_assign.exp Fix bug in assignment to nested packed structure 2019-05-01 08:09:22 -06:00
packed_tagged.exp
pckd_arr_ren.exp
pckd_neg.exp
pkd_arr_elem.exp
pp-rec-component.exp
pp-rec-component.py
print_chars.exp Handle biased types 2019-09-03 10:20:40 -06:00
print_pc.exp
ptr_typedef.exp
ptype_arith_binop.exp
ptype_array.exp Fix Ada "ptype" bug with array types 2019-03-18 06:45:16 -06:00
ptype_field.exp
ptype_tagged_param.exp
ptype_union.c Print non-Ada unions without crashing 2019-04-19 13:23:05 -06:00
ptype_union.exp [gdb/testsuite] Mark ptype_union.exp as unsupported for cc-with-gdb-index 2019-06-21 17:03:27 +02:00
py_range.exp
py_taft.exp Do not expose stub types to Python 2019-09-26 08:26:12 -06:00
rdv_wait.exp Output the Ada task name in more messages. 2019-09-12 21:57:10 +02:00
rec_comp.exp
rec_return.exp
ref_param.exp
ref_tick_size.exp
rename_subscript_param.exp [gdb/testsuite] Require gnatmake 8 for gdb.ada/rename_subscript_param.exp 2019-09-14 10:35:48 +02:00
repeat_dyn.exp
same_component_name.exp
same_enum.exp
scoped_watch.exp
set_pckd_arr_elt.exp
set_wstr.exp Allow re-assigning to convenience variables 2019-06-14 08:06:16 -06:00
small_reg_param.exp
start.exp
str_binop_equal.exp
str_ref_cmp.exp
str_uninit.exp
sym_print_name.exp
taft_type.exp
tagged.exp
tagged_access.exp
tagged_not_init.exp
task_bp.exp
task_switch_in_core.exp Output the Ada task name in more messages. 2019-09-12 21:57:10 +02:00
tasks.exp
tick_last_segv.exp
tick_length_array_enum_idx.exp
type_coercion.exp
unc_arr_ptr_in_var_rec.exp
uninitialized_vars.exp
var_arr_attrs.exp
var_arr_typedef.exp
var_rec_arr.exp
variant_record_packed_array.exp
varsize_limit.exp
vla.exp Fix gdb.ada/vla.exp 2019-06-14 06:53:24 -06:00
watch_arg.exp
watch_minus_l.exp
whatis_array_val.exp
widewide.exp
win_fu_syms.exp