OSDN Git Service

contrib/
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index a78e5f4..ee09f15 100644 (file)
@@ -1,3 +1,196 @@
+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