From bdb3ed9e634d3db8164d90dee12bc8b5e2458786 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 1 May 2019 15:21:36 -0600 Subject: [PATCH] Convert nto-tdep.c to type-safe registry API This changes nto-tdep.c to use the type-safe registry API. gdb/ChangeLog 2019-05-08 Tom Tromey * nto-tdep.c (nto_inferior_data_reg): Change type. (nto_inferior_data): Update. (nto_inferior_data_cleanup, nto_new_inferior_data) (_initialize_nto_tdep): Remove. * nto-tdep.h (struct nto_inferior_data): Add initializers. --- gdb/ChangeLog | 8 ++++++++ gdb/nto-tdep.c | 37 ++++--------------------------------- gdb/nto-tdep.h | 4 ++-- 3 files changed, 14 insertions(+), 35 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4e6762a..a8d727b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 2019-05-08 Tom Tromey + * nto-tdep.c (nto_inferior_data_reg): Change type. + (nto_inferior_data): Update. + (nto_inferior_data_cleanup, nto_new_inferior_data) + (_initialize_nto_tdep): Remove. + * nto-tdep.h (struct nto_inferior_data): Add initializers. + +2019-05-08 Tom Tromey + * ada-lang.c (struct ada_inferior_data): Add initializers. (ada_inferior_data): Change type. (ada_inferior_data_cleanup): Remove. diff --git a/gdb/nto-tdep.c b/gdb/nto-tdep.c index 0caa55c..48e731a 100644 --- a/gdb/nto-tdep.c +++ b/gdb/nto-tdep.c @@ -51,7 +51,8 @@ static char default_nto_target[] = ""; struct nto_target_ops current_nto_target; -static const struct inferior_data *nto_inferior_data_reg; +static const struct inferior_key + nto_inferior_data_reg; static char * nto_target (void) @@ -498,25 +499,6 @@ nto_read_auxv_from_initial_stack (CORE_ADDR initial_stack, gdb_byte *readbuf, return len_read; } -/* Allocate new nto_inferior_data object. */ - -static struct nto_inferior_data * -nto_new_inferior_data (void) -{ - struct nto_inferior_data *const inf_data - = XCNEW (struct nto_inferior_data); - - return inf_data; -} - -/* Free inferior data. */ - -static void -nto_inferior_data_cleanup (struct inferior *const inf, void *const dat) -{ - xfree (dat); -} - /* Return nto_inferior_data for the given INFERIOR. If not yet created, construct it. */ @@ -528,20 +510,9 @@ nto_inferior_data (struct inferior *const inferior) gdb_assert (inf != NULL); - inf_data - = (struct nto_inferior_data *) inferior_data (inf, nto_inferior_data_reg); + inf_data = nto_inferior_data_reg.get (inf); if (inf_data == NULL) - { - set_inferior_data (inf, nto_inferior_data_reg, - (inf_data = nto_new_inferior_data ())); - } + inf_data = nto_inferior_data_reg.emplace (inf); return inf_data; } - -void -_initialize_nto_tdep (void) -{ - nto_inferior_data_reg - = register_inferior_data_with_cleanup (NULL, nto_inferior_data_cleanup); -} diff --git a/gdb/nto-tdep.h b/gdb/nto-tdep.h index 5127ab3..2410a03 100644 --- a/gdb/nto-tdep.h +++ b/gdb/nto-tdep.h @@ -152,10 +152,10 @@ get_nto_thread_info (thread_info *thread) struct nto_inferior_data { /* Last stopped flags result from wait function */ - unsigned int stopped_flags; + unsigned int stopped_flags = 0; /* Last known stopped PC */ - CORE_ADDR stopped_pc; + CORE_ADDR stopped_pc = 0; }; /* Generic functions in nto-tdep.c. */ -- 2.7.4