OSDN Git Service

Fix PR c++/47398
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 35d8864..6dd6137 100644 (file)
@@ -1,3 +1,182 @@
+2011-02-03  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/47398
+       * tree.c (cp_tree_equal)<TEMPLATE_PARM_INDEX>: Take the number of
+       template parameters in account.
+
+2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR c++/46890
+       * parser.c (cp_parser_class_specifier): Fix setting of
+       want_semicolon.
+
+2011-01-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/47416
+       * semantics.c (build_data_member_initialization): Handle
+       STATEMENT_LIST always instead of just for CLEANUP_BODY.
+
+2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * g++spec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
+       LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
+
+2011-01-29  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/47311
+       * cp-tree.h (fixup_template_parms): Declare.
+       * pt.c (end_template_parm_list): Do not fixup template parms here.
+       (fixup_template_parms): Remove static. Fix typo in the
+       comments. Remove useless code statement.
+       (fixup_template_parm): For a template template parameter, fixup
+       its attributes before fixing up its type.
+       * parser.c
+       (cp_parser_template_declaration_after_export): After parsing
+       template parameters fixup their types.
+
+2011-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/47476
+       * semantics.c (potential_constant_expression_1): Handle
+       TRUTH_XOR_EXPR.
+
+2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR c++/43601
+       * semantics.c (expand_or_defer_fn_1): Handle it.
+       * decl2.c (decl_needed_p): Likewise.
+
+2011-01-21  Jason Merrill  <jason@redhat.com>
+
+       PR c++/47041
+       * semantics.c (build_constexpr_constructor_member_initializers):
+       Handle trivial copy.
+
+2011-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/47388
+       * semantics.c (begin_for_stmt): If -fno-for-scope, don't
+       assume init must be NULL if scope is NULL.
+       (begin_range_for_stmt): Likewise.
+
+2011-01-21  Jason Merrill  <jason@redhat.com>
+
+       PR c++/46552
+       * semantics.c (cxx_eval_constant_expression): Handle OFFSET_REF.
+
+       PR c++/46977
+       * semantics.c (potential_constant_expression_1): Split out from
+       potential_constant_expression.  Add want_rval parm.  Handle
+       template expression forms.  Don't enforce restriction on address
+       of automatic variable here.  Add a couple of diagnostics that
+       had been missing.
+       (require_potential_constant_expression): New entry point.
+       (build_data_member_initialization, register_constexpr_fundef): Adjust.
+       (maybe_constant_value): Check potential_constant_expression.
+       * pt.c (fold_non_dependent_expr_sfinae): Likewise.
+       * tree.c (build_vec_init_expr): Adjust.
+
+2011-01-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/47303
+       * decl2.c (finish_anon_union): Only call mangle_decl if TREE_STATIC
+       or DECL_EXTERNAL.
+
+2011-01-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/47067
+       * semantics.c (base_field_constructor_elt): New fn.
+       (cxx_eval_bare_aggregate): Use it.
+       (build_data_member_initialization): Leave COMPONENT_REF for
+       vfield inits.
+
+2011-01-14  Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+       * parser.c (cp_parser_range_for): Remove the "unused variable" warning
+       workaround.
+
+2011-01-15  Giovanni Funchal  <gafunchal@gmail.com>
+           Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR c++/33558
+       * decl.c (grokdeclarator): Reject mutable reference members.
+
+2011-01-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/47289
+       * pt.c (coerce_template_parms): Fix error recovery.
+
+       PR c++/46903
+       * typeck2.c (check_narrowing): Only check arithmetic types.
+
+       PR c++/46688
+       * tree.c (build_vec_init_expr): Handle flexible array
+       properly.
+
+2011-01-13  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR c++/47213
+       * cp-tree.h (CLASSTYPE_VISIBILITY): Use
+       TYPE_MAIN_DECL instead of TYPE_NAME.
+       (CLASSTYPE_VISIBILITY_SPECIFIED): Likewise.
+       * decl2.c (determine_visibility): Add check
+       of CLASS_TYPE_P for underlying_type.
+
+2011-01-12  Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+       * cp-tree.h (begin_for_scope): New prototype.
+       (begin_for_stmt): Update prototype.
+       (begin_range_for_stmt): Update prototype.
+       * init.c (build_vec_init): Update call to begin_for_stmt.
+       * parser.c (cp_parser_for): New.
+       (cp_parser_c_for): Add three new parameters.
+       (cp_parser_range_for): Likewise. Most parsing code removed.
+       (cp_parser_iteration_statement): Call cp_parser_for instead of
+       cp_parser_c_for and cp_parser_range_for.
+       (cp_parser_for_init_statement): Add new parameter and return type.
+       (cp_parser_block_declaration): Update call to
+       cp_parser_simple_declaration.
+       (cp_parser_simple_declaration): Add new parameter.
+       Update call to cp_parser_init_declarator.
+       (cp_parser_init_declarator): Add new parameter.
+       * pt.c (tsubst_expr): Update call to begin_for_stmt.
+       * semantics.c (begin_for_scope): New.
+       (begin_for_stmt): Add two new parameters.
+       (begin_range_for_stmt): Likewise.
+
+2011-01-12  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * parser.c (cp_parser_objc_at_property_declaration): Improved
+       error message.
+
+2011-01-11  Dodji Seketeli  <dodji@redhat.com>
+
+       PR debug/46955
+       * cp-lang.c (get_template_innermost_arguments_folded)
+       (get_template_argument_pack_elems_folded)
+       (template_arg_needs_folding, fold_cplus_constants): New static
+       functions.
+       (LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS): Set this hook to
+       get_template_innermost_arguments_folded.
+       (LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS): Set this hook to
+       get_template_argument_pack_elems_folded.
+
+2011-01-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/46658
+       * init.c (build_new_1): Handle value-init in templates differently.
+
+       PR c++/45520
+       * tree.c (maybe_dummy_object): Check current_class_ref against
+       context, not current_class_type.
+
+2011-01-08  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/47078
+       * parser.c (cp_parser_objc_typename): If the type is unknown, for
+       error recovery purposes behave as if it was not specified so that
+       the default type is used.
+
 2011-01-07  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/47022