Implement anonymous structs.
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 May 1999 10:44:22 +0000 (10:44 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 May 1999 10:44:22 +0000 (10:44 +0000)
commit128e1d722d6a685ec6be49e5f11739ba9a76f9a8
treef4a2d76ef728e21180a863ba3b68bc67af34dcce
parent1fbf52a75a96a90bd4f02656971541ea9bfb1864
Implement anonymous structs.
* cp-tree.h (ANON_AGGR_TYPE_P): Rename from ANON_UNION_TYPE_P.
* class.c, decl.c, decl2.c, init.c, pt.c, search.c, typeck.c: Adjust.
* class.c (finish_struct_1): Remove redundant check for anon struct.
* decl.c (fixup_anonymous_aggr): Renamed from fixup_anonymous_union.
(check_tag_decl): Check for anonymous struct here.
* decl2.c (build_anon_union_vars): Catch anon struct at file scope.
* init.c (sort_member_init, emit_base_init): Handle getting fields
as well as names in current_member_init_list.
(perform_member_init): Handle getting an anon aggr.
* method.c (do_build_assign_ref): Don't descend into anon aggrs.
(do_build_copy_constructor): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27027 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/init.c
gcc/cp/method.c
gcc/cp/pt.c
gcc/cp/search.c
gcc/cp/typeck.c