OSDN Git Service

PR c++/44148
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 3872df2..fda48be 100644 (file)
@@ -1,5 +1,107 @@
+2010-05-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/44148
+       * pt.c (tsubst): Unshare template argument.
+
+2010-05-15  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
+       * Make-lang.in: Fix dependencies accordingly.
+
+2010-05-14  Jason Merrill  <jason@redhat.com>
+
+       C++ DR 475
+       * except.c (build_throw): Simplify, adjust for DR 475.
+
+       PR c++/44127
+       * except.c (dtor_nothrow): Return nonzero for type with
+       trivial destructor.
+
+       PR c++/44127
+       * cp-gimplify.c (gimplify_must_not_throw_expr): Use
+       gimple_build_eh_must_not_throw.
+
+2010-05-14  Martin Jambor  <mjambor@suse.cz>
+
+       * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef
+       and define.
+
+2010-05-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * call.c (build_new_method_call): Change warning text.
+       * typeck2.c (build_functional_cast): Change error text.
+
+2010-05-14  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       PR c++/30566
+       * name-lookup.c (pushdecl_maybe_friend): Avoid the warnings about
+       shadowing the outer parameter or variables by the declaration of
+       nested function in nested structure or class. Warn the shadowing by
+       the declaration of nested lambda expression.
+
+2010-05-13  Jason Merrill  <jason@redhat.com>
+
+       * typeck.c (cp_build_array_ref): Factor out from...
+       (build_array_ref): ...here.  Drop complain parm.
+       (build_new_op): Adjust.
+       * class.c (build_vtbl_ref_1): Adjust.
+       * decl2.c (grok_array_decl): Adjust.
+       * cp-tree.h: Adjust prototypes.
+
+2010-05-13  Jan Hubicka  <jh@suse.cz>
+
+       * decl.c (cp_finish_decl): Do not worry about used attribute.
+
 2010-05-12  Jason Merrill  <jason@redhat.com>
 
+       * typeck.c (build_array_ref): Take complain parm.
+       * cp-tree.h: Add it to prototype.
+       * call.c (build_new_op): Pass it.
+       * class.c (build_vtbl_ref): Pass it.
+       * decl2.c (grok_array_decl): Pass it.
+
+       PR bootstrap/44048
+       PR target/44099
+       * cp-tree.def (NULLPTR_TYPE): Remove.
+       * cp-tree.h (NULLPTR_TYPE_P): New.
+       (SCALAR_TYPE_P): Use it.
+       (nullptr_type_node): New.
+       (cp_tree_index): Add CPTI_NULLPTR_TYPE.
+       * decl.c (cxx_init_decl_processing): Call record_builtin_type on
+       nullptr_type_node.
+       * cvt.c (ocp_convert): Use NULLPTR_TYPE_P instead of NULLPTR_TYPE.
+       * cxx-pretty-print.c (pp_cxx_constant): Likewise.
+       * error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise.
+       * mangle.c (write_type): Likewise.
+       * name-lookup.c (arg_assoc_type): Likewise.
+       * typeck.c (build_reinterpret_cast_1): Likewise.
+       * rtti.c (typeinfo_in_lib_p): Likewise.
+       (emit_support_tinfos): Remove local nullptr_type_node.
+
+       * cp-tree.h (UNKNOWN_TYPE): Remove.
+       * decl.c (cxx_init_decl_processing): Use LANG_TYPE instead.
+       * error.c (dumy_type, dump_type_prefix, dump_type_suffix): Likewise.
+       * typeck2.c (cxx_incomplete_type_diagnostic): Likewise.
+       * class.c (instantiate_type): Check unknown_type_node rather than
+       UNKNOWN_TYPE.
+       * name-lookup.c (maybe_push_decl): Likewise.
+       * rtti.c (get_tinfo_decl_dynamic): Likewise.
+       (get_typeid): Likewise.
+       * semantics.c (finish_offsetof): Likewise.
+
+       PR c++/20669
+       * call.c (add_template_candidate_real): If deduction fails, still
+       add the template as a non-viable candidate.
+       (equal_functions): Handle template candidates.
+       (print_z_candidate): Likewise.
+       (print_z_candidates): Likewise.
+       (build_new_function_call): Likewise.
+
+       * cp-tree.h (LOOKUP_LIST_ONLY): New.
+       * call.c (add_candidates): Enforce it.
+       (build_new_method_call): Try non-list ctor if no viable list ctor.
+       (build_user_type_conversion_1): Likewise.
+
        * call.c (add_candidates): Distinguish between type(x) and
        x.operator type().
        (convert_class_to_reference): Set LOOKUP_NO_CONVERSION.