+2011-03-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/47950
+ * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Retain TREE_CONSTANT.
+
+2011-03-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/47950
+ * parser.c (cp_parser_condition): Don't fold_non_dependent_expr here.
+
+ PR c++/47774
+ * tree.c (build_vec_init_elt): Split out from...
+ (build_vec_init_expr): ...here.
+ (diagnose_non_constexpr_vec_init): New fn.
+ * semantics.c (potential_constant_expression_1): Use it.
+ * cp-tree.h: Declare it.
+
+2011-03-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/46159
+ * parser.c (cp_parser_primary_expression): Don't warn about a
+ failed tentative parse.
+
+ PR c++/47200
+ * semantics.c (cxx_bind_parameters_in_call): Don't call
+ adjust_temp_type on non-constant args.
+
+ PR c++/47851
+ * call.c (standard_conversion): Provide requested cv-quals on
+ class rvalue conversion.
+
+ PR c++/46282
+ * decl2.c (grokbitfield): Handle type-dependent width.
+
+2011-02-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/47873
+ * class.c (update_vtable_entry_for_fn): Check BINFO_LOST_PRIMARY_P
+ after checking for a non-thunk.
+
+2011-02-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/47904
+ * tree.c (cp_tree_equal): Compare DECL_PARM_LEVEL.
+ * pt.c (iterative_hash_template_arg): And hash it.
+
+ PR c++/47897
+ * semantics.c (non_const_var_error): Split out from...
+ (cxx_eval_constant_expression): ...here.
+ (potential_constant_expression_1) [VAR_DECL]: Use it.
+ Allow dependent variables.
+
+2011-02-24 Jason Merrill <jason@redhat.com>
+
+ * parser.c (cp_parser_constant_expression): Set
+ non_integral_constant_expression correctly for C++0x too.
+ (cp_parser_static_assert): Allow non-constant expression.
+ (cp_parser_direct_declarator): Expect non_constant_p to be set
+ properly for C++0x.
+ * pt.c (value_dependent_expression_p): Handle TYPEID_EXPR.
+ * semantics.c (maybe_constant_value): Check type_unknown_p too.
+ (potential_rvalue_constant_expression): New.
+ (require_potential_rvalue_constant_expression): New.
+
+2011-02-23 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (DECL_PARM_LEVEL): New.
+ (struct lang_decl_parm): Add level field.
+ * name-lookup.c (function_parm_depth): New fn.
+ * name-lookup.h: Declare it.
+ * parser.c (cp_parser_parameter_declaration_list): Use it.
+ * mangle.c (struct globals): Add parm_depth field.
+ (write_bare_function_type): Adjust it.
+ (write_expression): Include the level delta in PARM_DECL mangling
+ for abi >= 6.
+
+ * semantics.c (finish_decltype_type): Remove shortcut for decltype
+ of id-expression.
+ * mangle.c (write_type) [DECLTYPE_TYPE]: Strip it here for abi < 6.
+
+2011-02-23 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR c++/46868
+ * parser.c (cp_parser_class_specifier): Require a closing brace
+ to attempt error recovery.
+
+2011-02-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47833
+ * pt.c (struct pending_template): Add chain_next GTY option.
+ * decl.c (struct named_label_use_entry): Likewise.
+
+2011-02-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47242
+ * semantics.c (build_lambda_object): Bail out if a field is
+ error_mark_node.
+
+2011-02-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47666
+ * class.c (dfs_declare_virt_assop_and_dtor)
+ (declare_virt_assop_and_dtor): New static functions.
+ (add_implicitly_declared_members): Use
+ declare_virt_assop_and_dtor.
+
+2011-02-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/47207
+ * decl2.c (decl_constant_var_p): A constexpr var needs an
+ initializer to be constant.
+ * semantics.c (cxx_eval_constant_expression): Complain about
+ constexpr var used in its own initializer.
+ * call.c (set_up_extended_ref_temp): Set
+ DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P too.
+
+2011-02-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/47199
+ * semantics.c (cxx_eval_call_expression): Call
+ cxx_eval_constant_expression in trivial shortcut.
+
+ PR c++/46831
+ * call.c (convert_class_to_reference): Don't try to set up a
+ second conv sequence for non-viable candidates.
+
+ PR c++/47703
+ * error.c (location_of): Handle non-tagged types.
+
+ PR c++/46472
+ * method.c (process_subob_fn): Instantiate constexpr templates.
+ * optimize.c (maybe_clone_body): Propagate DECL_DECLARED_CONSTEXPR_P.
+
+2011-02-20 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/46394
+ * pt.c (tsubst_pack_expansion): do not use
+ cp_tree_equal/same_type_p to detect an expansion of a parameter
+ pack.
+
+2011-02-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/47503
+ * semantics.c (cxx_eval_call_expression): Shortcut trivial copy.
+
+2011-02-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47795
+ * semantics.c (finish_non_static_data_member): Early return if
+ object is error_mark_node.
+
+2011-02-18 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47208
+ * pt.c (do_auto_deduction): Do not mention error_mark_node in
+ diagnostics.
+ * semantics.c (finish_id_expression): Do not pass erroneous decl
+ to decl_constant_var_p.
+
+2011-02-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47783
+ * cvt.c (convert_from_reference): Call mark_exp_read.
+
+2011-02-11 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47172
+ * pt.c (finish_call_expr): Consider a call expression that has a
+ dependent "this" pointer as being dependent. Add comments.
+ (dependent_type_p, type_dependent_expression_p): Update comments.
+
+2011-02-16 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47326
+ * pt.c (tsubst_copy)<case SIZEOF_EXPR>: Ensure that even pack
+ expansion arguments are not evaluated.
+
+2011-02-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47704
+ * cp-tree.h (ENUM_FIXED_UNDERLYING_TYPE_P): Use TYPE_LANG_FLAG_5
+ instead of TYPE_LANG_FLAG_3.
+ * pt.c (lookup_template_class): Copy over
+ ENUM_FIXED_UNDERLYING_TYPE_P.
+
+2011-02-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/46807
+ * method.c (synthesized_method_walk): Always exit early for
+ trivial fn in C++98 mode.
+
+2011-02-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/47482
+ * parser.c (cp_parser_enumerator_definition): Call
+ fold_non_dependent_expr.
+
+2011-02-09 Jason Merrill <jason@redhat.com>
+
+ * decl.c (cp_make_fname_decl): Set DECL_THIS_STATIC at toplevel.
+ * semantics.c (finish_fname): Only return the name if we're in
+ a function.
+
+ * decl.c (build_enumerator): Don't perform integral promotions on
+ non-integral constants.
+
+ * cvt.c (convert_to_void): Handle null op1.
+
+ * class.c (type_has_constexpr_default_constructor): Make sure the
+ caller stripped an enclosing array.
+ * init.c (perform_member_init): Strip arrays before calling it.
+
+ PR c++/47511
+ * semantics.c (potential_constant_expression_1): Handle TEMPLATE_DECL.
+
+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.