From 2063b07f4de76afe602730fb51acd8aebbf5c1bd Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Thu, 18 May 2017 15:20:04 +0000 Subject: [PATCH] cp-tree.h (OVL_USED): Replace with ... * cp-tree.h (OVL_USED): Replace with ... (OVL_USING_P): ... this. (ovl_iterator::using_p): Adjust. * name-lookup.c (push_overloaded_decl_1) do_nonmember_using_decl): Adjust. * search.c (lookup_field_r): Adjust. * tree.c (ovl_insert, ovl_scope): Adjust. (--This line, and those below, will be ignored-- M cp/tree.c M cp/cp-tree.h M cp/name-lookup.c M cp/search.c M cp/ChangeLog From-SVN: r248229 --- gcc/cp/ChangeLog | 8 ++++++++ gcc/cp/cp-tree.h | 9 ++++----- gcc/cp/name-lookup.c | 4 ++-- gcc/cp/search.c | 2 +- gcc/cp/tree.c | 6 +++--- 5 files changed, 18 insertions(+), 11 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8b5f8513a5a..01c506b9f1e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,13 @@ 2017-05-18 Nathan Sidwell + * cp-tree.h (OVL_USED): Replace with ... + (OVL_USING_P): ... this. + (ovl_iterator::using_p): Adjust. + * name-lookup.c (push_overloaded_decl_1, + do_nonmember_using_decl): Adjust. + * search.c (lookup_field_r): Adjust. + * tree.c (ovl_insert, ovl_scope): Adjust. + * cp-tree.h (lookup_add): Swap args. (ovl_cons, build_overload): Delete. * name-lookup.c (add_function, push_overloaded_decl_1, diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 3e1cf306eb0..bd312521377 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -351,6 +351,7 @@ extern GTY(()) tree cp_global_trees[CPTI_MAX]; CONSTRUCTOR_NO_IMPLICIT_ZERO (in CONSTRUCTOR) TINFO_USED_TEMPLATE_ID (in TEMPLATE_INFO) PACK_EXPANSION_SIZEOF_P (in *_PACK_EXPANSION) + OVL_USING_P (in OVERLOAD) 2: IDENTIFIER_OPNAME_P (in IDENTIFIER_NODE) ICS_THIS_FLAG (in _CONV) DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (in VAR_DECL) @@ -640,14 +641,12 @@ typedef struct ptrmem_cst * ptrmem_cst_t; ((TREE_CODE (NODE) == OVERLOAD) ? OVL_FUNCTION (NODE) : (NODE)) #define OVL_NEXT(NODE) \ ((TREE_CODE (NODE) == OVERLOAD) ? TREE_CHAIN (NODE) : NULL_TREE) -/* If set, this was imported in a using declaration. - This is not to confuse with being used somewhere, which - is not important for this node. */ -#define OVL_USED(NODE) TREE_USED (OVERLOAD_CHECK (NODE)) /* If set, this OVERLOAD was created for argument-dependent lookup and can be freed afterward. */ #define OVL_ARG_DEPENDENT(NODE) TREE_LANG_FLAG_0 (OVERLOAD_CHECK (NODE)) +/* If set, this was imported in a using declaration. */ +#define OVL_USING_P(NODE) TREE_LANG_FLAG_1 (OVERLOAD_CHECK (NODE)) /* If set, this overload contains a nested overload. */ #define OVL_NESTED_P(NODE) TREE_LANG_FLAG_3 (OVERLOAD_CHECK (NODE)) /* If set, this overload was constructed during lookup. */ @@ -705,7 +704,7 @@ class ovl_iterator /* Whether this overload was introduced by a using decl. */ bool using_p () const { - return TREE_CODE (ovl) == OVERLOAD && OVL_USED (ovl); + return TREE_CODE (ovl) == OVERLOAD && OVL_USING_P (ovl); } tree remove_node (tree head) { diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index a4fe3d3ee2a..e55b48dd7ff 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -2920,7 +2920,7 @@ push_overloaded_decl_1 (tree decl, int flags, bool is_friend) tree fn = OVL_CURRENT (tmp); tree dup; - if (TREE_CODE (tmp) == OVERLOAD && OVL_USED (tmp) + if (TREE_CODE (tmp) == OVERLOAD && OVL_USING_P (tmp) && !(flags & PUSH_USING) && compparms_for_decl_and_using_decl (fn, decl) && ! decls_match (fn, decl)) @@ -3136,7 +3136,7 @@ do_nonmember_using_decl (tree scope, tree name, tree oldval, tree oldtype, if (new_fn == old_fn) /* The function already exists in the current namespace. */ break; - else if (TREE_CODE (tmp1) == OVERLOAD && OVL_USED (tmp1)) + else if (TREE_CODE (tmp1) == OVERLOAD && OVL_USING_P (tmp1)) continue; /* this is a using decl */ else if (compparms_for_decl_and_using_decl (new_fn, old_fn)) { diff --git a/gcc/cp/search.c b/gcc/cp/search.c index 4d41f989094..d8ad40a98a7 100644 --- a/gcc/cp/search.c +++ b/gcc/cp/search.c @@ -1106,7 +1106,7 @@ lookup_field_r (tree binfo, void *data) if (!nval) /* Look for a data member or type. */ nval = lookup_field_1 (type, lfi->name, lfi->want_type); - else if (TREE_CODE (nval) == OVERLOAD && OVL_USED (nval)) + else if (TREE_CODE (nval) == OVERLOAD && OVL_USING_P (nval)) { /* If we have both dependent and non-dependent using-declarations, return the dependent one rather than an incomplete list of functions. */ diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 4417f079212..61254c072ed 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -2138,7 +2138,7 @@ ovl_insert (tree fn, tree maybe_ovl, bool using_p) /* Find insertion point. */ while (maybe_ovl && TREE_CODE (maybe_ovl) == OVERLOAD - && (weight < OVL_USED (maybe_ovl))) + && (weight < OVL_USING_P (maybe_ovl))) { if (!result) result = maybe_ovl; @@ -2151,7 +2151,7 @@ ovl_insert (tree fn, tree maybe_ovl, bool using_p) { trail = ovl_make (fn, maybe_ovl); if (using_p) - OVL_USED (trail) = true; + OVL_USING_P (trail) = true; } if (insert_after) @@ -2290,7 +2290,7 @@ ovl_scope (tree ovl) if (TREE_CODE (ovl) == TEMPLATE_ID_EXPR) ovl = TREE_OPERAND (ovl, 0); /* Skip using-declarations. */ - while (TREE_CODE (ovl) == OVERLOAD && OVL_USED (ovl) && OVL_CHAIN (ovl)) + while (TREE_CODE (ovl) == OVERLOAD && OVL_USING_P (ovl) && OVL_CHAIN (ovl)) ovl = OVL_CHAIN (ovl); return CP_DECL_CONTEXT (OVL_CURRENT (ovl)); } -- 2.30.2