diff options
Diffstat (limited to 'gdb/inferior.c')
-rw-r--r-- | gdb/inferior.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gdb/inferior.c b/gdb/inferior.c index e71104d..8f9ac33 100644 --- a/gdb/inferior.c +++ b/gdb/inferior.c @@ -1008,6 +1008,26 @@ show_print_inferior_events (struct ui_file *file, int from_tty, fprintf_filtered (file, _("Printing of inferior events is %s.\n"), value); } +/* Return a new value for the selected inferior's id. */ + +static struct value * +inferior_id_make_value (struct gdbarch *gdbarch, struct internalvar *var, + void *ignore) +{ + struct inferior *inf = current_inferior (); + + return value_from_longest (builtin_type (gdbarch)->builtin_int, inf->num); +} + +/* Implementation of `$_inferior' variable. */ + +static const struct internalvar_funcs inferior_funcs = +{ + inferior_id_make_value, + NULL, + NULL +}; + void @@ -1071,4 +1091,5 @@ Show printing of inferior events (e.g., inferior start and exit)."), NULL, show_print_inferior_events, &setprintlist, &showprintlist); + create_internalvar_type_lazy ("_inferior", &inferior_funcs, NULL); } |