diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-11-19 17:52:00 +0000 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-12-23 20:53:14 +0000 |
commit | 5cc0917c387350c47c350843e3b7a16059345529 (patch) | |
tree | f1216a2bfd0c513658b3b1b460513267d6eb8655 | |
parent | 1c4852651c26d88494b6c2988f9bee164f1f3d34 (diff) | |
download | gdb-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/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/expprint.c | 19 | ||||
-rw-r--r-- | gdb/f-valprint.c | 10 | ||||
-rw-r--r-- | gdb/guile/scm-pretty-print.c | 4 | ||||
-rw-r--r-- | gdb/p-valprint.c | 8 | ||||
-rw-r--r-- | gdb/python/py-prettyprint.c | 4 |
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); } |