aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2019-09-06 12:51:44 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2019-09-06 12:51:44 +0000
commitaff342a3c1808044323044506e0d034b55310bf1 (patch)
tree26c27602656535f48839d2c922811d793227fbca
parentc0c2096fbada36fa26778bc02b32555150050d85 (diff)
downloadgcc-aff342a3c1808044323044506e0d034b55310bf1.zip
gcc-aff342a3c1808044323044506e0d034b55310bf1.tar.gz
gcc-aff342a3c1808044323044506e0d034b55310bf1.tar.bz2
[PATCH] Deprecate -frepo option.
https://gcc.gnu.org/ml/gcc-patches/2019-09/msg00379.html 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. From-SVN: r275456
-rw-r--r--gcc/cp/ChangeLog8
-rw-r--r--gcc/cp/cp-tree.h17
-rw-r--r--gcc/cp/decl.c1
3 files changed, 8 insertions, 18 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 28285d9..48582ce 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,7 +1,11 @@
2019-09-06 Nathan Sidwell <nathan@acm.org>
- Reserve TREE_LANG_FLAG_3 for modules.
- gcc/cp/
+ 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.
+
+ (Reserve TREE_LANG_FLAG_3 for modules.
* cp-tree.h (DECL_CONSTRUCTION_VTABLE_P): Delete.
(DECL_NON_TRIVIALLY_INITIALIZED_P): Move to TREE_LANG_FLAG_6.
* class.c (build_ctor_vtbl_group): Don't set
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 60e0846..95e5eda 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -465,8 +465,7 @@ extern GTY(()) tree cp_global_trees[CPTI_MAX];
FUNCTION_RVALUE_QUALIFIED (in FUNCTION_TYPE, METHOD_TYPE)
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)
CALL_EXPR_OPERATOR_SYNTAX (in CALL_EXPR, AGGR_INIT_EXPR)
@@ -1112,12 +1111,6 @@ enum cp_identifier_kind {
#define IDENTIFIER_VIRTUAL_P(NODE) \
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. */
#define IDENTIFIER_KEYWORD_P(NODE) \
@@ -2590,7 +2583,6 @@ struct GTY(()) lang_decl_base {
unsigned use_template : 2;
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 */
/* anticipated_p reused as DECL_OMP_PRIVATIZED_MEMBER in var */
@@ -2601,7 +2593,7 @@ struct GTY(()) lang_decl_base {
unsigned concept_p : 1; /* applies to vars and functions */
unsigned var_declared_inline_p : 1; /* var */
unsigned dependent_init_p : 1; /* var */
- /* 1 spare bit */
+ /* 2 spare bits */
};
/* True for DECL codes which have template info and access. */
@@ -3162,11 +3154,6 @@ struct GTY(()) lang_decl {
#define DECL_EXTERN_C_FUNCTION_P(NODE) \
(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) \
DECL_LANG_FLAG_8 (VAR_OR_FUNCTION_DECL_CHECK (STRIP_TEMPLATE (DECL)))
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 825e1e6..88e2c3b 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -2388,7 +2388,6 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
/* Don't really know how much of the language-specific
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);