summaryrefslogtreecommitdiff
path: root/libcc1
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2020-10-02 12:21:08 -0700
committerNathan Sidwell <nathan@acm.org>2020-10-02 12:21:08 -0700
commit679dbc9dcec0d1240951442947199ba155f494b6 (patch)
tree32a0b84c34b0d8598cd12f7b34388d598780f933 /libcc1
parent7ee1c0413e251ff0b6a6d526209ef038b9835320 (diff)
c++: Kill DECL_ANTICIPATED
Here's the patch to remove DECL_ANTICIPATED, and with it hiddenness is managed entirely in the symbol table. Sadly I couldn't get rid of the actual field without more investigation -- it's repurposed for OMP_PRIVATIZED_MEMBER. It looks like a the VAR-related flags in lang_decl_base are not completely orthogonal, so perhaps some can be turned into an enumeration or something. But that's more than I want to do right now. DECL_FRIEND_P Is still slightly suspect as it appears to mean more than just in-class definition. However, I'm leaving that for now. gcc/cp/ * cp-tree.h (lang_decl_base): anticipated_p is not used for anticipatedness. (DECL_ANTICIPATED): Delete. * decl.c (duplicate_decls): Delete DECL_ANTICIPATED_management, use was_hidden. (cxx_builtin_function): Drop DECL_ANTICIPATED setting. (xref_tag_1): Drop DECL_ANTICIPATED assert. * name-lookup.c (name_lookup::adl_class_only): Drop DECL_ANTICIPATED check. (name_lookup::search_adl): Always dedup. (anticipated_builtin_p): Reimplement. (do_pushdecl): Drop DECL_ANTICIPATED asserts & update. (lookup_elaborated_type_1): Drop DECL_ANTICIPATED update. (do_pushtag): Drop DECL_ANTICIPATED setting. * pt.c (push_template_decl): Likewise. (tsubst_friend_class): Likewise. libcc1/ * libcp1plugin.cc (libcp1plugin.cc): Drop DECL_ANTICIPATED test.
Diffstat (limited to 'libcc1')
-rw-r--r--libcc1/libcp1plugin.cc1
1 files changed, 0 insertions, 1 deletions
diff --git a/libcc1/libcp1plugin.cc b/libcc1/libcp1plugin.cc
index 3fe310dbb8e..98174250585 100644
--- a/libcc1/libcp1plugin.cc
+++ b/libcc1/libcp1plugin.cc
@@ -353,7 +353,6 @@ supplement_binding (cxx_binding *binding, tree decl)
/* If TARGET_BVAL is anticipated but has not yet been
declared, pretend it is not there at all. */
|| (TREE_CODE (target_bval) == FUNCTION_DECL
- && DECL_ANTICIPATED (target_bval)
&& DECL_BUILTIN_P (target_bval)))
binding->value = decl;
else if (TREE_CODE (target_bval) == TYPE_DECL