OSDN Git Service

PR c++/51553
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 095f671..e440087 100644 (file)
@@ -1,5 +1,563 @@
+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.
+
+2011-12-14  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/51475
+       * call.c (struct conversion)<u.next>: Update comment.
+       (next_conversion): New static function.
+       (convert_like_real): Use it.
+
+       PR c++/51476
+       * pt.c (convert_nontype_argument): Don't call maybe_constant_value
+       for PTRMEM_CST nodes.
+
+2011-12-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51406
+       PR c++/51161
+       * typeck.c (build_static_cast_1): Fix cast of lvalue to
+       base rvalue reference.
+
+2011-12-13  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51464
+       * semantics.c (begin_lambda_type): Check begin_class_definition return
+       value for error_mark_node.
+       * parser.c (cp_parser_lambda_expression): Check begin_lambda_type
+       return value for error_mark_node.
+
+2011-12-13  Fabien Chêne  <fabien@gcc.gnu.org>
+
+       PR c++/14258
+       * cp-tree.h (USING_DECL_TYPENAME_P): New macro.
+       * parser.c (cp_parser_nonclass_name): Handle using declarations
+       that refer to a dependent type.
+       (cp_parser_using_declaration): Set USING_DECL_TYPENAME_P to 1 if
+       the using declaration refers to a dependent type.
+
+2011-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/51496
+       * parser.c (cp_parser_omp_for_loop): When determining whether
+       to use cp_parser_omp_for_incr or cp_parser_expression and when
+       calling cp_parser_omp_for_incr, use real_decl instead of decl.
+
+2011-12-12  Torvald Riegel  <triegel@redhat.com>
+
+       * semantics.c (finish_transaction_stmt, build_transaction_expr):
+       Accept new noexcept parameter and handle it.
+       * cp-tree.h (finish_transaction_stmt, build_transaction_expr): Adapt
+       declarations.
+       * parser.c (cp_parser_exception_specification_opt): Extract
+       noexcept-specification parsing to ...
+       (cp_parser_noexcept_specification_opt): ...here.  Allow for parsing
+       non-constexpr noexcept arguments.
+       (cp_parser_transaction, cp_parser_transaction_expression): Parse
+       and handle noexcept-specifications.
+       (cp_parser_function_transaction): Adapt to finish_transaction_stmt
+       change.
+       * pt.c (tsubst_expr): Adapt to new noexcept parameters when
+       building transactions.
+
+2011-12-12  Torvald Riegel  <triegel@redhat.com>
+
+       * cp-tree.def (MUST_NOT_THROW_EXPR): Add condition parameter.
+       * cp-tree.h (MUST_NOT_THROW_COND): New.
+       (build_must_not_throw_expr): Declare.
+       * dump.c (cp_dump_tree): Dump MUST_NOT_THROW_EXPR condition.
+       * except.c (build_must_not_throw_expr): New.
+       (initialize_handler_parm): Use it.
+       (begin_eh_spec_block, wrap_cleanups_r): Adapt to condition.
+       * pt.c (tsubst_expr): Handle MUST_NOT_THROW_EXPR.
+
+2011-12-12  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/51262
+       * tree.c (cp_free_lang_data): No longer clear anonymous names.
+
+2011-12-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51151
+       * call.c (perform_implicit_conversion_flags): Remove earlier kludge.
+       * parser.c (cp_parser_omp_for_loop): Use cp_parser_omp_for_incr
+       in templates even if decl isn't type-dependent.
+
+2011-12-09  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/51289
+       * cp-tree.h (TYPE_TEMPLATE_INFO): Rewrite this accessor macro to
+       better support aliased types.
+       (TYPE_ALIAS_P): Don't crash on TYPE_NAME nodes that are not
+       TYPE_DECL.
+       * pt.c (find_parameter_packs_r): Handle types aliases.
+       (push_template_decl_real): Check for bare parameter packs in the
+       underlying type of an alias template.
+
+2011-12-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51318
+       * typeck.c (build_x_conditional_expr): Restrict glvalue games to C++11.
+
+       PR c++/51459
+       * pt.c (tsubst_expr) [DECL_EXPR]: Handle capture proxies properly.
+       * semantics.c (insert_capture_proxy): No longer static.
+       * cp-tree.h: Declare it.
+
+2011-12-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/51401
+       * decl.c (grokdeclarator): Error for auto on non-static data members.
+
+       PR c++/51429
+       * typeck2.c (cxx_incomplete_type_diagnostic): Don't
+       ICE if TREE_OPERAND (value, 1) is overloaded.
+
+       PR c++/51229
+       * decl.c (reshape_init_class): Complain if d->cur->index is
+       INTEGER_CST.
+       * parser.c (cp_parser_initializer_list): If cp_parser_parse_definitely
+       fails, clear designator.
+
+       PR c++/51369
+       * init.c (build_value_init): Allow array types even when
+       processing_template_decl.
+
+2011-12-07  Ed Smith-Rowland <3dw4rd@verizon.net>
+
+       PR c++/51420
+       * parser.c (lookup_literal_operator): Check that declaration is an
+       overloaded function.
+
+2011-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/51430
+       * pt.c (tsubst_decl): Don't call strip_array_domain on
+       error_mark_node.
+
+2011-12-06  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51431
+       * init.c (build_value_init): Check build_aggr_init_expr return
+       value for error_mark_node.
+
+2011-12-06  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/51427
+       * parser.c (cp_parser_check_class_key): Add note about earlier
+       declaration.
+
+2011-12-05  Fabien Chêne  <fabien@gcc.gnu.org>
+
+       PR c++/51319
+       * semantics.c (finish_id_expression): Strip using declarations
+       early in the function.
+
+2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51399
+       * init.c (perform_member_init): Early return if init is error_mark_node.
+
+2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51414
+       * semantics.c (finish_underlying_type): Use %qT, not %qE for the
+       error message.
+
+2011-12-05  Jason Merrill  <jason@redhat.com>
+
+       * init.c (expand_default_init): Unshare args in ctor delegation.
+
+2011-12-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
+           Pedro Lamarão  <pedro.lamarao@gmail.com>
+
+       Implement C++11 delegating constructors.
+       * cp-tree.h (enum cpp0x_warn_str): Add CPP0X_DELEGATING_CTORS.
+       * error.c (maybe_warn_cpp0x): Adjust.
+       * parser.c (cp_parser_mem_initializer_list): Use it.  Diagnose
+       multiple initializers if a delegating initializer is present.
+       * call.c (build_special_member_call): Convert an assert into an if.
+       * init.c (perform_target_ctor): New.
+       (emit_mem_initializers): Use it.
+       (expand_member_init, expand_default_init): Adjust.
+
+2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51404
+       * typeck2.c (build_functional_cast): Early return error_mark_node
+       for invalid uses of 'auto'.
+       * parser.c (cp_parser_direct_declarator): When
+       cp_parser_constant_expression returns error do not produce further
+       diagnostic for the bound.
+
+2011-12-03  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51313
+       * call.c (null_ptr_cst_p): STRIP_NOPS in c++11 mode too.
+
+2011-12-01  Jason Merrill  <jason@redhat.com>
+
+       * call.c (build_new_method_call_1): Handle aggregate initialization.
+       * tree.c (stabilize_init): Handle CONSTRUCTOR.
+
+2011-12-01  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51326
+       * call.c (build_user_type_conversion_1): Early return NULL if
+       expr is NULL_TREE.
+
+2011-12-01  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51367
+       * pt.c (unify_inconsistency): Use either %qT or %qE depending on
+       whether parm is a type or non-type parameter.
+
+2011-11-30  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51009
+       * name-lookup.c (push_to_top_level): Set stmts_are_full_exprs_p.
+       * decl.c (build_aggr_init_full_exprs): Just assert that it's true.
+       (check_initializer): Here too.
+
+2011-11-30  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51299
+       * rtti.c (ifnonnull): Use nullptr_node.
+       (build_dynamic_cast_1): Call cp_truthvalue_conversion instead
+       of c_common_truthvalue_conversion.
+
+2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51227
+       * pt.c (instantiate_class_template_1): If lambda_function (type)
+       is NULL_TREE do not instantiate_decl.
+
+2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51290
+       * class.c (build_base_path): For the null pointer check use
+       nullptr_node instead of integer_zero_node.
+
+2011-11-22  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/51145
+       * decl.c (check_elaborated_type_specifier): Gracefully handle
+       error_mark_node.  Accept bound template template parameters.
+       Update diagnostics for alias template specializations.  Update
+       comment.
+       * parser.c (cp_parser_elaborated_type_specifier): Use
+       check_elaborated_type_specifier for simple-template-ids as well.
+
+2011-11-22  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51265
+       * semantics.c (finish_decltype_type): Handle PTRMEM_CST.
+
+2011-11-22  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/51143
+       * parser.c (cp_parser_alias_declaration): Don't allow type
+       definition in templates.
+
+2011-11-22  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51196
+       * typeck.c (cp_build_binary_op, [case EQ_EXPR]): For targets having
+       TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_delta, do here
+       the -Wzero-as-null-pointer-constant warning for pmf == 0.
+
+2011-11-21  Torvald Riegel  <triegel@redhat.com>
+
+       * pt.c (tsubst_copy_and_build): Handle TRANSACTION_EXPR.
+
+2011-11-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       PR c++/50958
+       * parser.c (lookup_literal_operator): New.
+       (cp_parser_userdef_char_literal): Use it.
+       (cp_parser_userdef_numeric_literal): Use it.
+       (cp_parser_userdef_string_literal): Use lookup_name.
+
+2011-11-20  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (tsubst_pack_expansion): Fix SFINAE.
+
+       PR c++/48322
+       * cp-tree.h (PACK_EXPANSION_EXTRA_ARGS): New.
+       * cp-tree.def (EXPR_PACK_EXPANSION): Add an operand for it.
+       * pt.c (tsubst_pack_expansion): Set and use it.
+       (iterative_hash_template_arg): Hash it.
+       (template_args_equal): Compare it.
+       (comp_template_args_with_info): Handle nulls.
+       * tree.c (cp_walk_subtrees): Walk it.
+       * typeck.c (structural_comptypes): Compare it.
+       * ptree.c (cxx_print_type): Print it.
+
+       * pt.c (type_unification_real): Set input_location
+       during default arg instantiation.
+
+2011-11-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51230
+       * pt.c (unify_inconsistency): Handle non-type parameters better.
+       * error.c (dump_expr): Handle TEMPLATE_TEMPLATE_PARM.
+
+2011-11-20  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/51194
+       * pt.c (lookup_template_class_1): Go out early if the type of the
+       template is error_mark_node.
+
+2011-11-19  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51216
+       * semantics.c (potential_constant_expression_1): Handle IF_STMT,
+       DO_STMT, FOR_STMT, and WHILE_STMT.
+
+2011-11-18  Fabien Chêne  <fabien@gcc.gnu.org>
+
+       PR c++/51188
+       * search.c (lookup_field_1): Handle USING_DECLs for the storted
+       case.
+
+2011-11-18  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/51150
+       * pt.c (tsubst_copy_and_build): Handle FIX_TRUNC_EXPR.
+
+2011-11-18  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/51191
+       * pt.c (primary_template_instantiation_p): Don't forget to
+       consider alias declarations.
+
+2011-11-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51186
+       * decl.c (grokdeclarator): Improve C++98 trailing return diagnostic.
+
+       N3203
+       * class.c (add_implicitly_declared_members): Update move
+       conditions.
+
+       PR c++/51137
+       * class.c (build_base_path): Don't do calculation in templates.
+
+2011-11-15  Torvald Riegel  <triegel@redhat.com>
+
+       * parser.c (cp_parser_transaction_expression): Require parentheses
+       when parsing transaction expressions.
+
+2011-11-14  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       PR c++/51107
+       * typeck.c (check_literal_operator_args): Add processing_specialization
+       to check for void template fn. Test for exact arity for non-template fn.
+
+2011-11-14  Fabien Chêne  <fabien@gcc.gnu.org>
+
+       PR c++/6936
+       PR c++/25994
+       PR c++/26256
+       PR c++/30195
+       * search.c (lookup_field_1): Look through USING_DECL.
+       (lookup_field_r): Call lookup_fnfields_slot instead of
+       lookup_fnfields_1.
+       * semantics.c (finish_member_declaration): Remove the check that
+       prevents USING_DECLs from being verified by
+       pushdecl_class_level. Call add_method for using declarations that
+       designates functions if the using declaration is in a template
+       class. Set DECL_IGNORED_P on class-scope using declarations.
+       * typeck.c (build_class_member_access_expr): Handle USING_DECLs.
+       * class.c (check_field_decls): Keep using declarations.
+       (add_method): Remove two diagnostics about conflicting using
+       declarations.
+       * parser.c (cp_parser_nonclass_name): Handle USING_DECLs.
+       * decl.c (start_enum): Call xref_tag whenever possible.
+       * cp-tree.h (strip_using_decl): Declare, and reident the previous
+       function.
+       * name-lookup.c (strip_using_decl): New function.
+       (supplement_binding_1): Call strip_using_decl on decl and
+       bval. Perform most of the checks with USING_DECLs stripped.  Also
+       check that the target decl and the target bval does not refer to
+       the same declaration. Allow pushing an enum multiple times in a
+       template class. Adjustment to diagnose using redeclarations. Call
+       diagnose_name_conflict.
+       (push_class_level_binding): Call strip_using_decl on decl and
+       bval. Perform most of the checks with USING_DECLs stripped. Return
+       true if both decl and bval refer to USING_DECLs and are dependent.
+       (diagnose_name_conflict): New function.
+
+2011-11-12  Jason Merrill  <jason@redhat.com>
+
+       PR c++/986
+       * call.c (set_up_extended_ref_temp): Warn about references
+       bound to non-static reference members.
+       * init.c (perform_member_init): Pass in the member.
+
+       PR c++/51060
+       * cp-gimplify.c (cp_gimplify_expr): Leave clobbers alone.
+
+2011-11-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
+
+       PR c++/50976
+       * typeck.c (check_literal_operator_args): Reorganize test for string
+       operators so size_t search depends on finding string first.
+
+2011-11-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/50372
+       * pt.c (convert_nontype_argument_function): Allow decls with
+       internal linkage in C++11.
+       (convert_nontype_argument): Likewise.
+
+       PR c++/50973
+       * decl2.c (mark_used): Defer synthesis of virtual functions.
+       * method.c (use_thunk): Make sure the target function has
+       DECL_INTERFACE_KNOWN.
+
+       PR c++/51079, DR 495
+       * call.c (joust): Check the second conversion sequence
+       before checking templates.
+
+2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/50837
+       * pt.c (tsubst_copy_and_build) [IDENTIFIER_NODE]: In C++11 mode
+       pass allow_non_integral_constant_expression_p = true to
+       finish_id_expression.
+
 2011-11-09  Jason Merrill  <jason@redhat.com>
 
+       PR c++/50972
+       * pt.c (maybe_instantiate_noexcept): Check the return value of
+       push_tinst_level.
+
+       PR c++/51046
+       * parser.c (cp_parser_range_for): check_for_bare_parameter_packs.
+
+       PR c++/51029
+       * class.c (build_base_path): Don't ICE in fold_non_dependent_expr.
+
+       * Make-lang.in (check_g++_parallelize): Add dg-torture.exp.
+       (check-c++0x): Obsolete.
+
+       * pt.c (invalid_nontype_parm_type_p): Avoid printing "<type error>".
+
        * pt.c (convert_nontype_argument): Only integral arguments
        get early folding.
 
 
 2011-11-09  Dodji Seketeli  <dodji@redhat.com>
 
+       PR c++/51043
+       * cp-tree.h (TYPE_ALIAS_P, TYPE_TEMPLATE_INFO): Don't crash on
+       NULL TYPE_NAME.
+
        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>