diff options
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/init.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3cd3b27bc17..1a94fb366bd 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2012-10-26 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/54984 + * init.c (build_new): Don't turn a null *init into a pointer to + empty vector orig_init. + 2012-10-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53761 diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 044603887e8..013b01eeb87 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -2911,7 +2911,8 @@ build_new (VEC(tree,gc) **placement, tree type, tree nelts, orig_placement = make_tree_vector_copy (*placement); orig_nelts = nelts; - orig_init = make_tree_vector_copy (*init); + if (*init) + orig_init = make_tree_vector_copy (*init); make_args_non_dependent (*placement); if (nelts) |