aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2020-11-19 17:52:00 +0000
committerAndrew Burgess <andrew.burgess@embecosm.com>2020-12-23 20:53:14 +0000
commit5cc0917c387350c47c350843e3b7a16059345529 (patch)
treef1216a2bfd0c513658b3b1b460513267d6eb8655
parent1c4852651c26d88494b6c2988f9bee164f1f3d34 (diff)
downloadgdb-5cc0917c387350c47c350843e3b7a16059345529.zip
gdb-5cc0917c387350c47c350843e3b7a16059345529.tar.gz
gdb-5cc0917c387350c47c350843e3b7a16059345529.tar.bz2
gdb: remove some uses of LA_PRINT_STRING
This commit removes some, but not all, uses of LA_PRINT_STRING. In this commit I've removed those uses where there is an obvious language object on which I can instead call the printstr method. In the remaining 3 uses it is harder to know if the correct thing is to call printstr on the current language, or on a specific language. Currently obviously, we always call on the current language (as that's what LA_PRINT_STRING does), and clearly this behaviour is good enough right now, but is it "right"? I've left them for now and will give them more thought in the future. gdb/ChangeLog: * expprint.c (print_subexp_standard): Replace uses of LA_PRINT_STRING. * f-valprint.c (f_language::value_print_inner): Likewise. * guile/scm-pretty-print.c (ppscm_print_string_repr): Likewise. * p-valprint.c (pascal_language::value_print_inner): Likewise. * python/py-prettyprint.c (print_string_repr): Likewise.
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/expprint.c19
-rw-r--r--gdb/f-valprint.c10
-rw-r--r--gdb/guile/scm-pretty-print.c4
-rw-r--r--gdb/p-valprint.c8
-rw-r--r--gdb/python/py-prettyprint.c4
6 files changed, 33 insertions, 21 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a722435..26d7f58 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,14 @@
2020-12-23 Andrew Burgess <andrew.burgess@embecosm.com>
+ * expprint.c (print_subexp_standard): Replace uses of
+ LA_PRINT_STRING.
+ * f-valprint.c (f_language::value_print_inner): Likewise.
+ * guile/scm-pretty-print.c (ppscm_print_string_repr): Likewise.
+ * p-valprint.c (pascal_language::value_print_inner): Likewise.
+ * python/py-prettyprint.c (print_string_repr): Likewise.
+
+2020-12-23 Andrew Burgess <andrew.burgess@embecosm.com>
+
* rust-exp.y (rust_parse): Rename to...
(rust_language::parser): ...this.
* rust-lang.c (-rust_printstr): Rename to...
diff --git a/gdb/expprint.c b/gdb/expprint.c
index 5b4ea14..51dbc56 100644
--- a/gdb/expprint.c
+++ b/gdb/expprint.c
@@ -226,9 +226,10 @@ print_subexp_standard (struct expression *exp, int *pos,
If necessary, we can temporarily set it to zero, or pass it as an
additional parameter to LA_PRINT_STRING. -fnf */
get_user_print_options (&opts);
- LA_PRINT_STRING (stream, builtin_type (exp->gdbarch)->builtin_char,
- (gdb_byte *) &exp->elts[pc + 2].string, nargs,
- NULL, 0, &opts);
+ exp->language_defn
+ ->printstr (stream, builtin_type (exp->gdbarch)->builtin_char,
+ (gdb_byte *) &exp->elts[pc + 2].string, nargs,
+ NULL, 0, &opts);
}
return;
@@ -241,9 +242,10 @@ print_subexp_standard (struct expression *exp, int *pos,
(*pos) += 3 + BYTES_TO_EXP_ELEM (nargs + 1);
fputs_filtered ("@\"", stream);
get_user_print_options (&opts);
- LA_PRINT_STRING (stream, builtin_type (exp->gdbarch)->builtin_char,
- (gdb_byte *) &exp->elts[pc + 2].string, nargs,
- NULL, 0, &opts);
+ exp->language_defn
+ ->printstr (stream, builtin_type (exp->gdbarch)->builtin_char,
+ (gdb_byte *) &exp->elts[pc + 2].string, nargs,
+ NULL, 0, &opts);
fputs_filtered ("\"", stream);
}
return;
@@ -325,8 +327,9 @@ print_subexp_standard (struct expression *exp, int *pos,
struct value_print_options opts;
get_user_print_options (&opts);
- LA_PRINT_STRING (stream, builtin_type (exp->gdbarch)->builtin_char,
- (gdb_byte *) tempstr, nargs - 1, NULL, 0, &opts);
+ exp->language_defn
+ ->printstr (stream, builtin_type (exp->gdbarch)->builtin_char,
+ (gdb_byte *) tempstr, nargs - 1, NULL, 0, &opts);
(*pos) = pc;
}
else
diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c
index d147caa..63cd9b3 100644
--- a/gdb/f-valprint.c
+++ b/gdb/f-valprint.c
@@ -235,8 +235,8 @@ f_language::value_print_inner (struct value *val, struct ui_file *stream,
{
case TYPE_CODE_STRING:
f77_get_dynamic_length_of_aggregate (type);
- LA_PRINT_STRING (stream, builtin_type (gdbarch)->builtin_char,
- valaddr, TYPE_LENGTH (type), NULL, 0, options);
+ printstr (stream, builtin_type (gdbarch)->builtin_char, valaddr,
+ TYPE_LENGTH (type), NULL, 0, options);
break;
case TYPE_CODE_ARRAY:
@@ -247,9 +247,9 @@ f_language::value_print_inner (struct value *val, struct ui_file *stream,
struct type *ch_type = TYPE_TARGET_TYPE (type);
f77_get_dynamic_length_of_aggregate (type);
- LA_PRINT_STRING (stream, ch_type, valaddr,
- TYPE_LENGTH (type) / TYPE_LENGTH (ch_type),
- NULL, 0, options);
+ printstr (stream, ch_type, valaddr,
+ TYPE_LENGTH (type) / TYPE_LENGTH (ch_type), NULL, 0,
+ options);
}
break;
diff --git a/gdb/guile/scm-pretty-print.c b/gdb/guile/scm-pretty-print.c
index 0bbcc4d..e08202c 100644
--- a/gdb/guile/scm-pretty-print.c
+++ b/gdb/guile/scm-pretty-print.c
@@ -675,8 +675,8 @@ ppscm_print_string_repr (SCM printer, enum display_hint hint,
{
struct type *type = builtin_type (gdbarch)->builtin_char;
- LA_PRINT_STRING (stream, type, (gdb_byte *) string.get (),
- length, NULL, 0, options);
+ language->printstr (stream, type, (gdb_byte *) string.get (),
+ length, NULL, 0, options);
}
else
{
diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
index b748c06..323b7c3 100644
--- a/gdb/p-valprint.c
+++ b/gdb/p-valprint.c
@@ -116,8 +116,8 @@ pascal_language::value_print_inner (struct value *val,
len = temp_len;
}
- LA_PRINT_STRING (stream, TYPE_TARGET_TYPE (type),
- valaddr, len, NULL, 0, options);
+ printstr (stream, TYPE_TARGET_TYPE (type), valaddr, len,
+ NULL, 0, options);
i = len;
}
else
@@ -318,8 +318,8 @@ pascal_language::value_print_inner (struct value *val,
{
len = extract_unsigned_integer (valaddr + length_pos,
length_size, byte_order);
- LA_PRINT_STRING (stream, char_type, valaddr + string_pos,
- len, NULL, 0, options);
+ printstr (stream, char_type, valaddr + string_pos, len,
+ NULL, 0, options);
}
else
pascal_object_print_value_fields (val, stream, recurse,
diff --git a/gdb/python/py-prettyprint.c b/gdb/python/py-prettyprint.c
index 8eaa41f..6300cb0 100644
--- a/gdb/python/py-prettyprint.c
+++ b/gdb/python/py-prettyprint.c
@@ -318,8 +318,8 @@ print_string_repr (PyObject *printer, const char *hint,
type = builtin_type (gdbarch)->builtin_char;
if (hint && !strcmp (hint, "string"))
- LA_PRINT_STRING (stream, type, (gdb_byte *) output,
- length, NULL, 0, options);
+ language->printstr (stream, type, (gdb_byte *) output,
+ length, NULL, 0, options);
else
fputs_filtered (output, stream);
}