OSDN Git Service

Make CONSTRUCTOR use VEC to store initializers.
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index ac9f3b4..0704146 100644 (file)
@@ -1,3 +1,107 @@
+2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
+
+       Make CONSTRUCTOR use VEC to store initializers.
+       * call.c (convert_default_arg): Update call to digest_init.
+       * class.c (dump_class_hierarchy, dump_array): Update to cope with
+       VEC in CONSTRUCTOR_ELTS.
+       * cp-tree.h (EMPTY_CONSTRUCTOR_P): Likewise.
+       (finish_compound_literal, digest_init): Update declaration.
+       * decl.c (struct reshape_iter): New data type.
+       (reshape_init_array): Rename to...
+       (reshape_init_array_1): Update to cope with VEC in CONSTRUCTOR_ELTS.
+       (reshape_init): Rewrite from scratch. Split parts into...
+       (reshape_init_array, reshape_init_vector, reshape_init_class,
+       reshape_init_r): New functions.
+       (check_initializer): Update call to reshape_init. Remove obsolete
+       code.
+       (initialize_artificial_var, cp_complete_array_type): Update to cope
+       with VEC in CONSTRUCTOR_ELTS.
+       * decl2.c (grokfield): Update calls to digest_init.
+       (mark_vtable_entries): Update to cope with VEC in CONSTRUCTOR_ELTS.
+       * error.c (dump_expr_init_vec): New function.
+       (dump_expr): Use dump_expr_init_vec.
+       * init.c (build_zero_init, build_vec_init): Update to cope with VEC
+       in CONSTRUCTOR_ELTS.
+       (expand_default_init): Update call to digest_init.
+       * parser.c  (cp_parser_postfix_expression): Use a VEC for the
+       initializers.
+       (cp_parser_initializer_list): Build a VEC of initializers.
+       * pt.c (tsubst_copy, tsubst_copy_and_build): Update to cope with VEC
+       in CONSTRUCTOR_ELTS.
+       * rtti.c (tinfo_base_init, generic_initializer, ptr_initializer,
+       ptm_initializer, class_initializer, get_pseudo_ti_init): Use
+       build_constructor_from_list instead of build_constructor.
+       * semantics.c (finish_compound_literal): Update call to digest_init.
+       * tree.c (stabilize_init): Update to cope with VEC in
+       CONSTRUCTOR_ELTS.
+       * typeck.c (build_ptrmemfunc1): Likewise.
+       * typeck2.c: (cxx_incomplete_type_error, split_nonconstant_init_1):
+       Likewise.
+       (store_init_value): Use build_constructor_from_list and update call
+       to digest_init.
+       (digest_init): Rewrite.
+       (process_init_constructor): Rewrite from scratch. Split into...
+       (process_init_constructor_array, picflag_from_initializer,
+       process_init_constructor_record, process_init_constructor_union):
+       New functions.
+       (PICFLAG_ERRONEOUS, PICFLAG_NOT_ALL_CONSTANT, PICFLAG_NOT_ALL_SIMPLE):
+       New macros.
+       (build_functional_cast): Use build_constructor_from_list instead of
+       build_constructor.
+
+2005-07-18  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22263
+       * cp-tree.h (instantiate_decl): Change prototype.
+       * decl2.c (mark_used): Adjust accordingly.
+       * pt.c (do_decl_instantiation): Likewise.
+       (instantiate_class_member): Likewise.
+       (instantiate_decl): Rename undefined_ok as expl_inst_class_mem_p.
+       Clear DECL_INTERFACE_KNOWN for an explicitly instantiated template
+       that has no definition available.
+       (instantiate_pending_templates): Adjust call to instantiate_decl.
+
+2005-07-17  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22139
+       * cp-tree.h (DECL_TEMPLATE_INFO): Improve documentation.
+       * decl.c (duplicate_decls): Re-register template specializations
+       for functions that have DECL_TEMLPLATE_INFO, even if they do not
+       have DECL_TEMPLATE_INSTANTIATION set.
+
+2005-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * call.c (diagnostic_fn_t): New.
+       (build_temp, convert_like_real): Use diagnostic_fn_t.
+
+2005-07-15  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22204
+       * repo.c (repo_emit_p): Robustify.
+
+2005-07-14  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR c++/22452
+       * tree.c (decl_linkage): Don't check DECL_COMDAT on CONST_DECL.
+
+2005-07-15  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22132
+       * call.c (implicit_conversion): Add c_cast_p parameter.
+       (standard_conversion): Likewise.  Allow conversions between
+       differently-qualified pointer types when performing a C-style
+       cast.
+       (add_function_candidate): Adjust callee.
+       (build_builtin_candidate): Likewise.
+       (build_user_type_conversion_1): Likewise.
+       (conditional_conversion): Likewise.
+       (can_convert_arg): Likewise.
+       (can_convert_arg_bad): Likewise.
+       (perform_implicit_conversion): Likewise.
+       * cp-tree.h (comp_ptr_ttypes_const): Declare.
+       * typeck.c (comp_ptr_ttypes_const): Give it external linkage.
+       Return bool.
+       
 2005-07-12  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
            Nathan Sidwell  <nathan@codesourcery.com>