OSDN Git Service

PR c++/42331
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index bb3f8f9..b75e38a 100644 (file)
@@ -1,3 +1,157 @@
+2009-12-22  Jason Merrill  <jason@redhat.com>
+
+       PR c++/42331
+       * typeck.c (cp_build_modify_expr): Fix thinko.
+
+2009-12-21  Jason Merrill  <jason@redhat.com>
+
+       * mangle.c (write_member_name): Move abi-version=1 code back to...
+       (write_expression): ...here.
+
+2009-12-21  Brian Hackett  <bhackett1024@gmail.com>
+
+       * decl.c (finish_function): Rename pre-genericize event.
+
+2009-12-19  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/42225
+       * pt.c (push_template_decl_real): Set DECL_CONTEXT of template type parms
+       to their containing template decl.
+       * typeck.c (comp_template_parms_position): Split this from
+       structural_comptypes.
+       (incompatible_template_type_parms_p): Renamed
+       incompatible_dependent_typedefs_p into this. Change the function to
+       handle comparison between TEMPLATE_TYPE_PARMs only.
+       (structural_comptypes): Use comp_template_parms_position in
+       TEMPLATE_TEMPLATE_PARM and BOUND_TEMPLATE_TEMPLATE_PARM cases.
+       Use incompatible_template_type_parms_p in TEMPLATE_TYPE_PARM case.
+       * mangle.c (decl_mangling_context): Template type parms don't have
+       a mangling context.
+       * tree.c (cp_set_underlying_type): Set type structural equality
+       only for TEMPLATE_TYPE_PARMs.
+
+2009-12-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/28300
+       PR c++/42062
+       * pt.c (check_specialization_namespace): Complain about
+       specialization at non-namespace scope.
+
+       PR c++/42415
+       * call.c (build_new_method_call): Complain about calling the
+       constructor directly.
+
+2009-12-18  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       PR c++/31665
+       * decl.c (duplicate_decls, grokdeclarator): Put the diagnostics in
+       full sentences for easy translation and wrapped into G_().
+       * typeck.c (build_x_unary_op): Likewise.
+
+2009-12-17  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       * call.c (build_over_call, build_java_interface_fn_ref): Update
+       cp_build_indirect_ref calls.
+       * typeck2.c (build_m_component_ref): Likewise.
+
+2009-12-17  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       * typeck.c (build_indirect_ref): Update the argument.
+       (build_x_indirect_ref): Likewise.
+       (cp_build_indirect_ref): Update the argument and emit the diagnostics
+       for easy translation.
+       (build_class_member_access_expr, build_array_ref,
+       get_member_function_from_ptrfunc): Update calls.
+       * cp-tree.h (build_x_indirect_ref, cp_build_indirect_ref): Update
+       prototypes.
+       * call.c (build_new_op, convert_like_real, build_x_va_arg,
+       build_over_call): Update calls.
+       * class.c (build_base_path, build_simple_base_path, build_vfn_ref):
+       Likewise.
+       * decl.c (start_preparsed_function): Likewise.
+       * except.c (expand_start_catch_block, build_throw): Likewise.
+       * init.c (emit_mem_initializers, expand_virtual_init,
+       expand_virtual_init, build_new_1, build_vec_init, build_delete,
+       build_vec_delete): Likewise.
+       * parser.c (cp_parser_unary_expression): Likewise.
+       * pt.c (tsubst_copy_and_build): Likewise.
+       * rtti.c (build_headof, get_tinfo_decl_dynamic, get_typeid): Likewise.
+       * semantics.c (finish_non_static_data_member, thisify_lambda_field):
+       Likewise.
+       * tree.c (build_dummy_object, stabilize_expr): Likewise.
+       * typeck2.c (build_x_arrow): Likewise.
+
+2009-12-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/42387
+       * decl.c (compute_array_index_type): Mark a VLA as dependent.
+
+2009-12-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/42358
+       * pt.c (iterative_hash_template_arg): Completely ignore
+       ARGUMENT_PACK_SELECT.
+
+2009-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/41183
+       * cp-tree.h (current_class_ptr): Give NULL even when cfun
+       has NULL cfun->language.
+
+2009-12-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/42364
+       * pt.c (function_parameter_expanded_from_pack_p): Don't require
+       a pack to have a name.
+       (tsubst_decl): Do typedef magic after applying attributes.
+
+2009-12-15  Paolo Bonzini  <bonzini@gnu.org>
+           Shujing Zhao  <pearly.zhao@oracle.com>
+
+       * Makefile.in (cp/pt.o): Depend on intl.h
+       * call.c (print_z_candidates): Make loop more compact,
+       choose head string depending on number of candidates,
+       extract creation of spaces string to intl.c.
+       * pt.c (print_overloaded_functions): Replace with...
+       (print_candidates_1): ... this rewrite.
+       (print_candidates): Rewrite to call print_candidates_1.
+       (most_specialized_class): Make loop more compact,
+       choose head string depending on number of candidates,
+       and size indents depending on translations.
+
+2009-12-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/42219
+       * typeck.c (error_type_p): New.
+       (ptr_reasonably_similar): Use it.
+       * cp-tree.h: Declare it.
+
+2009-12-11  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/42225
+       * typeck.c (incompatible_dependent_typedefs_p): New function.
+       (structural_comptypes): Use it.
+       * cp-tree.h (cp_set_underlying_type): Declare ...
+       * tree.c (cp_set_underlying_type): ... new function.
+       * class.c (build_self_reference): Use cp_set_underlying_type
+       instead of set_underlying_type.
+       * decl2.c (grokfield): Likewise.
+       * name-lookup.c (pushdecl_maybe_friend): Likewise.
+
+2009-12-11  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/42251
+       * pt.c (convert_template_argument): Avoid missing folding of SCOPE_REFs.
+
+2009-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/42317
+       * decl2.c (cp_write_global_declarations): Clear DECL_EXTERNAL
+       also on all other functions in the same comdat group.
+       * optimize.c (maybe_clone_body): Also optimize virtual implicit
+       dtors.  For virtual comdat dtors tell cgraph that base and deleting
+       dtor are in the same comdat group.
+
 2009-12-04  Jason Merrill  <jason@redhat.com>
 
        PR c++/42010