Skip to content

Commit

Permalink
* cp-tree.h (OVL_USED): Replace with ...
Browse files Browse the repository at this point in the history
	(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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248229 138bc75d-0d04-0410-961f-82ee72b054a4
  • Loading branch information
nathan committed May 18, 2017
1 parent ffdaf8f commit 6f3e4f4
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 11 deletions.
8 changes: 8 additions & 0 deletions gcc/cp/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
2017-05-18 Nathan Sidwell <nathan@acm.org>

* 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,
Expand Down
9 changes: 4 additions & 5 deletions gcc/cp/cp-tree.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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. */
Expand Down Expand Up @@ -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)
{
Expand Down
4 changes: 2 additions & 2 deletions gcc/cp/name-lookup.c
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down Expand Up @@ -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))
{
Expand Down
2 changes: 1 addition & 1 deletion gcc/cp/search.c
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand Down
6 changes: 3 additions & 3 deletions gcc/cp/tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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)
Expand Down Expand Up @@ -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));
}
Expand Down

0 comments on commit 6f3e4f4

Please sign in to comment.