r260679 - in /branches/c++-modules: ChangeLog.m...
nathan@gcc.gnu.org
nathan@gcc.gnu.org
Thu May 24 17:41:00 GMT 2018
Author: nathan
Date: Thu May 24 17:41:46 2018
New Revision: 260679
URL: https://gcc.gnu.org/viewcvs?rev=260679&root=gcc&view=rev
Log:
DECL_DISCRIMINATOR for local classes, merge local var disc.
gcc/cp/
* cp-tree.h (language_function): Remove x_local_names.
(DECL_DISCRIMINATOR_P): Allow IMPLICIT_TyPEDEF too.
(DECL_DISCRIMINATOR_SET_P): Delete.
(local_classes): Delete declaration.
(determine_local_discriminator): Declare.
* class.c (local_classes): Delete.
(init_class_processing): Don't init it.
* decl.c (local_names): Delete.
(local_entities): New.
(push_local_name): Replace with ...
(determine_local_discriminator): ... this.
(cp_finish_decl): Adjust.
(save_function_data, finish_function): Remove local_name handling.
* decl2.c (finish_anon_union): Set discriminator.
* mangle.c (write_unnamed_type_name): Use discriminator_for_local_entity.
(local_class_index): Delete.
(discriminator_for_local_entity): Use DECL_DISCRIMINATOR for both
cases.
(write_local_name): Adjust.
* name-lookup.c (do_pushtag): Use determine_local_discriminator.
gcc/testsuite/
* g++.dg/abi/anon5.C: New.
Added:
branches/c++-modules/gcc/testsuite/g++.dg/abi/anon5.C
Modified:
branches/c++-modules/ChangeLog.modules
branches/c++-modules/gcc/cp/class.c
branches/c++-modules/gcc/cp/cp-tree.h
branches/c++-modules/gcc/cp/decl.c
branches/c++-modules/gcc/cp/decl2.c
branches/c++-modules/gcc/cp/mangle.c
branches/c++-modules/gcc/cp/name-lookup.c
More information about the Gcc-cvs
mailing list