Make ada_decode not use a static buffer
authorChristian Biesinger <cbiesinger@google.com>
Wed, 28 Aug 2019 20:40:31 +0000 (15:40 -0500)
committerChristian Biesinger <cbiesinger@google.com>
Mon, 23 Sep 2019 18:36:34 +0000 (13:36 -0500)
commitf945dedfd3512bfbca0f1405c8ea85684980e69a
tree706c59bb9ef87edd16339939c6b547c72494bfcd
parent4a41f3face78a551ea5c85db24125989754f2ee8
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  <cbiesinger@google.com>

* 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/ChangeLog
gdb/ada-exp.y
gdb/ada-lang.c
gdb/ada-lang.h
gdb/ada-varobj.c
gdb/dwarf-index-write.c