aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/p-lang.c2
-rw-r--r--gdb/p-lang.h5
-rw-r--r--gdb/p-valprint.c13
4 files changed, 25 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f4720f5..cd39b22 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2020-03-13 Tom Tromey <tom@tromey.com>
+ * p-valprint.c (pascal_value_print_inner): New function.
+ * p-lang.h (pascal_value_print_inner): Declare.
+ * p-lang.c (pascal_language_defn): Use pascal_value_print_inner.
+
+2020-03-13 Tom Tromey <tom@tromey.com>
+
* m2-valprint.c (m2_value_print_inner): New function.
* m2-lang.h (m2_value_print_inner): Declare.
* m2-lang.c (m2_language_defn): Use m2_value_print_inner.
diff --git a/gdb/p-lang.c b/gdb/p-lang.c
index bf74b80..87ddf34 100644
--- a/gdb/p-lang.c
+++ b/gdb/p-lang.c
@@ -448,7 +448,7 @@ extern const struct language_defn pascal_language_defn =
pascal_print_type, /* Print a type using appropriate syntax */
pascal_print_typedef, /* Print a typedef using appropriate syntax */
pascal_val_print, /* Print a value using appropriate syntax */
- nullptr, /* la_value_print_inner */
+ pascal_value_print_inner, /* la_value_print_inner */
pascal_value_print, /* Print a top-level value */
default_read_var_value, /* la_read_var_value */
NULL, /* Language specific skip_trampoline */
diff --git a/gdb/p-lang.h b/gdb/p-lang.h
index 960d129..ae0b2aa 100644
--- a/gdb/p-lang.h
+++ b/gdb/p-lang.h
@@ -42,6 +42,11 @@ extern void pascal_val_print (struct type *, int,
struct value *,
const struct value_print_options *);
+/* Implement la_value_print_inner for Pascal. */
+
+extern void pascal_value_print_inner (struct value *, struct ui_file *, int,
+ const struct value_print_options *);
+
extern void pascal_value_print (struct value *, struct ui_file *,
const struct value_print_options *);
diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
index 68e8c6e..1361fbe 100644
--- a/gdb/p-valprint.c
+++ b/gdb/p-valprint.c
@@ -425,6 +425,19 @@ pascal_val_print (struct type *type,
TYPE_CODE (type));
}
}
+
+/* See p-lang.h. */
+
+void
+pascal_value_print_inner (struct value *val, struct ui_file *stream,
+ int recurse,
+ const struct value_print_options *options)
+
+{
+ pascal_val_print (value_type (val), value_embedded_offset (val),
+ value_address (val), stream, recurse, val, options);
+}
+
void
pascal_value_print (struct value *val, struct ui_file *stream,