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>
|
2011-01-13 Kai Tietz <kai.tietz@onevision.com>
|
||||||
|
|
||||||
PR c++/47213
|
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
|
what functions are needed. Here we assume that init is either
|
||||||
NULL_TREE, void_type_node (indicating value-initialization), or
|
NULL_TREE, void_type_node (indicating value-initialization), or
|
||||||
another array to copy. */
|
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);
|
elt_init = build_value_init (inner_type, tf_warning_or_error);
|
||||||
value_init = true;
|
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>
|
2011-01-14 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
PR middle-end/47281
|
PR middle-end/47281
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
// PR c++/46688
|
||||||
|
// { dg-options "" }
|
||||||
|
|
||||||
|
struct A {
|
||||||
|
A(int);
|
||||||
|
};
|
||||||
|
|
||||||
|
struct B {
|
||||||
|
B() {}
|
||||||
|
A a[];
|
||||||
|
};
|
Loading…
Reference in New Issue