public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-7941] gccrs: Rename some structs to avoid ODR issues
@ 2024-01-16 18:09 Arthur Cohen
0 siblings, 0 replies; only message in thread
From: Arthur Cohen @ 2024-01-16 18:09 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:34b0de57741bf3fec3bd013b71b761249095d8e8
commit r14-7941-g34b0de57741bf3fec3bd013b71b761249095d8e8
Author: Owen Avery <powerboat9.gamer@gmail.com>
Date: Fri Aug 18 16:37:46 2023 -0400
gccrs: Rename some structs to avoid ODR issues
gcc/rust/ChangeLog:
* backend/rust-tree.cc
(struct conv_type_hasher): Rename to ...
(struct rust_conv_type_hasher): ... here.
(struct cplus_array_hasher): Rename to ...
(struct rust_cplus_array_hasher): ... here.
(struct source_location_table_entry_hash): Rename to ...
(struct rust_source_location_table_entry_hash): ... here.
* backend/rust-tree.h
(struct named_decl_hash): Rename to ...
(struct rust_named_decl_hash): ... here.
(struct cxx_saved_binding): Rename to ...
(struct rust_cxx_saved_binding): ... here.
(struct named_label_hash): Rename to ...
(struct rust_named_label_hash): ... here.
(struct tree_pair_s): Rename to ...
(struct rust_tree_pair_s): ... here.
(struct tree_pair_p): Rename to ...
(struct rust_tree_pair_p): ... here.
Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diff:
---
gcc/rust/backend/rust-tree.cc | 22 +++++++++++-----------
gcc/rust/backend/rust-tree.h | 18 +++++++++---------
2 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/gcc/rust/backend/rust-tree.cc b/gcc/rust/backend/rust-tree.cc
index 6d4f344a20a..faea66876f2 100644
--- a/gcc/rust/backend/rust-tree.cc
+++ b/gcc/rust/backend/rust-tree.cc
@@ -1334,7 +1334,7 @@ struct find_parameter_pack_data
// forked from gcc/cp/lex.cc conv_type_hasher
/* Hasher for the conversion operator name hash table. */
-struct conv_type_hasher : ggc_ptr_hash<tree_node>
+struct rust_conv_type_hasher : ggc_ptr_hash<tree_node>
{
/* Hash NODE, an identifier node in the table. TYPE_UID is
suitable, as we're not concerned about matching canonicalness
@@ -1349,7 +1349,7 @@ struct conv_type_hasher : ggc_ptr_hash<tree_node>
static bool equal (tree node, tree type) { return TREE_TYPE (node) == type; }
};
-static GTY (()) hash_table<conv_type_hasher> *conv_type_names;
+static GTY (()) hash_table<rust_conv_type_hasher> *conv_type_names;
// forked from gcc/cp/lex.cc make_conv_op_name
@@ -1368,7 +1368,7 @@ make_conv_op_name (tree type)
return error_mark_node;
if (conv_type_names == NULL)
- conv_type_names = hash_table<conv_type_hasher>::create_ggc (31);
+ conv_type_names = hash_table<rust_conv_type_hasher>::create_ggc (31);
tree *slot
= conv_type_names->find_slot_with_hash (type, (hashval_t) TYPE_UID (type),
@@ -2251,7 +2251,7 @@ struct cplus_array_info
// forked from gcc/cp/tree.cc cplus_array_hasher
-struct cplus_array_hasher : ggc_ptr_hash<tree_node>
+struct rust_cplus_array_hasher : ggc_ptr_hash<tree_node>
{
typedef cplus_array_info *compare_type;
@@ -2262,7 +2262,7 @@ struct cplus_array_hasher : ggc_ptr_hash<tree_node>
/* Hash an ARRAY_TYPE. K is really of type `tree'. */
hashval_t
-cplus_array_hasher::hash (tree t)
+rust_cplus_array_hasher::hash (tree t)
{
hashval_t hash;
@@ -2276,7 +2276,7 @@ cplus_array_hasher::hash (tree t)
of type `cplus_array_info*'. */
bool
-cplus_array_hasher::equal (tree t1, cplus_array_info *t2)
+rust_cplus_array_hasher::equal (tree t1, cplus_array_info *t2)
{
return (TREE_TYPE (t1) == t2->type && TYPE_DOMAIN (t1) == t2->domain);
}
@@ -2285,7 +2285,7 @@ cplus_array_hasher::equal (tree t1, cplus_array_info *t2)
/* Hash table containing dependent array types, which are unsuitable for
the language-independent type hash table. */
-static GTY (()) hash_table<cplus_array_hasher> *cplus_array_htab;
+static GTY (()) hash_table<rust_cplus_array_hasher> *cplus_array_htab;
// forked from gcc/cp/tree.cc is_byte_access_type
@@ -2332,7 +2332,7 @@ build_cplus_array_type (tree elt_type, tree index_type, int dependent)
hashval_t hash;
if (cplus_array_htab == NULL)
- cplus_array_htab = hash_table<cplus_array_hasher>::create_ggc (61);
+ cplus_array_htab = hash_table<rust_cplus_array_hasher>::create_ggc (61);
hash = TYPE_UID (elt_type);
if (index_type)
@@ -4260,7 +4260,7 @@ namespace Rust {
/* Traits class for function start hash maps below. */
-struct source_location_table_entry_hash
+struct rust_source_location_table_entry_hash
: ggc_remove<source_location_table_entry>
{
typedef source_location_table_entry value_type;
@@ -4318,7 +4318,7 @@ struct source_location_table_entry_hash
};
static GTY (())
- hash_table<source_location_table_entry_hash> *source_location_table;
+ hash_table<rust_source_location_table_entry_hash> *source_location_table;
static GTY (()) unsigned int source_location_id;
// Above is forked from gcc/cp/cp-gimplify.cc
@@ -4760,7 +4760,7 @@ fold_builtin_source_location (location_t loc)
return build_zero_cst (const_ptr_type_node);
if (source_location_table == NULL)
source_location_table
- = hash_table<source_location_table_entry_hash>::create_ggc (64);
+ = hash_table<rust_source_location_table_entry_hash>::create_ggc (64);
const line_map_ordinary *map;
source_location_table_entry entry;
entry.loc = linemap_resolve_location (line_table, loc,
diff --git a/gcc/rust/backend/rust-tree.h b/gcc/rust/backend/rust-tree.h
index e1b44a1ee43..9a1cb74d617 100644
--- a/gcc/rust/backend/rust-tree.h
+++ b/gcc/rust/backend/rust-tree.h
@@ -1944,7 +1944,7 @@ typedef struct ptrmem_cst *ptrmem_cst_t;
/* hash traits for declarations. Hashes potential overload sets via
DECL_NAME. */
-struct named_decl_hash : ggc_remove<tree>
+struct rust_named_decl_hash : ggc_remove<tree>
{
typedef tree value_type; /* A DECL or OVERLOAD */
typedef tree compare_type; /* An identifier. */
@@ -2060,7 +2060,7 @@ struct GTY (()) cxx_binding
/* Datatype used to temporarily save C++ bindings (for implicit
instantiations purposes and like). Implemented in decl.cc. */
-struct GTY (()) cxx_saved_binding
+struct GTY (()) rust_cxx_saved_binding
{
/* The name of the current binding. */
tree identifier;
@@ -2075,7 +2075,7 @@ struct GTY (()) cxx_saved_binding
struct GTY (()) saved_scope
{
- vec<cxx_saved_binding, va_gc> *old_bindings;
+ vec<rust_cxx_saved_binding, va_gc> *old_bindings;
tree old_namespace;
vec<tree, va_gc> *decl_ns_list;
tree class_name;
@@ -2123,7 +2123,7 @@ extern GTY (()) struct saved_scope *scope_chain;
struct named_label_entry; /* Defined in decl.cc. */
-struct named_label_hash : ggc_remove<named_label_entry *>
+struct rust_named_label_hash : ggc_remove<named_label_entry *>
{
typedef named_label_entry *value_type;
typedef tree compare_type; /* An identifier. */
@@ -2169,7 +2169,7 @@ struct GTY (()) language_function
BOOL_BITFIELD invalid_constexpr : 1;
BOOL_BITFIELD throwing_cleanup : 1;
- hash_table<named_label_hash> *x_named_labels;
+ hash_table<rust_named_label_hash> *x_named_labels;
/* Tracking possibly infinite loops. This is a vec<tree> only because
vec<bool> doesn't work with gtype. */
@@ -2294,7 +2294,7 @@ struct GTY (()) lang_decl_ns
/* Hash table of bound decls. It'd be nice to have this inline, but
as the hash_map has a dtor, we can't then put this struct into a
union (until moving to c++11). */
- hash_table<named_decl_hash> *bindings;
+ hash_table<rust_named_decl_hash> *bindings;
};
// forked from gcc/cp/cp-tree.h lang_decl_parm
@@ -2504,7 +2504,7 @@ public:
// forked from gcc/cp/cp-tree.h treee_pair_s
-struct GTY (()) tree_pair_s
+struct GTY (()) rust_tree_pair_s
{
tree purpose;
tree value;
@@ -2512,7 +2512,7 @@ struct GTY (()) tree_pair_s
// forked from gcc/cp/cp-tree.h tree_pair_p
-typedef tree_pair_s *tree_pair_p;
+typedef rust_tree_pair_s *rust_tree_pair_p;
// forked from gcc/cp/cp-tree.h lang_type
@@ -2602,7 +2602,7 @@ struct GTY (()) lang_type
unsigned dummy : 3;
tree primary_base;
- vec<tree_pair_s, va_gc> *vcall_indices;
+ vec<rust_tree_pair_s, va_gc> *vcall_indices;
tree vtables;
tree typeinfo_var;
vec<tree, va_gc> *vbases;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-01-16 18:09 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-16 18:09 [gcc r14-7941] gccrs: Rename some structs to avoid ODR issues Arthur Cohen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).