diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-23 14:08:25 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-23 14:08:25 +0000 |
commit | 23d64a17f5ae088c8b6e04f5db94f6cacc0492d2 (patch) | |
tree | 44310bb83003aec8c18da2121e39487979170bd2 /gcc/cp/init.c | |
parent | 435172d141d9080a7944f18d971badf4363a2636 (diff) | |
download | gcc-23d64a17f5ae088c8b6e04f5db94f6cacc0492d2.tar.gz |
PR c++/66501
* class.c (type_has_nontrivial_assignment): New.
* init.c (build_vec_init): Use it.
* cp-tree.h: Declare it.
* method.c (trivial_fn_p): Templates aren't trivial.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224843 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/init.c')
-rw-r--r-- | gcc/cp/init.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c index fc30fef6ded..08c6c0ee0cf 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -3460,8 +3460,7 @@ build_vec_init (tree base, tree maxindex, tree init, && TREE_CODE (atype) == ARRAY_TYPE && TREE_CONSTANT (maxindex) && (from_array == 2 - ? (!CLASS_TYPE_P (inner_elt_type) - || !TYPE_HAS_COMPLEX_COPY_ASSIGN (inner_elt_type)) + ? !type_has_nontrivial_assignment (inner_elt_type) : !TYPE_NEEDS_CONSTRUCTING (type)) && ((TREE_CODE (init) == CONSTRUCTOR /* Don't do this if the CONSTRUCTOR might contain something |