From f945dedfd3512bfbca0f1405c8ea85684980e69a Mon Sep 17 00:00:00 2001 From: Christian Biesinger Date: Wed, 28 Aug 2019 15:40:31 -0500 Subject: Make ada_decode not use a static buffer This makes it safer to use in general, and also allows using it on a background thread in the future. Inspired by tromey's patch at: https://github.com/tromey/gdb/commit/1226cbdfa436297a5dec054d94592c45891afa93 (however, implemented in a different way) gdb/ChangeLog: 2019-09-23 Christian Biesinger * ada-exp.y (write_object_remaining): Update. * ada-lang.c (ada_decode): Return a std::string instead of a char* and eliminate the static buffer. (ada_decode_symbol): Update. (ada_la_decode): Update. (ada_sniff_from_mangled_name): Update. (is_valid_name_for_wild_match): Update. (ada_lookup_name_info::matches): Update and simplify. (name_matches_regex): Update. (ada_add_global_exceptions): Update. * ada-lang.h (ada_decode): Update signature. * ada-varobj.c (ada_varobj_describe_simple_array_child): Update. * dwarf-index-write.c (debug_names::insert): Update. --- gdb/ada-lang.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gdb/ada-lang.h') diff --git a/gdb/ada-lang.h b/gdb/ada-lang.h index 2fc3f52..c7279d5 100644 --- a/gdb/ada-lang.h +++ b/gdb/ada-lang.h @@ -227,7 +227,7 @@ extern struct type *ada_get_decoded_type (struct type *type); extern const char *ada_decode_symbol (const struct general_symbol_info *); -extern const char *ada_decode (const char*); +extern std::string ada_decode (const char*); extern enum language ada_update_initial_language (enum language); -- cgit v1.1