diff options
author | Jason Merrill <jason@redhat.com> | 2009-09-21 12:11:26 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2009-09-21 12:11:26 -0400 |
commit | 334738b440a3f7eb2b1b488c2f4fbac88bd85ca9 (patch) | |
tree | edc1a6ce74de5322cf5d82e2b21a64c9572aae34 /gcc | |
parent | c67a1c461a7e39b564e4717032c526915bd1dfb8 (diff) | |
download | gcc-334738b440a3f7eb2b1b488c2f4fbac88bd85ca9.zip gcc-334738b440a3f7eb2b1b488c2f4fbac88bd85ca9.tar.gz gcc-334738b440a3f7eb2b1b488c2f4fbac88bd85ca9.tar.bz2 |
re PR c++/41421 ([C++0x] Trivial types should require trivial default constructor.)
PR c++/41421
* tree.c (trivial_type_p): Fix logic.
From-SVN: r151932
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/tree.c | 8 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/trivial1.C | 4 |
4 files changed, 18 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7629515..d2fa331 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,10 @@ 2009-09-21 Jason Merrill <jason@redhat.com> + PR c++/41421 + * tree.c (trivial_type_p): Fix logic. + +2009-09-21 Jason Merrill <jason@redhat.com> + * name-lookup.c (push_class_level_binding): Sanity check. 2009-09-18 Jason Merrill <jason@redhat.com> diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 51752a3..fb812e2 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -2323,10 +2323,10 @@ trivial_type_p (const_tree t) t = strip_array_types (CONST_CAST_TREE (t)); if (CLASS_TYPE_P (t)) - return !(TYPE_HAS_COMPLEX_DFLT (t) - || TYPE_HAS_COMPLEX_INIT_REF (t) - || TYPE_HAS_COMPLEX_ASSIGN_REF (t) - || TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t)); + return (TYPE_HAS_TRIVIAL_DFLT (t) + && TYPE_HAS_TRIVIAL_INIT_REF (t) + && TYPE_HAS_TRIVIAL_ASSIGN_REF (t) + && TYPE_HAS_TRIVIAL_DESTRUCTOR (t)); else return scalarish_type_p (t); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 89f787a..2df641b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-09-21 Jason Merrill <jason@redhat.com> + + PR c++/41421 + * g++.dg/cpp0x/trivial1.C: Expand. + 2009-09-21 Kai Tietz <kai.tietz@onevision.com> * gcc.dg/torture/calleesave-sse.c: New. diff --git a/gcc/testsuite/g++.dg/cpp0x/trivial1.C b/gcc/testsuite/g++.dg/cpp0x/trivial1.C index 62173ac..109c8cc 100644 --- a/gcc/testsuite/g++.dg/cpp0x/trivial1.C +++ b/gcc/testsuite/g++.dg/cpp0x/trivial1.C @@ -80,3 +80,7 @@ struct K { }; struct L: virtual K {}; YES(K); NO(L); + +// PR c++/41421 +struct O { O(int); }; +NO(O); |