Commit fc5fccde by Mark Mitchell Committed by Mark Mitchell

re PR c++/14616 (disjoint_set_test.cpp from boost does not compile (sizeof))

	PR c++/14616
	* decl.c (cp_finish_decl): Compute the size of arrays declared in
	templates, if their type is non-dependent.

	PR c++/14616
	* g++.dg/init/array13.C: New test.

From-SVN: r79788
parent 0f005f33
2004-03-21 Mark Mitchell <mark@codesourcery.com>
PR c++/14616
* decl.c (cp_finish_decl): Compute the size of arrays declared in
templates, if their type is non-dependent.
2004-03-19 Mark Mitchell <mark@codesourcery.com>
* call.c (build_op_delete_call): Do not forget the placement
......
......@@ -4711,6 +4711,10 @@ cp_finish_decl (tree decl, tree init, tree asmspec_tree, int flags)
if (init && DECL_INITIAL (decl))
DECL_INITIAL (decl) = init;
if (TREE_CODE (decl) == VAR_DECL
&& !DECL_PRETTY_FUNCTION_P (decl)
&& !dependent_type_p (TREE_TYPE (decl)))
maybe_deduce_size_from_array_init (decl, init);
goto finish_end0;
}
......
2004-03-21 Mark Mitchell <mark@codesourcery.com>
PR c++/14616
* g++.dg/init/array13.C: New test.
2004-03-20 Roger Sayle <roger@eyesopen.com>
PR target/13889
......
template <typename DisjointSet>
struct test_disjoint_set {
static void do_test()
{
unsigned int elts[]
= { 0, 1, 2, 3 };
const int N = sizeof(elts)/sizeof(*elts);
}
};
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