OSDN Git Service

PR c++/51553
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 6677af3..e440087 100644 (file)
@@ -1,5 +1,116 @@
+2011-12-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51553
+       * call.c (add_function_candidate): Allow conversions for the copy
+       parm in list-initialization unless the argument is an init-list.
+
+2011-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/51619
+       * semantics.c (cxx_eval_vec_init_1): If init is NULL for
+       multidimensional array, just set eltinit to NULL_TREE.
+
+       * cp-gimplify.c (gimplify_must_not_throw_expr): Use
+       gimple_seq_add_stmt_without_update instead of gimplify_seq_add_stmt.
+
+2011-12-19  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/51477
+       * search.c (lookup_member): Get out early on invalid base type.
+
+2011-12-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51489
+       * semantics.c (cxx_eval_outermost_constant_expr): Check for
+       conversion from pointer to integer here.
+       (cxx_eval_constant_expression) [NOP_EXPR]: Not here.
+
+2011-12-18  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * semantics.c (finish_compound_literal): Don't call check_narrowing
+       if !(complain & tf_warning_or_error).
+
+2011-12-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51588
+       * parser.c (cp_parser_ptr_operator): Reject pointer to member of enum.
+
+2011-12-17  Richard Henderson  <rth@redhat.com>
+
+       PR bootstrap/51072
+       * config-lang.in: Revert last change.
+
+2011-12-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51586
+       * parser.c (cp_parser_check_class_key): Handle error_mark_node.
+
+       PR c++/51587
+       * decl.c (start_enum): Avoid using ENUM_UNDERLYING_TYPE on a
+       non-enum.
+
+2011-12-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51416
+       * init.c (build_value_init_noctor): Check for incomplete type.
+
+2011-12-16  Richard Henderson  <rth@redhat.com>
+
+       PR bootstrap/51072
+       * config-lang.in (target_libs): Include target-libitm.
+
+2011-12-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51461
+       * decl.c (check_static_variable_definition): Check COMPLETE_TYPE_P
+       before literal_type_p.
+
+       PR c++/51331
+       * class.c (convert_to_base_statically): Just call
+       build_simple_base_path.
+       (build_simple_base_path): Check field offset.
+
+2011-12-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51458
+       * decl.c (has_designator_problem): New.
+       (reshape_init_r): Check for improper use of
+       designated initializers.
+
+2011-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/51463
+       * decl.c (grokdeclarator): Set DECL_INITIAL of decl
+       to error_mark_node to disallow NSDMI if declspecs->storage_class
+       is sc_static.
+       * parser.c (cp_parser_late_parse_one_default_arg): Return early
+       if default_arg is error_mark_node.
+
+       PR c/51360
+       * semantics.c (finish_omp_clauses): For OMP_CLAUSE_NUM_THREADS_EXPR
+       and OMP_CLAUSE_SCHEDULE_CHUNK_EXPR call mark_rvalue_use.
+
+2011-12-15  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/51473
+       * decl.c (check_tag_decl): Error out on auto specifier with no
+       declarator.
+
+2011-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR libstdc++/51365
+       * cp-tree.h (CPTK_IS_FINAL): Add.
+       * parser.c (cp_parser_translation_unit): Handle RID_IS_FINAL.
+       (cp_parser_primary_expression, cp_parser_trait_expr): Likewise.
+       * semantics.c (trait_expr_value, finish_trait_expr): Handle
+       CPTK_IS_FINAL.
+       * cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
+
 2011-12-14  Jason Merrill  <jason@redhat.com>
 
+       PR c++/51554
+       * semantics.c (cxx_eval_indirect_ref): Fix sanity check.
+
        PR c++/51248
        * decl.c (copy_type_enum): Also update variants.
        (finish_enum): Allow variants of complete enums.
@@ -8,8 +119,8 @@
 
        PR c++/51475
        * call.c (struct conversion)<u.next>: Update comment.
-       (next_conversion): New static function.
-       (convert_like_real): Use it.
+       (next_conversion): New static function.
+       (convert_like_real): Use it.
 
        PR c++/51476
        * pt.c (convert_nontype_argument): Don't call maybe_constant_value
 
        PR c++/51027
        * parser.c (cp_parser_alias_declaration): Require ';' at the end
-       of the declaration.
+       of the declaration.
 
 2011-11-09  Dodji Seketeli  <dodji@redhat.com>
 
        PR debug/51032
        * decl2.c (check_member_template): Accept alias templates and ...
-       * parser.c (cp_parser_alias_declaration): ... use it here.
+       * parser.c (cp_parser_alias_declaration): ... use it here.
 
 2011-11-08  Jason Merrill  <jason@redhat.com>
 
 
 2011-11-04  Magnus Fromreide  <magfr@lysator.liu.se>
 
