From patchwork Tue Nov 5 22:46:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Simon Marchi (Code Review)" X-Patchwork-Id: 35661 Received: (qmail 108099 invoked by alias); 5 Nov 2019 22:46:14 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 108070 invoked by uid 89); 5 Nov 2019 22:46:13 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-21.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3 autolearn=ham version=3.3.1 spammy=3606, 360, 6, watched X-HELO: mx1.osci.io Received: from polly.osci.io (HELO mx1.osci.io) (8.43.85.229) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 05 Nov 2019 22:46:11 +0000 Received: by mx1.osci.io (Postfix, from userid 994) id ABB10203C1; Tue, 5 Nov 2019 17:46:09 -0500 (EST) Received: from gnutoolchain-gerrit.osci.io (gnutoolchain-gerrit.osci.io [8.43.85.239]) by mx1.osci.io (Postfix) with ESMTP id B6DAD20393; Tue, 5 Nov 2019 17:46:07 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by gnutoolchain-gerrit.osci.io (Postfix) with ESMTP id 8B73F25B28; Tue, 5 Nov 2019 17:46:07 -0500 (EST) X-Gerrit-PatchSet: 2 Date: Tue, 5 Nov 2019 17:46:06 -0500 From: "Sourceware to Gerrit sync (Code Review)" To: Tom Tromey , gdb-patches@sourceware.org Auto-Submitted: auto-generated X-Gerrit-MessageType: newpatchset Subject: [pushed] Remove la_get_string member X-Gerrit-Change-Id: Ia97763dfe34dc8ecb46587f7a651f8af9be8fdbd X-Gerrit-Change-Number: 384 X-Gerrit-ChangeURL: X-Gerrit-Commit: 91ae903f89f6869c8163d33cad1f90c87469d55b In-Reply-To: References: Reply-To: noreply@gnutoolchain-gerrit.osci.io, tromey@sourceware.org, gdb-patches@sourceware.org MIME-Version: 1.0 Content-Disposition: inline User-Agent: Gerrit/3.0.3-75-g9005159e5d Message-Id: <20191105224607.8B73F25B28@gnutoolchain-gerrit.osci.io> The original change was created by Tom Tromey. 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 * 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) : 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 + * 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) : Remove. + (LA_GET_STRING): Remove. + (default_get_string): Don't declare. + +2019-11-05 Tom Tromey + * tui/tui-source.h (struct tui_source_window): Inline constructor. Remove destructor. : 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 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 *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 *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 *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,