Kill CLASSTYPE_SORTED_FIELDS.
authorNathan Sidwell <nathan@acm.org>
Tue, 12 Sep 2017 12:50:56 +0000 (12:50 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Tue, 12 Sep 2017 12:50:56 +0000 (12:50 +0000)
commit45e3a33db7e23a4328974d19a5843d5053461eec
tree9efd23e51160d2e92bd32f30d928a7d16301d189
parent20614c86632bcc03d09303b7d4df97cd590a8f38
Kill CLASSTYPE_SORTED_FIELDS.

* cp-tree.h (struct lang_type): Lose sorted_fields member.
(CLASSTYPE_SORTED_FIELDS): Delete.
* name-lookup.h (set_class_bindings): Add EXTRA arg.
* name-lookup.c (fields_linear_search): New, broken out of ...
(lookup_field_1): ... here.  Delete remainder of function.
(get_class_binding_direct): Reimplement without sorted_fields.
(get_class_binding): Rename TYPE arg to KLASS, for consistency.
(get_method_slot): Call set_class_binding when creating method_vec
on complete type.
(method_name_cmp): Order identically named slots.
(sorted_fields_type_new): Delete.
(field_vc_append_class_fields): Rename to ...
(method_vec_append_class_fields): ... here.  Adjust.
(field_vec_append_enum_values): Renme to ...
(method_vec_append_enum_values): ... here. Adjust.
(method_vec_dedup): New.
(set_class_bindings): Reimplement.
(insert_late_enum_def_bindings): Reimplement.

From-SVN: r252005
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/name-lookup.c
gcc/cp/name-lookup.h