Re: GDB13 fails to build on MacOS using supplied GNU Bison 2.3
Torbjorn SVENSSON via Gdb <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Tom,
Sorry for taking so long to check your patch, but I've been OoO for the
past 2 weeks.
What type of tests did you have in mind when you, in a previous mail in
the same thread, wrote:
If the appended works for you (be sure to run some tests), I can check
it in.
Is it sufficient with a simple C project and a simple C++ project (my
example was using std::vector to get some namespace and template
expansion) built for arm-none-eabi? Those 2 projects appears to work as
expected anyway.
Kind regards,
Torbjörn
On 2023-09-01 15:02, Tom Tromey wrote:
> Martin> Also need to patch gdb/split-name.c?
>
> Really thought I built it but apparently not. Thanks.
>
> Tom
>
> diff --git a/gdb/dwarf2/cooked-index.c b/gdb/dwarf2/cooked-index.c
> index d6531260c86..58ea541a5c9 100644
> --- a/gdb/dwarf2/cooked-index.c
> +++ b/gdb/dwarf2/cooked-index.c
> @@ -267,7 +267,7 @@ cooked_index_shard::handle_gnat_encoded_entry (cooked_index_entry *entry,
> if (canonical.empty ())
> return {};
> std::vector<gdb::string_view> names = split_name (canonical.c_str (),
> - split_style::DOT);
> + split_style::DOT_STYLE);
> gdb::string_view tail = names.back ();
> names.pop_back ();
>
> diff --git a/gdb/split-name.c b/gdb/split-name.c
> index a50a6fa4946..0253b3cf675 100644
> --- a/gdb/split-name.c
> +++ b/gdb/split-name.c
> @@ -58,7 +58,7 @@ split_name (const char *name, split_style style)
> }
> break;
>
> - case split_style::DOT:
> + case split_style::DOT_STYLE:
> /* D and Go-style names. */
> for (const char *iter = strchr (name, '.');
> iter != nullptr;
> diff --git a/gdb/split-name.h b/gdb/split-name.h
> index 47896cc4406..7648cf9b900 100644
> --- a/gdb/split-name.h
> +++ b/gdb/split-name.h
> @@ -30,8 +30,9 @@ enum class split_style
> NONE,
> /* C++ style, with "::" and template parameter intelligence. */
> CXX,
> - /* Split at ".". Used by Ada, Go, D. */
> - DOT,
> + /* Split at ".". Used by Ada, Go, D. This has a funny name to work
> + around a bug in Bison 2.3, which is used on macOS. */
> + DOT_STYLE,
> /* Split at "__". Used by Ada encoded names. */
> UNDERSCORE,
> };
> diff --git a/gdb/symtab.h b/gdb/symtab.h
> index ca3b1a4a0b6..8f587807ff9 100644
> --- a/gdb/symtab.h
> +++ b/gdb/symtab.h
> @@ -305,7 +305,7 @@ class lookup_name_info final
> break;
> case language_d:
> case language_go:
> - style = split_style::DOT;
> + style = split_style::DOT_STYLE;
> break;
> }
> return ::split_name (language_lookup_name (lang), style);