Namespace the reg class to avoid clashes with OS headers
authorKamil Rytarowski <n54@gmx.com>
Tue, 17 Mar 2020 13:38:23 +0000 (14:38 +0100)
committerKamil Rytarowski <n54@gmx.com>
Wed, 18 Mar 2020 02:36:25 +0000 (03:36 +0100)
Fix build issues on NetBSD where the reg symbol exists in public headers.

regformats/regdef.h:22:8: error: redefinition struct
 struct reg
        ^~~
/usr/include/amd64/reg.h:51:8: note: previous definition struct
 struct reg {
        ^~~

gdb/ChangeLog:

* regformats/regdef.h: Put reg in gdb namespace.

gdbserver/ChangeLog:

* regcache.cc (find_register_by_number): Update.
* tdesc.cc (init_target_desc): Likewise.
* tdesc.h (target_desc::reg_defs): Likewise.

gdb/ChangeLog
gdb/regformats/regdef.h
gdbserver/ChangeLog
gdbserver/regcache.cc
gdbserver/tdesc.cc
gdbserver/tdesc.h

index a89267fc27d21c2016d394993605c7f951c3d2b7..84964dc00ac3b39e92aaa52cdf28abf73a52bba7 100644 (file)
@@ -1,3 +1,7 @@
+2020-03-17  Kamil Rytarowski  <n54@gmx.com>
+
+       * regformats/regdef.h: Put reg in gdb namespace.
+
 2020-03-17  Kamil Rytarowski  <n54@gmx.com>
 
        * i386-bsd-nat.c (gdb_ptrace): New.
index 340281e2425dc95adeb27378ede27e6fa5aa4a10..ed9aeb7af4b8232b8c7de1a8ba1c830ab7922b7a 100644 (file)
@@ -19,6 +19,8 @@
 #ifndef REGFORMATS_REGDEF_H
 #define REGFORMATS_REGDEF_H
 
+namespace gdb {
+
 struct reg
 {
   reg (int _offset)
@@ -60,4 +62,6 @@ struct reg
   }
 };
 
+} /* namespace gdb */
+
 #endif /* REGFORMATS_REGDEF_H */
index 5c3761a6713cb1864bf59357ac9a861ce57504e4..ea8a079fbf276bfa9c03852cb83d7011524ca607 100644 (file)
@@ -1,3 +1,9 @@
+2020-03-17  Kamil Rytarowski  <n54@gmx.com>
+
+       * regcache.cc (find_register_by_number): Update.
+       * tdesc.cc (init_target_desc): Likewise.
+       * tdesc.h (target_desc::reg_defs): Likewise.
+
 2020-03-12  Tom Tromey  <tom@tromey.com>
 
        * configure: Rebuild.
index 33d38879dc6fd5028ee0fd127c3d996fcb1cff9c..6c0af95b34ec4f2e2fc832d547a1a7eeff686ecc 100644 (file)
@@ -198,7 +198,7 @@ regcache_cpy (struct regcache *dst, struct regcache *src)
 
 /* Return a reference to the description of register N.  */
 
-static const struct reg &
+static const struct gdb::reg &
 find_register_by_number (const struct target_desc *tdesc, int n)
 {
   return tdesc->reg_defs[n];
index de25e7cfb466cf00432e3c030c23649aa42dfd54..8d97defb9b5968c34968c47c178c739d2e7b5869 100644 (file)
@@ -75,7 +75,7 @@ init_target_desc (struct target_desc *tdesc,
        gdb_assert (regnum == 0 || regnum >= tdesc->reg_defs.size ());
 
        if (regnum != 0)
-         tdesc->reg_defs.resize (regnum, reg (offset));
+         tdesc->reg_defs.resize (regnum, gdb::reg (offset));
 
        tdesc->reg_defs.emplace_back (treg->name.c_str (), offset,
                                      treg->bitsize);
index 5e0df85cea8bbe5ae9b826d6373f6e993c131cbf..f9ca478ff6db3813a80be5096ec2adb26640cec7 100644 (file)
@@ -31,7 +31,7 @@ struct target_desc : tdesc_element
 {
   /* A vector of elements of register definitions that
      describe the inferior's register set.  */
-  std::vector<struct reg> reg_defs;
+  std::vector<struct gdb::reg> reg_defs;
 
   /* The register cache size, in bytes.  */
   int registers_size;