OSDN Git Service

PR c++/43875
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index a6297d2..412d818 100644 (file)
@@ -1,5 +1,126 @@
+2010-04-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/43875
+       * semantics.c (lambda_return_type): Complain about
+       braced-init-list.
+
+       PR c++/43790
+       * tree.c (cv_unqualified): Handle error_mark_node.
+
+       PR c++/41468
+       * call.c (convert_like_real) [ck_ambig]: Just return error_mark_node
+       if we don't want errors.
+
+       PR c++/41468
+       * class.c (convert_to_base): Add complain parameter.  Pass
+       ba_quiet to lookup_base if we don't want errors.
+       (build_vfield_ref): Pass complain to convert_to_base.
+       * call.c (convert_like_real): Likewise.
+       (initialize_reference): Likewise.
+       (perform_direct_initialization_if_possible): Pass complain to
+       convert_like_real.
+       * cp-tree.h: Adjust.
+
+2010-04-27  Fabien Chêne  <fabien.chene@gmail.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/42844
+       * decl.c (check_for_uninitialized_const_var): Handle classes that need
+       constructing, too.
+       (check_initializer): Call it for classes that need constructing, too.
+       * class.c (in_class_defaulted_default_constructor): New.
+       * cp-tree.h: Declare it.
+
+2010-04-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/9335
+       * init.c (constant_value_1): Treat error_mark_node as a constant
+       if DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P is set.
+       * cvt.c (ocp_convert): Handle getting error_mark_node from
+       integral_constant_value.
+       * decl.c (compute_array_index_type): Likewise.
+
+2010-04-20  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/43800
+       PR c++/43704
+       * typeck.c (incompatible_dependent_types_p): If one of the
+       compared types if not a typedef then honour their main variant
+       equivalence.
+
+2010-04-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * cp-tree.h (TYPE_REF_IS_RVALUE): Remove.
+
+2010-04-19  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/43704
+       * typeck.c (structural_comptypes): Test dependent typedefs
+       incompatibility before testing for their main variant based
+       equivalence.
+
+2010-04-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * cp-tree.h (SCOPED_ENUM_P, UNSCOPED_ENUM_P, SET_SCOPED_ENUM_P): Use
+       ENUM_IS_SCOPED bit instead of TYPE_LANG_FLAG_5.
+
+2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (cxx_init_decl_processing): Remove second argument in call to
+       build_common_tree_nodes.
+
+2010-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/36625
+       * parser.c (cp_parser_parenthesized_expression_list): Change
+       is_attribute_list parm to int to indicate whether or not to
+       handle initial identifier specially.
+       (cp_parser_attribute_list): Use attribute_takes_identifier_p.
+
+2010-04-13  Jason Merrill  <jason@redhat.com>
+
+       * call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of
+       CLASS_TYPE_P.
+       * parser.c (cp_parser_lambda_expression): Complain about lambda in
+       unevaluated context.
+       * pt.c (iterative_hash_template_arg): Don't crash on lambda.
+
+2010-04-12  Jason Merrill  <jason@redhat.com>
+
+       PR c++/43641
+       * semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
+       return value directly.
+
+       * call.c (type_decays_to): Call cv_unqualified for non-class type.
+
+2010-04-12  Fabien Chene  <fabien.chene@gmail.com>
+
+       PR c++/25811
+       * cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Declare.
+       * init.c (build_new_1): Check for uninitialized const members and
+       uninitialized reference members, when using new without
+       new-initializer. Call diagnose_uninitialized_cst_or_ref_member.
+       (diagnose_uninitialized_cst_or_ref_member): Define, call
+       diagnose_uninitialized_cst_or_ref_member_1.
+       (diagnose_uninitialized_cst_or_ref_member_1): New function.
+
+2010-04-12  Richard Guenther  <rguenther@suse.de>
+
+       PR c++/43611
+       * semantics.c (expand_or_defer_fn_1): Do not keep extern
+       template inline functions.
+
+2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR c++/28584
+       * typeck.c (cp_build_c_cast): Warn for casting integer to larger
+       pointer type.
+
 2010-04-07  Jason Merrill  <jason@redhat.com>
 
+       PR c++/43016
+       * decl.c (start_preparsed_function): Do defer nested functions.
+
        PR c++/11094, DR 408
        * cp-tree.h (VAR_HAD_UNKNOWN_BOUND, SET_VAR_HAD_UNKNOWN_BOUND): New.
        * decl2.c (finish_static_data_member_decl): Set it.