GDB13 fails to build on MacOS using supplied GNU Bison 2.3

Tom Tromey tom@tromey.com
Fri Sep 1 13:02:45 GMT 2023


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);


More information about the Gdb mailing list