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
This commit is contained in:
Jason Merrill 2009-09-21 12:11:26 -04:00 committed by Jason Merrill
parent c67a1c461a
commit 334738b440
4 changed files with 18 additions and 4 deletions

View file

@ -1,3 +1,8 @@
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.

View file

@ -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);
}

View file

@ -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.

View file

@ -80,3 +80,7 @@ struct K { };
struct L: virtual K {};
YES(K);
NO(L);
// PR c++/41421
struct O { O(int); };
NO(O);