mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-22 23:01:17 +08:00
re PR c++/46688 (g++ requires a function declaration when it should not)
PR c++/46688 * tree.c (build_vec_init_expr): Handle flexible array properly. From-SVN: r168782
This commit is contained in:
parent
8f66db3b32
commit
70f961a51e
@ -1,3 +1,9 @@
|
||||
2011-01-14 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/46688
|
||||
* tree.c (build_vec_init_expr): Handle flexible array
|
||||
properly.
|
||||
|
||||
2011-01-13 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
PR c++/47213
|
||||
|
@ -474,7 +474,12 @@ build_vec_init_expr (tree type, tree init)
|
||||
what functions are needed. Here we assume that init is either
|
||||
NULL_TREE, void_type_node (indicating value-initialization), or
|
||||
another array to copy. */
|
||||
if (init == void_type_node)
|
||||
if (integer_zerop (array_type_nelts_total (type)))
|
||||
{
|
||||
/* No actual initialization to do. */;
|
||||
init = NULL_TREE;
|
||||
}
|
||||
else if (init == void_type_node)
|
||||
{
|
||||
elt_init = build_value_init (inner_type, tf_warning_or_error);
|
||||
value_init = true;
|
||||
|
@ -1,3 +1,7 @@
|
||||
2011-01-14 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* g++.dg/ext/flexary2.C: New.
|
||||
|
||||
2011-01-14 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/47281
|
||||
|
11
gcc/testsuite/g++.dg/ext/flexary2.C
Normal file
11
gcc/testsuite/g++.dg/ext/flexary2.C
Normal file
@ -0,0 +1,11 @@
|
||||
// PR c++/46688
|
||||
// { dg-options "" }
|
||||
|
||||
struct A {
|
||||
A(int);
|
||||
};
|
||||
|
||||
struct B {
|
||||
B() {}
|
||||
A a[];
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user