diff options
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/tree.h b/gcc/tree.h index 9c1a1aa67dc..41b5001834d 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -2868,6 +2868,8 @@ extern void decl_restrict_base_insert (tree, tree); something which is DECL_COMDAT. */ #define DECL_COMDAT(NODE) (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.comdat_flag) +#define DECL_COMDAT_GROUP(NODE) (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.comdat_group) + /* A replaceable function is one which may be replaced at link-time with an entirely different definition, provided that the replacement has the same type. For example, functions declared @@ -2936,12 +2938,13 @@ extern void decl_restrict_base_insert (tree, tree); /* Used in TREE_PUBLIC decls to indicate that copies of this DECL in multiple translation units should be merged. */ -#define DECL_ONE_ONLY(NODE) (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.one_only) +#define DECL_ONE_ONLY(NODE) (DECL_COMDAT_GROUP (NODE) != NULL_TREE) struct GTY(()) tree_decl_with_vis { struct tree_decl_with_rtl common; tree assembler_name; tree section_name; + tree comdat_group; /* Belong to VAR_DECL exclusively. */ unsigned defer_output:1; @@ -2961,12 +2964,11 @@ struct GTY(()) tree_decl_with_vis { ENUM_BITFIELD(symbol_visibility) visibility : 2; unsigned visibility_specified : 1; /* Belong to FUNCTION_DECL exclusively. */ - unsigned one_only : 1; unsigned init_priority_p:1; /* Belongs to VAR_DECL exclusively. */ ENUM_BITFIELD(tls_model) tls_model : 3; - /* 13 unused bits. */ + /* 14 unused bits. */ }; /* In a VAR_DECL that's static, @@ -4995,7 +4997,7 @@ extern unsigned int update_alignment_for_field (record_layout_info, tree, unsigned int); /* varasm.c */ extern void make_decl_rtl (tree); -extern void make_decl_one_only (tree); +extern void make_decl_one_only (tree, tree); extern int supports_one_only (void); extern void resolve_unique_section (tree, int, int); extern void mark_referenced (tree); |