diff options
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e1dbb3b..d707fec 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2013-11-01 Trevor Saunders <tsaunders@mozilla.com> + + * semantics.c (build_anon_member_initialization): Convert fields to be + a stack_vec. + 2013-11-01 Marc Glisse <marc.glisse@inria.fr> PR c++/58834 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 6c560c6..366756f 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -7439,8 +7439,7 @@ build_anon_member_initialization (tree member, tree init, to build up the initializer from the outside in so that we can reuse previously built CONSTRUCTORs if this is, say, the second field in an anonymous struct. So we use a vec as a stack. */ - vec<tree> fields; - fields.create (2); + stack_vec<tree, 2> fields; do { fields.safe_push (TREE_OPERAND (member, 1)); @@ -7472,7 +7471,6 @@ build_anon_member_initialization (tree member, tree init, /* Now we're at the innermost field, the one that isn't an anonymous aggregate. Add its initializer to the CONSTRUCTOR and we're done. */ gcc_assert (fields.is_empty()); - fields.release (); CONSTRUCTOR_APPEND_ELT (*vec, field, init); return true; |