Commit 334738b4 by Jason Merrill Committed by Jason Merrill

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
parent c67a1c46
2009-09-21 Jason Merrill <jason@redhat.com> 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. * name-lookup.c (push_class_level_binding): Sanity check.
2009-09-18 Jason Merrill <jason@redhat.com> 2009-09-18 Jason Merrill <jason@redhat.com>
......
...@@ -2323,10 +2323,10 @@ trivial_type_p (const_tree t) ...@@ -2323,10 +2323,10 @@ trivial_type_p (const_tree t)
t = strip_array_types (CONST_CAST_TREE (t)); t = strip_array_types (CONST_CAST_TREE (t));
if (CLASS_TYPE_P (t)) if (CLASS_TYPE_P (t))
return !(TYPE_HAS_COMPLEX_DFLT (t) return (TYPE_HAS_TRIVIAL_DFLT (t)
|| TYPE_HAS_COMPLEX_INIT_REF (t) && TYPE_HAS_TRIVIAL_INIT_REF (t)
|| TYPE_HAS_COMPLEX_ASSIGN_REF (t) && TYPE_HAS_TRIVIAL_ASSIGN_REF (t)
|| TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t)); && TYPE_HAS_TRIVIAL_DESTRUCTOR (t));
else else
return scalarish_type_p (t); return scalarish_type_p (t);
} }
......
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> 2009-09-21 Kai Tietz <kai.tietz@onevision.com>
* gcc.dg/torture/calleesave-sse.c: New. * gcc.dg/torture/calleesave-sse.c: New.
......
...@@ -80,3 +80,7 @@ struct K { }; ...@@ -80,3 +80,7 @@ struct K { };
struct L: virtual K {}; struct L: virtual K {};
YES(K); YES(K);
NO(L); NO(L);
// PR c++/41421
struct O { O(int); };
NO(O);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment