diff options
Diffstat (limited to 'gdb/ada-lang.c')
-rw-r--r-- | gdb/ada-lang.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 2630456..cad480f 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -308,6 +308,31 @@ static const char *known_auxiliary_function_name_patterns[] = { /* Space for allocating results of ada_lookup_symbol_list. */ static struct obstack symbol_list_obstack; +/* Maintenance-related settings for this module. */ + +static struct cmd_list_element *maint_set_ada_cmdlist; +static struct cmd_list_element *maint_show_ada_cmdlist; + +/* Implement the "maintenance set ada" (prefix) command. */ + +static void +maint_set_ada_cmd (char *args, int from_tty) +{ + help_list (maint_set_ada_cmdlist, "maintenance set ada ", -1, gdb_stdout); +} + +/* Implement the "maintenance show ada" (prefix) command. */ + +static void +maint_show_ada_cmd (char *args, int from_tty) +{ + cmd_show_list (maint_show_ada_cmdlist, from_tty, ""); +} + +/* The "maintenance ada set/show ignore-descriptive-type" value. */ + +static int ada_ignore_descriptive_types_p = 0; + /* Inferior-specific data. */ /* Per-inferior data for this module. */ @@ -7422,6 +7447,9 @@ find_parallel_type_by_descriptive_type (struct type *type, const char *name) { struct type *result; + if (ada_ignore_descriptive_types_p) + return NULL; + /* If there no descriptive-type info, then there is no parallel type to be found. */ if (!HAVE_GNAT_AUX_INFO (type)) @@ -13321,6 +13349,26 @@ List all Ada exception names.\n\ If a regular expression is passed as an argument, only those matching\n\ the regular expression are listed.")); + add_prefix_cmd ("ada", class_maintenance, maint_set_ada_cmd, + _("Set Ada maintenance-related variables."), + &maint_set_ada_cmdlist, "maintenance set ada ", + 0/*allow-unknown*/, &maintenance_set_cmdlist); + + add_prefix_cmd ("ada", class_maintenance, maint_show_ada_cmd, + _("Show Ada maintenance-related variables"), + &maint_show_ada_cmdlist, "maintenance show ada ", + 0/*allow-unknown*/, &maintenance_show_cmdlist); + + add_setshow_boolean_cmd + ("ignore-descriptive-types", class_maintenance, + &ada_ignore_descriptive_types_p, + _("Set whether descriptive types generated by GNAT should be ignored."), + _("Show whether descriptive types generated by GNAT should be ignored."), + _("\ +When enabled, the debugger will stop using the DW_AT_GNAT_descriptive_type\n\ +DWARF attribute."), + NULL, NULL, &maint_set_ada_cmdlist, &maint_show_ada_cmdlist); + obstack_init (&symbol_list_obstack); decoded_names_store = htab_create_alloc |