Remove la_get_string member
The la_get_string member of struct language_defn was intended to provide a way to fetch string data from a "string" object in a language-dependent way. However, it turned out that this was never needed, and was only ever implemented for C. This patch removes the language hook entirely. gdb/ChangeLog 2019-11-05 Tom Tromey <tom@tromey.com> * rust-lang.c (rust_language_defn): Update. * python/py-value.c (valpy_string): Call c_get_string. * p-lang.c (pascal_language_defn): Update. * opencl-lang.c (opencl_language_defn): Update. * objc-lang.c (objc_language_defn): Update. * m2-lang.c (m2_language_defn): Update. * language.c (unknown_language_defn, auto_language_defn): Update. (default_get_string): Remove. * guile/scm-value.c (gdbscm_value_to_string): Use c_get_string. * go-lang.c (go_language_defn): Update. * f-lang.c (f_language_defn): Update. * d-lang.c (d_language_defn): Update. * c-lang.c (c_language_defn, cplus_language_defn) (asm_language_defn, minimal_language_defn): Update. * ada-lang.c (ada_language_defn): Update. * language.h (struct language_defn) <la_get_string>: Remove. (LA_GET_STRING): Remove. (default_get_string): Don't declare. Change-Id: Ia97763dfe34dc8ecb46587f7a651f8af9be8fdbd
This commit is contained in:
parent
1df2f9ef6c
commit
91ae903f89
15 changed files with 23 additions and 47 deletions
|
@ -1,3 +1,24 @@
|
|||
2019-11-05 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* rust-lang.c (rust_language_defn): Update.
|
||||
* python/py-value.c (valpy_string): Call c_get_string.
|
||||
* p-lang.c (pascal_language_defn): Update.
|
||||
* opencl-lang.c (opencl_language_defn): Update.
|
||||
* objc-lang.c (objc_language_defn): Update.
|
||||
* m2-lang.c (m2_language_defn): Update.
|
||||
* language.c (unknown_language_defn, auto_language_defn): Update.
|
||||
(default_get_string): Remove.
|
||||
* guile/scm-value.c (gdbscm_value_to_string): Use c_get_string.
|
||||
* go-lang.c (go_language_defn): Update.
|
||||
* f-lang.c (f_language_defn): Update.
|
||||
* d-lang.c (d_language_defn): Update.
|
||||
* c-lang.c (c_language_defn, cplus_language_defn)
|
||||
(asm_language_defn, minimal_language_defn): Update.
|
||||
* ada-lang.c (ada_language_defn): Update.
|
||||
* language.h (struct language_defn) <la_get_string>: Remove.
|
||||
(LA_GET_STRING): Remove.
|
||||
(default_get_string): Don't declare.
|
||||
|
||||
2019-11-05 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* tui/tui-source.h (struct tui_source_window): Inline
|
||||
|
|
|
@ -14135,7 +14135,6 @@ extern const struct language_defn ada_language_defn = {
|
|||
ada_language_arch_info,
|
||||
ada_print_array_index,
|
||||
default_pass_by_reference,
|
||||
c_get_string,
|
||||
ada_watch_location_expression,
|
||||
ada_get_symbol_name_matcher, /* la_get_symbol_name_matcher */
|
||||
ada_iterate_over_symbols,
|
||||
|
|
|
@ -926,7 +926,6 @@ extern const struct language_defn c_language_defn =
|
|||
c_language_arch_info,
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
c_get_string,
|
||||
c_watch_location_expression,
|
||||
NULL, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
@ -1072,7 +1071,6 @@ extern const struct language_defn cplus_language_defn =
|
|||
cplus_language_arch_info,
|
||||
default_print_array_index,
|
||||
cp_pass_by_reference,
|
||||
c_get_string,
|
||||
c_watch_location_expression,
|
||||
cp_get_symbol_name_matcher,
|
||||
iterate_over_symbols,
|
||||
|
@ -1127,7 +1125,6 @@ extern const struct language_defn asm_language_defn =
|
|||
c_language_arch_info, /* FIXME: la_language_arch_info. */
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
c_get_string,
|
||||
c_watch_location_expression,
|
||||
NULL, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
@ -1182,7 +1179,6 @@ extern const struct language_defn minimal_language_defn =
|
|||
c_language_arch_info,
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
c_get_string,
|
||||
c_watch_location_expression,
|
||||
NULL, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
|
|
@ -244,7 +244,6 @@ extern const struct language_defn d_language_defn =
|
|||
d_language_arch_info,
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
c_get_string,
|
||||
c_watch_location_expression,
|
||||
NULL, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
|
|
@ -671,7 +671,6 @@ extern const struct language_defn f_language_defn =
|
|||
f_language_arch_info,
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
default_get_string,
|
||||
c_watch_location_expression,
|
||||
cp_get_symbol_name_matcher, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
|
|
@ -615,7 +615,6 @@ extern const struct language_defn go_language_defn =
|
|||
go_language_arch_info,
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
c_get_string,
|
||||
c_watch_location_expression,
|
||||
NULL, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
|
|
@ -1015,7 +1015,7 @@ gdbscm_value_to_string (SCM self, SCM rest)
|
|||
try
|
||||
{
|
||||
gdb::unique_xmalloc_ptr<gdb_byte> buffer;
|
||||
LA_GET_STRING (value, &buffer, &length, &char_type, &la_encoding);
|
||||
c_get_string (value, &buffer, &length, &char_type, &la_encoding);
|
||||
buffer_contents = buffer.release ();
|
||||
}
|
||||
catch (const gdb_exception &except)
|
||||
|
|
|
@ -690,14 +690,6 @@ default_print_array_index (struct value *index_value, struct ui_file *stream,
|
|||
fprintf_filtered (stream, "] = ");
|
||||
}
|
||||
|
||||
void
|
||||
default_get_string (struct value *value,
|
||||
gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
|
||||
int *length, struct type **char_type, const char **charset)
|
||||
{
|
||||
error (_("Getting a string is unsupported in this language."));
|
||||
}
|
||||
|
||||
/* See language.h. */
|
||||
|
||||
bool
|
||||
|
@ -885,7 +877,6 @@ const struct language_defn unknown_language_defn =
|
|||
unknown_language_arch_info, /* la_language_arch_info. */
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
default_get_string,
|
||||
c_watch_location_expression,
|
||||
NULL, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
@ -937,7 +928,6 @@ const struct language_defn auto_language_defn =
|
|||
unknown_language_arch_info, /* la_language_arch_info. */
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
default_get_string,
|
||||
c_watch_location_expression,
|
||||
NULL, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
|
|
@ -360,21 +360,6 @@ struct language_defn
|
|||
reference at the language level. */
|
||||
int (*la_pass_by_reference) (struct type *type);
|
||||
|
||||
/* Obtain a string from the inferior, storing it in a newly allocated
|
||||
buffer in BUFFER, which should be freed by the caller. If the
|
||||
in- and out-parameter *LENGTH is specified at -1, the string is
|
||||
read until a null character of the appropriate width is found -
|
||||
otherwise the string is read to the length of characters specified.
|
||||
On completion, *LENGTH will hold the size of the string in characters.
|
||||
If a *LENGTH of -1 was specified it will count only actual
|
||||
characters, excluding any eventual terminating null character.
|
||||
Otherwise *LENGTH will include all characters - including any nulls.
|
||||
CHARSET will hold the encoding used in the string. */
|
||||
void (*la_get_string) (struct value *value,
|
||||
gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
|
||||
int *length, struct type **chartype,
|
||||
const char **charset);
|
||||
|
||||
/* Return an expression that can be used for a location
|
||||
watchpoint. TYPE is a pointer type that points to the memory
|
||||
to watch, and ADDR is the address of the watched memory. */
|
||||
|
@ -559,8 +544,6 @@ extern enum language set_language (enum language);
|
|||
encoding, force_ellipses,options))
|
||||
#define LA_EMIT_CHAR(ch, type, stream, quoter) \
|
||||
(current_language->la_emitchar(ch, type, stream, quoter))
|
||||
#define LA_GET_STRING(value, buffer, length, chartype, encoding) \
|
||||
(current_language->la_get_string(value, buffer, length, chartype, encoding))
|
||||
|
||||
#define LA_PRINT_ARRAY_INDEX(index_value, stream, options) \
|
||||
(current_language->la_print_array_index(index_value, stream, options))
|
||||
|
@ -643,11 +626,6 @@ int default_pass_by_reference (struct type *type);
|
|||
void default_print_typedef (struct type *type, struct symbol *new_symbol,
|
||||
struct ui_file *stream);
|
||||
|
||||
void default_get_string (struct value *value,
|
||||
gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
|
||||
int *length, struct type **char_type,
|
||||
const char **charset);
|
||||
|
||||
/* Default name hashing function. */
|
||||
|
||||
/* Produce an unsigned hash value from SEARCH_NAME that is consistent
|
||||
|
|
|
@ -413,7 +413,6 @@ extern const struct language_defn m2_language_defn =
|
|||
m2_language_arch_info,
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
default_get_string,
|
||||
c_watch_location_expression,
|
||||
NULL, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
|
|
@ -401,7 +401,6 @@ extern const struct language_defn objc_language_defn = {
|
|||
c_language_arch_info,
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
default_get_string,
|
||||
c_watch_location_expression,
|
||||
NULL, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
|
|
@ -1080,7 +1080,6 @@ extern const struct language_defn opencl_language_defn =
|
|||
opencl_language_arch_info,
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
c_get_string,
|
||||
c_watch_location_expression,
|
||||
NULL, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
|
|
@ -466,7 +466,6 @@ extern const struct language_defn pascal_language_defn =
|
|||
pascal_language_arch_info,
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
default_get_string,
|
||||
c_watch_location_expression,
|
||||
NULL, /* la_compare_symbol_for_completion */
|
||||
iterate_over_symbols,
|
||||
|
|
|
@ -567,7 +567,7 @@ valpy_string (PyObject *self, PyObject *args, PyObject *kw)
|
|||
|
||||
try
|
||||
{
|
||||
LA_GET_STRING (value, &buffer, &length, &char_type, &la_encoding);
|
||||
c_get_string (value, &buffer, &length, &char_type, &la_encoding);
|
||||
}
|
||||
catch (const gdb_exception &except)
|
||||
{
|
||||
|
|
|
@ -2165,7 +2165,6 @@ extern const struct language_defn rust_language_defn =
|
|||
rust_language_arch_info,
|
||||
default_print_array_index,
|
||||
default_pass_by_reference,
|
||||
c_get_string,
|
||||
rust_watch_location_expression,
|
||||
NULL, /* la_get_symbol_name_matcher */
|
||||
iterate_over_symbols,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue