[pushed] Rename split_style::DOT

Message ID 20230915134629.2129475-1-tromey@adacore.com
State New
Headers
Series [pushed] Rename split_style::DOT |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 warning Patch is already merged
linaro-tcwg-bot/tcwg_gdb_build--master-arm warning Patch is already merged
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 warning Patch is already merged
linaro-tcwg-bot/tcwg_gdb_check--master-arm success Testing passed

Commit Message

Tom Tromey Sept. 15, 2023, 1:46 p.m. UTC
  This renames split_style::DOT, to avoid name clashes when building gdb
with an old version of Bison (2.3, the version available on macOS).

In particular the error looks like:

./split-name.h:34:3: error: expected identifier
  DOT,
  ^
m2-exp.c:163:13: note: expanded from macro 'DOT'

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30286
---
 gdb/dwarf2/cooked-index.c | 2 +-
 gdb/split-name.c          | 2 +-
 gdb/split-name.h          | 5 +++--
 gdb/symtab.h              | 2 +-
 4 files changed, 6 insertions(+), 5 deletions(-)
  

Patch

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