gdb: make interp::m_name an `const char *`
authorSimon Marchi <simon.marchi@polymtl.ca>
Thu, 2 Mar 2023 20:32:23 +0000 (15:32 -0500)
committerSimon Marchi <simon.marchi@polymtl.ca>
Tue, 7 Mar 2023 21:30:14 +0000 (16:30 -0500)
commit5a8ac2cb96cdb6c470a2ad4dec6442a21aa7dae9
tree9d94cf11a0307aacba3876c1ec687a95bf5f0b3e
parentf4db482bac97b12de5b25c203e3d24116e2a46bb
gdb: make interp::m_name an `const char *`

I realized that the memory for interp names does not need to be
allocated.  The name used to register interp factory functions is always
a literal string, so has static storage duration.  If we change
interp_lookup to pass that name instead of the string that it receives
as a parameter (which does not always have static storage duration),
then interps can simply store pointers to the name.

So, change interp_lookup to pass `factory.name` rather than `name`.
Change interp::m_name to be a `const char *` rather than an std::string.

Change-Id: I0474d1f7b3512e7d172ccd73018aea927def3188
Reviewed-By: Tom Tromey <tom@tromey.com>
gdb/interps.c
gdb/interps.h