Put bcache inside "namespace gdb"
This avoids a conflict with a system "struct bcache" on Solaris (see e.g. https://www.isi.edu/nsnam/archive/ns-users/webarch/2001/msg05393.html) Note that the Solaris conflict for now only surfaces with --enable-targets=all (which the build bot doesn't use). gdb/ChangeLog: 2019-12-06 Christian Biesinger <cbiesinger@google.com> * bcache.c: Put in namespace gdb. * bcache.h: Likewise. * gdbtypes.c (check_types_worklist): Update. (types_deeply_equal): Update. * macrotab.c (struct macro_table) <bcache>: Update. (new_macro_table): Update. * macrotab.h (struct bcache): Put this forward declaration inside namespace gdb. (new_macro_table): Update. * objfiles.h (struct objfile_per_bfd_storage) <filename_cache>: Update. <macro_cache>: Update. * psymtab.h: (psymtab_storage) <psymbol_cache>: Update. Change-Id: I843d5e91f7ccb3db6d1099a8214c15a74510256f
This commit is contained in:
parent
93e55f0a03
commit
dfb65191d8
|
@ -1,3 +1,19 @@
|
|||
2019-12-06 Christian Biesinger <cbiesinger@google.com>
|
||||
|
||||
* bcache.c: Put in namespace gdb.
|
||||
* bcache.h: Likewise.
|
||||
* gdbtypes.c (check_types_worklist): Update.
|
||||
(types_deeply_equal): Update.
|
||||
* macrotab.c (struct macro_table) <bcache>: Update.
|
||||
(new_macro_table): Update.
|
||||
* macrotab.h (struct bcache): Put this forward declaration
|
||||
inside namespace gdb.
|
||||
(new_macro_table): Update.
|
||||
* objfiles.h (struct objfile_per_bfd_storage) <filename_cache>:
|
||||
Update.
|
||||
<macro_cache>: Update.
|
||||
* psymtab.h: (psymtab_storage) <psymbol_cache>: Update.
|
||||
|
||||
2019-12-06 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
PR symtab/24971
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
|
||||
#include <algorithm>
|
||||
|
||||
namespace gdb {
|
||||
|
||||
/* The type used to hold a single bcache string. The user data is
|
||||
stored in d.data. Since it can be any type, it needs to have the
|
||||
same alignment as the most strict alignment of any type on the host
|
||||
|
@ -378,3 +380,5 @@ bcache::memory_used ()
|
|||
return 0;
|
||||
return obstack_memory_used (&m_cache);
|
||||
}
|
||||
|
||||
} /* namespace gdb */
|
||||
|
|
|
@ -136,6 +136,8 @@
|
|||
|
||||
*/
|
||||
|
||||
namespace gdb {
|
||||
|
||||
struct bstring;
|
||||
|
||||
struct bcache
|
||||
|
@ -222,4 +224,6 @@ private:
|
|||
void expand_hash_table ();
|
||||
};
|
||||
|
||||
} /* namespace gdb */
|
||||
|
||||
#endif /* BCACHE_H */
|
||||
|
|
|
@ -3813,7 +3813,7 @@ check_types_equal (struct type *type1, struct type *type2,
|
|||
|
||||
static bool
|
||||
check_types_worklist (std::vector<type_equality_entry> *worklist,
|
||||
struct bcache *cache)
|
||||
gdb::bcache *cache)
|
||||
{
|
||||
while (!worklist->empty ())
|
||||
{
|
||||
|
@ -3849,7 +3849,7 @@ types_deeply_equal (struct type *type1, struct type *type2)
|
|||
if (type1 == type2)
|
||||
return true;
|
||||
|
||||
struct bcache cache (nullptr, nullptr);
|
||||
gdb::bcache cache (nullptr, nullptr);
|
||||
worklist.emplace_back (type1, type2);
|
||||
return check_types_worklist (&worklist, &cache);
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ struct macro_table
|
|||
|
||||
/* The bcache we should use to hold macro names, argument names, and
|
||||
definitions, or zero if we should use xmalloc. */
|
||||
struct bcache *bcache;
|
||||
gdb::bcache *bcache;
|
||||
|
||||
/* The main source file for this compilation unit --- the one whose
|
||||
name was given to the compiler. This is the root of the
|
||||
|
@ -1025,7 +1025,7 @@ macro_for_each_in_scope (struct macro_source_file *file, int line,
|
|||
|
||||
|
||||
struct macro_table *
|
||||
new_macro_table (struct obstack *obstack, struct bcache *b,
|
||||
new_macro_table (struct obstack *obstack, gdb::bcache *b,
|
||||
struct compunit_symtab *cust)
|
||||
{
|
||||
struct macro_table *t;
|
||||
|
|
|
@ -23,9 +23,12 @@
|
|||
#include "gdbsupport/function-view.h"
|
||||
|
||||
struct obstack;
|
||||
struct bcache;
|
||||
struct compunit_symtab;
|
||||
|
||||
namespace gdb {
|
||||
struct bcache;
|
||||
}
|
||||
|
||||
/* How do we represent a source location? I mean, how should we
|
||||
represent them within GDB; the user wants to use all sorts of
|
||||
ambiguous abbreviations, like "break 32" and "break foo.c:32"
|
||||
|
@ -170,7 +173,7 @@ struct macro_source_file
|
|||
the same source location (although 'gcc -DFOO -UFOO -DFOO=2' does
|
||||
do that in GCC 4.1.2.). */
|
||||
struct macro_table *new_macro_table (struct obstack *obstack,
|
||||
struct bcache *bcache,
|
||||
gdb::bcache *bcache,
|
||||
struct compunit_symtab *cust);
|
||||
|
||||
|
||||
|
|
|
@ -244,11 +244,11 @@ struct objfile_per_bfd_storage
|
|||
|
||||
/* Byte cache for file names. */
|
||||
|
||||
struct bcache filename_cache;
|
||||
gdb::bcache filename_cache;
|
||||
|
||||
/* Byte cache for macros. */
|
||||
|
||||
struct bcache macro_cache;
|
||||
gdb::bcache macro_cache;
|
||||
|
||||
/* The gdbarch associated with the BFD. Note that this gdbarch is
|
||||
determined solely from BFD information, without looking at target
|
||||
|
|
|
@ -120,7 +120,7 @@ public:
|
|||
/* A byte cache where we can stash arbitrary "chunks" of bytes that
|
||||
will not change. */
|
||||
|
||||
struct bcache psymbol_cache;
|
||||
gdb::bcache psymbol_cache;
|
||||
|
||||
/* Vectors of all partial symbols read in from file. The actual data
|
||||
is stored in the objfile_obstack. */
|
||||
|
|
Loading…
Reference in New Issue