[CCs trimmed] On 9/6/19 2:58 AM, Martin Liška wrote:
Ok, hopefully nobody is strongly against. I've just retested the patch and installed it as r275450.
Martin missed a couple of spots. Installing this. 1 bit freed! nathan -- Nathan Sidwell
2019-09-06 Nathan Sidwell <nat...@acm.org> PR c++/91125 * cp-tree.h (IDENTIFIER_REPO_CHOSEN, DECL_REPO_AVAILABLE_P): Delete. (struct lang_decl_base): Remove repo_available_p. * decl.c (duplicate_decls): Don't copy DECL_REPO_AVAILABLE_P. Index: cp-tree.h =================================================================== --- cp-tree.h (revision 275455) +++ cp-tree.h (working copy) @@ -466,6 +466,5 @@ extern GTY(()) tree cp_global_trees[CPTI CALL_EXPR_REVERSE_ARGS (in CALL_EXPR, AGGR_INIT_EXPR) CONSTRUCTOR_PLACEHOLDER_BOUNDARY (in CONSTRUCTOR) - 6: IDENTIFIER_REPO_CHOSEN (in IDENTIFIER_NODE) - TYPE_MARKED_P (in _TYPE) + 6: TYPE_MARKED_P (in _TYPE) DECL_NON_TRIVIALLY_INITIALIZED_P (in VAR_DECL) RANGE_FOR_IVDEP (in RANGE_FOR_STMT) @@ -1113,10 +1112,4 @@ enum cp_identifier_kind { TREE_LANG_FLAG_5 (IDENTIFIER_NODE_CHECK (NODE)) -/* True iff NAME is the DECL_ASSEMBLER_NAME for an entity with vague - linkage which the prelinker has assigned to this translation - unit. */ -#define IDENTIFIER_REPO_CHOSEN(NAME) \ - (TREE_LANG_FLAG_6 (IDENTIFIER_NODE_CHECK (NAME))) - /* True if this identifier is a reserved word. C_RID_CODE (node) is then the RID_* value of the keyword. Value 1. */ @@ -2591,5 +2584,4 @@ struct GTY(()) lang_decl_base { unsigned not_really_extern : 1; /* var or fn */ unsigned initialized_in_class : 1; /* var or fn */ - unsigned repo_available_p : 1; /* var or fn */ unsigned threadprivate_or_deleted_p : 1; /* var or fn */ unsigned anticipated_p : 1; /* fn, type or template */ @@ -2602,5 +2594,5 @@ struct GTY(()) lang_decl_base { unsigned var_declared_inline_p : 1; /* var */ unsigned dependent_init_p : 1; /* var */ - /* 1 spare bit */ + /* 2 spare bits */ }; @@ -3163,9 +3155,4 @@ struct GTY(()) lang_decl { (DECL_NON_THUNK_FUNCTION_P (NODE) && DECL_EXTERN_C_P (NODE)) -/* True iff DECL is an entity with vague linkage whose definition is - available in this translation unit. */ -#define DECL_REPO_AVAILABLE_P(NODE) \ - (DECL_LANG_SPECIFIC (NODE)->u.base.repo_available_p) - /* True if DECL is declared 'constexpr'. */ #define DECL_DECLARED_CONSTEXPR_P(DECL) \ Index: decl.c =================================================================== --- decl.c (revision 275455) +++ decl.c (working copy) @@ -2389,5 +2389,4 @@ duplicate_decls (tree newdecl, tree oldd values we should copy from old to new. */ DECL_IN_AGGR_P (newdecl) = DECL_IN_AGGR_P (olddecl); - DECL_REPO_AVAILABLE_P (newdecl) = DECL_REPO_AVAILABLE_P (olddecl); DECL_INITIALIZED_IN_CLASS_P (newdecl) |= DECL_INITIALIZED_IN_CLASS_P (olddecl);