diff options
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e78635c..8f49fc6 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,7 +1,12 @@ +2001-06-01 Nathan Sidwell <nathan@codesourcery.com> + + PR g++/2936 + Part missed from first commit + * decl2.c (finish_anon_union): Copy context. + 2001-05-30 Nathan Sidwell <nathan@codesourcery.com> PR g++/2936 - * decl.c (finish_anon_union): Copy context. * optimize.c (remap_decl): Remap anonymous aggregate members too. 2001-05-26 Nathan Sidwell <nathan@codesourcery.com> diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 0245bc0..3dac866 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -2113,6 +2113,9 @@ finish_anon_union (anon_union_decl) int static_p = TREE_STATIC (anon_union_decl); int external_p = DECL_EXTERNAL (anon_union_decl); + /* The VAR_DECL's context is the same as the TYPE's context. */ + DECL_CONTEXT (anon_union_decl) = DECL_CONTEXT (TYPE_NAME (type)); + if (TYPE_FIELDS (type) == NULL_TREE) return; |