aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@adacore.com>2013-12-19 19:11:49 +0400
committerJoel Brobecker <brobecker@adacore.com>2014-01-07 08:17:39 +0400
commit079e459161edae487c667a7f976a6462957389ef (patch)
tree3430d10f7e0f8c584097418668341d88a692aacc /gdb
parent8004dfd1cf9caaf8a65236ebe6a4a4b3f544ab7a (diff)
downloadgdb-079e459161edae487c667a7f976a6462957389ef.zip
gdb-079e459161edae487c667a7f976a6462957389ef.tar.gz
gdb-079e459161edae487c667a7f976a6462957389ef.tar.bz2
ada-valprint.c: Inline print_record inside ada_val_print_struct_union
The function print_record is a fairly small and straightforward function which is only called from one location. So this patch inlines the code at the point of call. One small advantage is that the context of use of this patch has now become such that we can assume that TYPE is not a typedef, nor an enum. So thhe call to ada_check_typedef is unnecessary, and this patch removes it. gdb/ChangeLog: * ada-valprint.c (print_record): Delete, implementation inlined... (ada_val_print_struct_union): ... here. Remove call to ada_check_typedef in inlined implementation.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/ada-valprint.c36
2 files changed, 18 insertions, 24 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4be753d..4c1978c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2014-01-07 Joel Brobecker <brobecker@adacore.com>
+ * ada-valprint.c (print_record): Delete, implementation inlined...
+ (ada_val_print_struct_union): ... here. Remove call to
+ ada_check_typedef in inlined implementation.
+
+2014-01-07 Joel Brobecker <brobecker@adacore.com>
+
* ada-valprint.c (ada_val_print_gnat_array): New function,
extracted from ada_val_print_1;
(ada_val_print_ptr, ada_val_print_num, ada_val_print_enum)
diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c
index 1111d90..22ec9c0 100644
--- a/gdb/ada-valprint.c
+++ b/gdb/ada-valprint.c
@@ -750,28 +750,6 @@ print_field_values (struct type *type, const gdb_byte *valaddr,
return comma_needed;
}
-static void
-print_record (struct type *type, const gdb_byte *valaddr,
- int offset,
- struct ui_file *stream, int recurse,
- const struct value *val,
- const struct value_print_options *options)
-{
- type = ada_check_typedef (type);
-
- fprintf_filtered (stream, "(");
-
- if (print_field_values (type, valaddr, offset,
- stream, recurse, val, options,
- 0, type, offset) != 0 && options->prettyformat)
- {
- fprintf_filtered (stream, "\n");
- print_spaces_filtered (2 * recurse, stream);
- }
-
- fprintf_filtered (stream, ")");
-}
-
/* Implement Ada val_print-ing for GNAT arrays (Eg. fat pointers,
thin pointers, etc). */
@@ -1006,8 +984,18 @@ ada_val_print_struct_union
return;
}
- print_record (type, valaddr, offset_aligned,
- stream, recurse, original_value, options);
+ fprintf_filtered (stream, "(");
+
+ if (print_field_values (type, valaddr, offset_aligned,
+ stream, recurse, original_value, options,
+ 0, type, offset_aligned) != 0
+ && options->prettyformat)
+ {
+ fprintf_filtered (stream, "\n");
+ print_spaces_filtered (2 * recurse, stream);
+ }
+
+ fprintf_filtered (stream, ")");
}
/* Implement Ada val_print'ing for the case where TYPE is