aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/tree.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2012-12-06 23:53:46 -0500
committerJason Merrill <jason@gcc.gnu.org>2012-12-06 23:53:46 -0500
commit01290963d131b098cc4b0f3f5d3401e976eb8d6e (patch)
treeff9846a31edd88ec6b391200581f81d67e77189d /gcc/cp/tree.c
parent2c340383f06c567a638e5f557c4e16d02b92c436 (diff)
downloadgcc-01290963d131b098cc4b0f3f5d3401e976eb8d6e.zip
gcc-01290963d131b098cc4b0f3f5d3401e976eb8d6e.tar.gz
gcc-01290963d131b098cc4b0f3f5d3401e976eb8d6e.tar.bz2
re PR c++/55249 (Multiple copy constructors for template class lead to link errors)
PR c++/55249 * tree.c (build_vec_init_elt): Use the type of the initializer. From-SVN: r194281
Diffstat (limited to 'gcc/cp/tree.c')
-rw-r--r--gcc/cp/tree.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 58725f3..28ff0f2 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -524,7 +524,8 @@ build_vec_init_elt (tree type, tree init, tsubst_flags_t complain)
argvec = make_tree_vector ();
if (init)
{
- tree dummy = build_dummy_object (inner_type);
+ tree init_type = strip_array_types (TREE_TYPE (init));
+ tree dummy = build_dummy_object (init_type);
if (!real_lvalue_p (init))
dummy = move (dummy);
argvec->quick_push (dummy);