c++: name-lookup cleanups
authorNathan Sidwell <nathan@acm.org>
Wed, 9 Dec 2020 18:46:58 +0000 (10:46 -0800)
committerNathan Sidwell <nathan@acm.org>
Thu, 10 Dec 2020 13:21:52 +0000 (05:21 -0800)
commit79c1b9fb44ce9abd0e2f6642b65684b9721233ee
tree5627ac7623fde38782d6babcb853ee7608814be0
parent2e6562043c48c0ae6bc9823d438685269eb11aab
c++: name-lookup cleanups

Name-lookup is the most changed piece of the front end for modules.
Here are some preparatort cleanups and API extensions.

gcc/cp/
* name-lookup.h (set_class_bindings): Return vector, take signed
'extra' parm.
* name-lookup.c (maybe_lazily_declare): Break out ...
(get_class_binding): .. of here, call it.
(find_member_slot): Adjust get_class_bindings call.
(set_class_bindings): Allow -ve extra.  Return the vector.
(set_identifier_type_value_with_scope): Remove checking assert.
(lookup_using_decl): Set decl's context.
(do_pushtag): Adjust set_identifier_type_value_with_scope handling.
gcc/cp/name-lookup.c
gcc/cp/name-lookup.h