Remove a static buffer from cp-name-parser.y

This removes a static buffer from cp-name-parser.y by replacing the
fixed-sized buffer with a std::string out parameter.

gdb/ChangeLog
2018-06-01  Tom Tromey  <tom@tromey.com>

	* python/py-type.c (typy_legacy_template_argument): Update.
	* cp-support.h (cp_demangled_name_to_comp): Update.
	* cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
	parameter to be a "std::string *".
	(main): Update.
This commit is contained in:
Tom Tromey 2018-05-23 21:05:52 -06:00
parent e9cb46ab59
commit 3513a6bb20
4 changed files with 20 additions and 16 deletions

View file

@ -859,7 +859,7 @@ typy_legacy_template_argument (struct type *type, const struct block *block,
int i;
struct demangle_component *demangled;
std::unique_ptr<demangle_parse_info> info;
const char *err;
std::string err;
struct type *argtype;
if (TYPE_NAME (type) == NULL)
@ -881,7 +881,7 @@ typy_legacy_template_argument (struct type *type, const struct block *block,
if (! info)
{
PyErr_SetString (PyExc_RuntimeError, err);
PyErr_SetString (PyExc_RuntimeError, err.c_str ());
return NULL;
}
demangled = info->tree;