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
This commit is contained in:
parent
0f005f338f
commit
fc5fccdee9
4 changed files with 24 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
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
|
||||
|
|
9
gcc/testsuite/g++.dg/init/array13.C
Normal file
9
gcc/testsuite/g++.dg/init/array13.C
Normal file
|
@ -0,0 +1,9 @@
|
|||
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);
|
||||
}
|
||||
};
|
Loading…
Add table
Reference in a new issue