+2010-04-07 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/40239
+ * typeck2.c (process_init_constructor_record):
+ value-initialize members that are are not explicitely
+ initialized.
+
2010-04-07 Jie Zhang <jie@codesourcery.com>
PR c++/42556
for us, so build up TARGET_EXPRs. If the type in question is
a class, just build one up; if it's an array, recurse. */
if (MAYBE_CLASS_TYPE_P (TREE_TYPE (field)))
- next = build_functional_cast (TREE_TYPE (field), NULL_TREE,
- tf_warning_or_error);
+ {
+ next = build_functional_cast (TREE_TYPE (field), NULL_TREE,
+ tf_warning_or_error);
+ /* direct-initialize the target. No temporary is going
+ to be involved. */
+ if (TREE_CODE (next) == TARGET_EXPR)
+ TARGET_EXPR_DIRECT_INIT_P (next) = true;
+ }
else
next = build_constructor (init_list_type_node, NULL);
+2010-04-07 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/40239
+ * g++.dg/init/aggr5.C: New test.
+ * g++.dg/init/aggr5.C: New test.
+
2010-04-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/43270