-        * parser.c (cp_parser_enumerator_list): Do not warn about
-        trailing commas in C++0x mode.
+       * parser.c (cp_parser_enumerator_list): Do not warn about
+       trailing commas in C++0x mode.
 
 2011-11-04  Olivier Goffart  <olivier@woboq.com>
            Jason Merrill  <jason@redhat.com>
 2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>
 
        Revert:
-        2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>
+       2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR c++/50864
        * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error
        PR c++/33255 - Support -Wunused-local-typedefs warning
        * name-lookup.c (pushdecl_maybe_friend_1): Use the new
        record_locally_defined_typedef.
-       * decl.c (finish_function): Use the new
-       maybe_warn_unused_local_typedefs.
-       (grokfield): Use the new record_locally_defined_typedef.
+       * decl.c (finish_function): Use the new
+       maybe_warn_unused_local_typedefs.
+       (grokfield): Use the new record_locally_defined_typedef.
        * parser.c (lookup_name): Use the new maybe_record_typedef_use.
 
 2011-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
        assignment of two MEM_REFs.
 
 2011-08-11  Romain Geissler  <romain.geissler@gmail.com>
-            Brian Hackett  <bhackett1024@gmail.com>
+           Brian Hackett  <bhackett1024@gmail.com>
 
        * decl.c (cp_finish_decl): Invoke callbacks on finish_decl event.
 
 
 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
 
-        * cp-tree.def (EXPR_PACK_EXPANSION): Add an operand.
-        * cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
-        * cp-tree.h (PACK_EXPANSION_PARAMETER_PACKS): Use the new
-        operand of EXPR_PACK_EXPANSION.
+       * cp-tree.def (EXPR_PACK_EXPANSION): Add an operand.
+       * cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
+       * cp-tree.h (PACK_EXPANSION_PARAMETER_PACKS): Use the new
+       operand of EXPR_PACK_EXPANSION.
        (cp_tree_operand_length): Declare.
-        * tree.c (cp_tree_operand_length): Define.
+       * tree.c (cp_tree_operand_length): Define.
        (cp_tree_equal): Call it.
-        * pt.c (value_dependent_expr_P): Likewise.
-        * mangle.c (write_expression): Likewise.
+       * pt.c (value_dependent_expr_P): Likewise.
+       * mangle.c (write_expression): Likewise.
 
 2011-05-09  Paolo Carlini  <paolo.carlini@oracle.com>
 
        (lookup_label): Refactor timevar calls out to a wrapper function.
        Change TV_NAME_LOOKUP to start_cond/stop_cond.
 
-        * pt.c: (instantiate_class_template): Add a wrapper to push/pop new
+       * pt.c: (instantiate_class_template): Add a wrapper to push/pop new
        TV_TEMPLATE_INST.
        (instantiate_template): Add a wrapper to push/pop new TV_TEMPLATE_INST.
        (lookup_template_class): Refactor timevar calls out to a wrapper
        new TV_PARSE_INMETH.
 
        * call.c: Add include of "timevar.h".
-        (convert_class_to_reference): Wrap and add push/pop calls to 
+       (convert_class_to_reference): Wrap and add push/pop calls to 
        TV_OVERLOAD.
        (build_op_call): Likewise.
        (build_conditional_expr): Likewise.
        (build_new_op): Likewise.
        (build_new_method_call): Likewise.
-        (build_user_type_conversion): Reorganize to single return and add
+       (build_user_type_conversion): Reorganize to single return and add
        push/pop calls to TV_OVERLOAD.
-        (perform_overload_resolution): Likewise.
+       (perform_overload_resolution): Likewise.
 
        * Make-lang.in: Add dependence of call.o and parser.o on $(TIMEVAR_H).
 
 
        PR c++/48574
        * class.c (fixed_type_or_null): We cannot determine the dynamic
-       type of a reference variable if its initializer is dependent.
+       type of a reference variable if its initializer is dependent.
 
 2011-04-13  Jason Merrill  <jason@redhat.com>
 
 
        PR c++/47208
        * pt.c (do_auto_deduction): Do not mention error_mark_node in
-       diagnostics.
+       diagnostics.
        * semantics.c (finish_id_expression): Do not pass erroneous decl
-       to decl_constant_var_p.
+       to decl_constant_var_p.
 
 2011-02-17  Jakub Jelinek  <jakub@redhat.com>
 
 
        PR c++/47326
        * pt.c (tsubst_copy)<case SIZEOF_EXPR>: Ensure that even pack
-       expansion arguments are not evaluated.
+       expansion arguments are not evaluated.
 
 2011-02-16  Jakub Jelinek  <jakub@redhat.com>