summaryrefslogtreecommitdiff
path: root/gcc/print-tree.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2008-02-04 03:28:53 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2008-02-04 03:28:53 +0000
commit930e81755b53deb8ef27e5531d87d33be3c59d3b (patch)
tree985387257ec096f981de1673a4abb0deacefe8d7 /gcc/print-tree.c
parentc55906ebc040e0fb9e0d44be38b343068e6bbc1d (diff)
downloadgcc-930e81755b53deb8ef27e5531d87d33be3c59d3b.tar.gz
PR c++/33916
* cp/init.c (build_value_init_1): New function. (build_value_init): New function. * cp/typeck2.c (build_functional_cast): Call it. * cp/cp-gimplify.c (cp_gimplify_init_expr): Handle its output. * cp/cp-tree.h (TYPE_HAS_USER_CONSTRUCTOR): Rename from TYPE_HAS_CONSTRUCTOR. * cp/class.c (finish_struct_bits, maybe_warn_about_overly_private_class, add_implicitly_declared_members): Adjust. (check_field_decls): Adjust. Remove warnings about reference/const in class without constructor. (check_bases_and_members): Adjust. Give those warnings here instead. * cp/decl.c (fixup_anonymous_aggr): Adjust. (check_initializer): Adjust, clarify logic slightly. (grok_special_member_properties): Adjust, only set if user-provided. * cp/rtti.c (create_tinfo_types): Don't set. * cp/cvt.c (ocp_convert): Remove exception for vtable_entry_type et al. Use same_type_ignoring_top_level_qualifiers_p. * cp/pt.c (check_explicit_specialization): Adjust. (instantiate_class_template): Adjust. * print-tree.c (print_node) [CONSTRUCTOR]: Print elements. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132088 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/print-tree.c')
-rw-r--r--gcc/print-tree.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/print-tree.c b/gcc/print-tree.c
index 37c10078602..8f2ca7555c8 100644
--- a/gcc/print-tree.c
+++ b/gcc/print-tree.c
@@ -851,6 +851,21 @@ print_node (FILE *file, const char *prefix, tree node, int indent)
}
break;
+ case CONSTRUCTOR:
+ {
+ unsigned HOST_WIDE_INT cnt;
+ tree index, value;
+ len = VEC_length (constructor_elt, CONSTRUCTOR_ELTS (node));
+ fprintf (file, " lngt %d", len);
+ FOR_EACH_CONSTRUCTOR_ELT (CONSTRUCTOR_ELTS (node),
+ cnt, index, value)
+ {
+ print_node (file, "idx", index, indent + 4);
+ print_node (file, "val", value, indent + 4);
+ }
+ }
+ break;
+
case STATEMENT_LIST:
dump_addr (file, " head ", node->stmt_list.head);
dump_addr (file, " tail ", node->stmt_list.tail);