Commit 10c1d4af by Paolo Carlini

re PR c++/32158 (uninitialized_fill compile failure if no default assignment operator)

gcc/cp
2007-05-31  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32158
	* semantics.c (finish_trait_expr): Complete the types.

gcc/testsuite
2007-05-31  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32158
	* g++.dg/ext/is_pod_incomplete.C: New.

From-SVN: r125217
parent fdecbf80
2007-05-31 Paolo Carlini <pcarlini@suse.de>
PR c++/32158
* semantics.c (finish_trait_expr): Complete the types.
2007-05-30 Russell Yanofsky <russ@yanofsky.org>
Douglas Gregor <doug.gregor@gmail.com>
Pedro Lamarao <pedro.lamarao@mndfck.org>
......
......@@ -4177,11 +4177,15 @@ finish_trait_expr (cp_trait_kind kind, tree type1, tree type2)
return trait_expr;
}
complete_type (type1);
if (type2)
complete_type (type2);
/* The only required diagnostic. */
if (kind == CPTK_IS_BASE_OF
&& NON_UNION_CLASS_TYPE_P (type1) && NON_UNION_CLASS_TYPE_P (type2)
&& !same_type_ignoring_top_level_qualifiers_p (type1, type2)
&& !COMPLETE_TYPE_P (complete_type (type2)))
&& !COMPLETE_TYPE_P (type2))
{
error ("incomplete type %qT not allowed", type2);
return error_mark_node;
......
2007-05-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/32103 * gfortran.dg/module_equivalence_3.f90: New test. 2007-05-30 Russell Yanofsky <russ@yanofsky.org>
2007-05-31 Paolo Carlini <pcarlini@suse.de>
PR c++/32158
* g++.dg/ext/is_pod_incomplete.C: New.
2007-05-31 Russell Yanofsky <russ@yanofsky.org>
Douglas Gregor <doug.gregor@gmail.com>
Pedro Lamarao <pedro.lamarao@mndfck.org>
Howard Hinnant <howard.hinnant@gmail.com>
// PR c++/32158
template<typename T>
struct A
{
A() { }
};
int t[__is_pod(A<int>)?-1:1];
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