+2008-10-24 Jakub Jelinek <jakub@redhat.com>
+
+ * Make-lang.in (check-c++-subtargets): New alias for
+ check-g++-subtargets.
+ (lang_checks_parallelized): Add check-g++.
+ (check_g++_parallelize): New variable.
+
+2008-10-21 Richard Guenther <rguenther@suse.de>
+
+ * semantics.c (simplify_aggr_init_exprs_r): Remove.
+ (expand_or_defer_fn): Do not walk the function body to
+ simplify aggr_init_exprs.
+
+2008-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/37004
+ * typeck.c (cp_common_type): New. The same as
+ type_after_usual_arithmetic_conversions but without promotions.
+ (type_after_usual_arithmetic_conversions): Do the promotions and
+ call cp_common_type.
+ (common_type): Make it behave like the C version of this
+ function. Do not handle pointer types.
+ (common_pointer_type): Move handling of pointer types from
+ common_type to here.
+ (cp_build_binary_op): Use common_pointer_type instead of
+ common_type in call to pointer_diff.
+ Use cp_common_type instead of common_type.
+ * cp-tree.h (common_pointer_type): Declare.
+
+2008-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/37819
+ * cp-gimplify.c (cp_genericize_r): Only fold_convert COND_EXPR
+ arguments if they don't already have COND_EXPR's type.
+
+2008-10-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/37650
+ * pt.c (push_template_decl_real): Check that current_template_parms
+ is not null.
+ (process_partial_specialization): Assert current_template_parms not
+ null.
+
+2008-10-13 Doug Evans <dje@google.com>
+
+ * cp-tree.h (DECL_MAIN_P): Fix parentheses around expression.
+
+2008-10-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/37146
+ * cp-gimplify.c (cp_genericize_r): Fix up bitfield operands of
+ COND_EXPR.
+
+2008-10-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/37568
+ * semantics.c (finalize_nrv_r): Clear DECL_INITIAL instead of
+ setting it to error_mark_node.
+
+2008-10-07 Steve Ellcey <sje@cup.hp.com>
+
+ * decl.c (start_cleanup_fn): Declare as inline.
+
+2008-10-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/37376, other mangling issues
+ * mangle.c (write_type): Update TYPE_PACK_EXPANSION mangling.
+ (write_member_name): Break out from...
+ (write_expression): ...here. Handle dependent COMPONENT_REF.
+ (write_template_arg): Wrap an argument pack in 'I'/'E'.
+ (write_builtin_type): Update char16/32_t mangling.
+ (write_nested_name, write_prefix): Don't forget template args
+ for typename types.
+ * operators.def: Add ARROW_EXPR, update COMPONENT_REF and
+ EXPR_PACK_EXPANSION.
+
+2008-10-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * typeck.c (build_x_indirect_ref): Add location argument.
+ (cp_build_binary_op): Pass location to warn_for_div_by_zero.
+ (cp_build_unary_op): Add location argument.
+ (cp_build_modify_expr): Same.
+ * class.c (build_base_path): Pass location to build_indirect_ref.
+ * semantics.c (handle_omp_for_class_iterator): Pass elocus to
+ build_modify_expr.
+
+2008-10-05 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/37410
+ * cp-gimplify.c (cp_gimplify_expr): For each USING_STMT
+ make sure an IMPORTED_DECL node is added to the BLOCK_VARS list
+ of the innermost containing BLOCK.
+
+2008-10-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/37719
+ * error.c (dump_function_decl): Save the exceptions in case of
+ error about incompatible specifications in a specialization.
+
+2008-10-01 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ * tree.c (lvalue_p_1): COMPOUND_LITERAL_EXPR is also an lvalue.
+
+2008-09-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR c++/37683
+ * parser.c (cp_parser_selection_statement): Fix uninitialized
+ variable.
+
+2008-09-30 Simon Martin <simartin@users.sourceforge.net>
+
+ PR c++/37555
+ PR c++/37556
+ * decl.c (grokdeclarator): Set the type for typedefs to a
+ nested-name-specifier to error_mark_node.
+
+2008-09-30 Paolo Bonzini <bonzini@gnu.org>
+
+ * parser.c (cp_parser_selection_statement): Implement here the
+ -Wempty-body warning for `if' and `else' statements.
+ * semantics.c (finish_if_stmt): Do not call empty_body_warning.
+
+2008-09-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/37649
+ * name-lookup.c (maybe_process_template_type_declaration): Check
+ return value of push_template_decl_real for error_mark_node.
+
+2008-09-24 Aldy Hernandez <aldyh@redhat.com>
+
+ * semantics.c (finish_fname): Pass location to fname_decl.
+
+2008-09-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/37533
+ * semantics.c (finish_omp_for): If processing_template_decl, just build
+ MODIFY_EXPR for init instead of calling cp_build_modify_expr.
+
+2008-09-23 Aldy Hernandez <aldyh@redhat.com>
+
+ * typeck.c (build_array_ref): Pass location to cp_build_binary_op.
+ (get_member_function_from_ptrfunc): Same.
+ (build_x_binary_op): Same.
+ (build_binary_op): Same.
+ (cp_build_binary_op): New location argument.
+ (pointer_diff): Pass location to cp_build_binary_op.
+ (cp_truthvalue_conversion): Pass location to build_binary_op.
+ (convert_ptrmem): Pass location to cp_build_binary_op.
+ (cp_build_modify_expr): Same.
+ (build_ptrmemfunc): Same.
+ * init.c (expand_cleanup_for_base): Pass location to
+ c_common_truthvalue_conversion.
+ (build_new_1): Pass location to cp_build_binary_op.
+ (build_vec_delete_1): Pass location to *build_binary_op,
+ c_common_truthvalue_conversion.
+ (build_vec_init): Same.
+ (build_delete): Same.
+ * decl.c (compute_array_index_type): Same.
+ * call.c (build_new_op): Same.
+ * rtti.c (build_dynamic_cast_1): Same.
+ * cp-tree.h: Add argument to cp_build_binary_op.
+ * semantics.c (handle_omp_for_class_iterator): Pass location to
+ *build_binary_op, c_common_truthvalue_conversion.
+ * decl2.c (get_guard_cond): Same.
+
+2008-09-17 Richard Guenther <rguenther@suse.de>
+
+ PR c++/22374
+ * rtti.c (build_dynamic_cast_1): Convert the COND_EXPR
+ result to the correct type.
+
+2008-09-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR c++/37450
+ * name-lookup.c (pushdecl_maybe_friend): Don't return the old
+ parameter for duplicate.
+
+2008-09-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/37588
+ * name-lookup.c (lookup_type_scope): Look through sk_function_parms.
+
+2008-09-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/37552
+ * typeck.c (build_array_ref): Use protected_set_expr_location instead
+ of SET_EXPR_LOCATION when ret might not be an expression.
+
+2008-09-17 Jan Hubicka <jh@suse.cz>
+
+ PR c++/18071
+ * cp/decl.c (start_method): Set DECL_NO_INLINE_WARNING_P.
+
+2008-09-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/37531
+ * semantics.c (finish_compound_literal): Return error_mark_node if
+ type is errorneous.
+
+ PR c++/37532
+ * lex.c (init_reswords): Don't populate ridpointers for D_CONLY
+ reserved words.
+
+2008-09-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * decl.c (duplicate_decls): Call error_at.
+ (grokfndecl): New location argument. Use location if available.
+ (grokdeclarator): Pass declarator location to grokfndecl.
+ * cp-tree.h (struct cp_declarator): Update comment for id_loc.
+ * decl2.c (check_classfn): Use error_at.
+ * parser.c (cp_parser_init_declarator): Set function_start_locus
+ to brace location.
+ (cp_parser_member_declaration): Set id_loc for function declarators.
+
+2008-09-09 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/37500
+ * pt.c (tsubst_decl): Do not copy DECL_STRUCT_FUNCTION pointer.
+
+2008-09-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/37417
+ * tree.c (array_type_nelts_top): Add size_one_node instead of
+ integer_one_node.
+
+2008-09-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/37439
+ * pt.c (tsubst_copy) [PARM_DECL]: Don't abort if the parm has
+ DECL_CONTEXT set.
+
+2008-09-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/37389
+ * decl.c (build_enumerator): Handle previous value's DECL_INITIAL
+ being error_operand_p. Don't clear value if it was error_mark_node.
+
+2008-09-09 Paolo Bonzini <bonzini@gnu.org>
+
+ * cp-objcp-common.h (LANG_HOOKS_EXPAND_DECL): Remove.
+ * cp-tree.h: Don't mention DECL_ANON_UNION_ELEMS.
+ * semantics.c (anon_aggr_type_p): Remove.
+
+2008-09-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/37302
+ * parser.c (cp_parser_parameter_declaration_list): Process the
+ PARM_DECLs as we go and push them. Return a TREE_LIST.
+ (cp_parser_parameter_declaration_clause): Return a TREE_LIST.
+ (cp_parser_direct_declarator): Create a binding level and
+ suppress deprecated warnings in the parameter list.
+ (make_call_declarator): PARMS is now a tree.
+ * cp-tree.h (struct cp_declarator): Function parms are now a tree.
+ * decl.h (enum deprecated_states, deprecated_state): Move here.
+ * decl.c: From here.
+ (type_is_deprecated): New fn.
+ (grokparms): PARMLIST is a tree now. Warn about parms that
+ use deprecated types.
+ * mangle.c (write_expression): Handle PARM_DECL, CALL_EXPR and
+ 0-operand cast.
+ * pt.c (tsubst) [DECLTYPE_TYPE]: Set skip_evaluation.
+ (tsubst_copy) [PARM_DECL]: Handle a PARM_DECL used outside of a
+ function.
+ * name-lookup.c (pushtag): Look through function parameter scopes.
+ (pushdecl_maybe_friend): Don't set DECL_CONTEXT on a PARM_DECL
+ when we're parsing a function declarator.
+
+2008-09-05 Douglas Gregor <doug.gregor@gmail.com>
+
+ PR c++/37342
+ * tree.c (cp_build_qualified_type_real): Deal with sharing of
+ TYPE_LANG_SPECIFIC in the canonical types of pointer-to-method
+ types.
+
+2008-09-04 Ian Lance Taylor <iant@google.com>
+
+ * parser.c (check_no_duplicate_clause): Change code parameter to
+ enum omp_clause_code.
+
+2008-09-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/37348
+ * decl.c (cp_finish_decl): Only set
+ DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P if decl is VAR_DECL.
+
+ PR c++/37189
+ * cp-tree.h (defer_mark_used_calls, deferred_mark_used_calls): New
+ extern decls.
+ * decl2.c (mark_used): If defer_mark_used_calls, push decl into
+ deferred_mark_used_calls vector and exit early.
+ * decl.c (defer_mark_used_calls, deferred_mark_used_calls): New
+ variables.
+ (finish_function): Set defer_mark_used_calls for the duration of the
+ function. Call mark_used on any queued decls.
+
2008-09-02 Jason Merrill <jason@redhat.com>
PR c++/37208
* semantics.c (classtype_has_nothrow_assign_or_copy_p): Only check
copy constructors and copy assignment operators proper.
-2008-07-21 Rafael Avila de Espindola <espindola@google.com>
+2008-07-21 Rafael Ávila de Espíndola <espindola@google.com>
* parser.c (cp_token): Remove in_system_header.
(eof_token): Remove in_system_header.
* init.c (avoid_placement_new_aliasing): New static function.
(build_new_1): Call it.
-2007-06-11 Rafael Avila de Espindola <espindola@google.com>
+2007-06-11 Rafael Ávila de Espíndola <espindola@google.com>
* cp-objcp-common.h (LANG_HOOKS_SIGNED_TYPE): Remove.
(LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
* rtti.c (get_tinfo_decl_dynamic, get_typeid): Try to complete the
type only if is a class type (5.2.8/4).
-2007-05-14 Rafael Avila de Espindola <espindola@google.com>
+2007-05-14 Rafael Ávila de Espíndola <espindola@google.com>
* cp-objcp-common.h (LANG_HOOKS_UNSIGNED_TYPE): Remove.
* decl.c (grokdeclarator): Use unsigned_type_for instead of