[pushed] Remove la_get_string member
Sourceware to Gerrit sync (Code Review)
gerrit@gnutoolchain-gerrit.osci.io
Tue Nov 5 22:46:00 GMT 2019
Sourceware to Gerrit sync has submitted this change.
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/384
......................................................................
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
---
M gdb/ChangeLog
M gdb/ada-lang.c
M gdb/c-lang.c
M gdb/d-lang.c
M gdb/f-lang.c
M gdb/go-lang.c
M gdb/guile/scm-value.c
M gdb/language.c
M gdb/language.h
M gdb/m2-lang.c
M gdb/objc-lang.c
M gdb/opencl-lang.c
M gdb/p-lang.c
M gdb/python/py-value.c
M gdb/rust-lang.c
15 files changed, 23 insertions(+), 47 deletions(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 00d21fa..5720c8e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,26 @@
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
constructor. Remove destructor.
<style_changed, m_observable>: Move to superclass.
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 7370490..0bddc9e 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -14135,7 +14135,6 @@
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,
diff --git a/gdb/c-lang.c b/gdb/c-lang.c
index 57592df..74e3f73 100644
--- a/gdb/c-lang.c
+++ b/gdb/c-lang.c
@@ -926,7 +926,6 @@
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 @@
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 @@
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 @@
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,
diff --git a/gdb/d-lang.c b/gdb/d-lang.c
index b80b374..1701976 100644
--- a/gdb/d-lang.c
+++ b/gdb/d-lang.c
@@ -244,7 +244,6 @@
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,
diff --git a/gdb/f-lang.c b/gdb/f-lang.c
index 5681379..7f241c6 100644
--- a/gdb/f-lang.c
+++ b/gdb/f-lang.c
@@ -671,7 +671,6 @@
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,
diff --git a/gdb/go-lang.c b/gdb/go-lang.c
index c77676c..c5ab306 100644
--- a/gdb/go-lang.c
+++ b/gdb/go-lang.c
@@ -615,7 +615,6 @@
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,
diff --git a/gdb/guile/scm-value.c b/gdb/guile/scm-value.c
index 9b38210..8aa4cfa 100644
--- a/gdb/guile/scm-value.c
+++ b/gdb/guile/scm-value.c
@@ -1015,7 +1015,7 @@
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)
diff --git a/gdb/language.c b/gdb/language.c
index 02c448f..0e13c71 100644
--- a/gdb/language.c
+++ b/gdb/language.c
@@ -690,14 +690,6 @@
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 @@
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 @@
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,
diff --git a/gdb/language.h b/gdb/language.h
index aa19f8e..5fc25a2 100644
--- a/gdb/language.h
+++ b/gdb/language.h
@@ -360,21 +360,6 @@
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 @@
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 @@
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
diff --git a/gdb/m2-lang.c b/gdb/m2-lang.c
index 759414d..2d2dfe3 100644
--- a/gdb/m2-lang.c
+++ b/gdb/m2-lang.c
@@ -413,7 +413,6 @@
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,
diff --git a/gdb/objc-lang.c b/gdb/objc-lang.c
index fbf0dab..946a0a1 100644
--- a/gdb/objc-lang.c
+++ b/gdb/objc-lang.c
@@ -401,7 +401,6 @@
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,
diff --git a/gdb/opencl-lang.c b/gdb/opencl-lang.c
index 80d7ec9..5d03210 100644
--- a/gdb/opencl-lang.c
+++ b/gdb/opencl-lang.c
@@ -1080,7 +1080,6 @@
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,
diff --git a/gdb/p-lang.c b/gdb/p-lang.c
index 9591115..0cf1c6c 100644
--- a/gdb/p-lang.c
+++ b/gdb/p-lang.c
@@ -466,7 +466,6 @@
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,
diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c
index 1428b7a..1ca2dc5 100644
--- a/gdb/python/py-value.c
+++ b/gdb/python/py-value.c
@@ -567,7 +567,7 @@
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)
{
diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
index 838d901..b872a2d 100644
--- a/gdb/rust-lang.c
+++ b/gdb/rust-lang.c
@@ -2165,7 +2165,6 @@
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,
--
Gerrit-Project: binutils-gdb
Gerrit-Branch: master
Gerrit-Change-Id: Ia97763dfe34dc8ecb46587f7a651f8af9be8fdbd
Gerrit-Change-Number: 384
Gerrit-PatchSet: 2
Gerrit-Owner: Tom Tromey <tromey@sourceware.org>
Gerrit-Reviewer: Tom Tromey <tromey@sourceware.org>
Gerrit-MessageType: merged
More information about the Gdb-patches
mailing list