aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-05-01 15:21:36 -0600
committerTom Tromey <tom@tromey.com>2019-05-08 16:01:53 -0600
commitbdb3ed9e634d3db8164d90dee12bc8b5e2458786 (patch)
treed1b744dd2e3842c92217e6398861e451490988aa
parentf37b313d5cafbed4e724db4724d1ab567b373be4 (diff)
downloadgdb-bdb3ed9e634d3db8164d90dee12bc8b5e2458786.zip
gdb-bdb3ed9e634d3db8164d90dee12bc8b5e2458786.tar.gz
gdb-bdb3ed9e634d3db8164d90dee12bc8b5e2458786.tar.bz2
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 <tom@tromey.com> * 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.
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/nto-tdep.c37
-rw-r--r--gdb/nto-tdep.h4
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 <tom@tromey.com>
+ * 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 <tom@tromey.com>
+
* 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<struct nto_inferior_data>
+ 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. */