OSDN Git Service

PR debug/43670
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 32a4bed..7e08006 100644 (file)
@@ -1,3 +1,224 @@
+2010-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43670
+       * cfgexpand.c (expand_debug_expr): If for non-NULL offset
+       op0 is not a MEM, just return NULL instead of assertion
+       failure.
+       (discover_nonconstant_array_refs): Don't walk debug stmts.
+
+2010-04-08  Doug Kwan  <dougkwan@google.com>
+
+       * configure.ac: Recognize gold and do not use its version number
+       to test ld features.
+       * configure: Regenerate.
+
+2010-04-08  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       PR middle-end/40815
+       * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
+       (negate_value): Move code to push elements to broken_up_substracts ...
+       (eliminate_plus_minus_pair): ... here.  Push operands that have no
+       negative pair to plus_negates.
+       (repropagate_negates, init_reassoc, fini_reassoc): Update.
+
+2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/install.texi (Configuration): Move description of
+       --enable-lto, --with-libelf*, --enable-gold from Java section to
+       general section.
+
+       * doc/generic.texi (Working with declarations)
+       (Function Properties, C and C++ Trees): Fix typos.
+       * doc/sourcebuild.texi (Top Level): Likewise.
+
+2010-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/18624
+       * tree.h (DECL_READ_P): Define.
+       (struct tree_decl_common): Add decl_read_flag.
+       * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
+       a set but not used warning.
+       (merge_decls): Merge DECL_READ_P flag.
+       (finish_decl, build_compound_literal): Set DECL_READ_P flag.
+       (finish_function): Issue -Wunused-but-set-parameter diagnostics.
+       * c-common.c (handle_used_attribute, handle_unused_attribute):
+       Likewise.
+       * c-tree.h (default_function_array_read_conversion, mark_exp_read):
+       New prototypes.
+       * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
+       New functions.
+       (default_conversion, c_process_expr_stmt): Call mark_exp_read.
+       * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
+       c_parser_binary_expression, c_parser_cast_expression,
+       c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
+       Call default_function_array_read_conversion instead of
+       default_function_array_conversion where needed.
+       (c_parser_unary_expression, c_parser_conditional_expression,
+       c_parser_postfix_expression_after_primary, c_parser_initelt):
+       Likewise.  Call mark_exp_read where needed.
+       (c_parser_statement_after_labels, c_parser_asm_operands,
+       c_parser_typeof_specifier, c_parser_sizeof_expression,
+       c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
+       where needed.
+       * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
+       New.
+       * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
+       (warn_unused_but_set_parameter): Default to warn_unused
+       && extra_warnings.
+       * doc/invoke.texi: Document -Wunused-but-set-variable and
+       -Wunused-but-set-parameter.
+
+       * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
+       used count variable.
+       * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
+       when operandN variables aren't used in the body of the expander
+       or splitter.
+       * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
+       FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
+       * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
+       * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
+       FOR_EACH_IMM_USE_ON_STMT): Likewise.
+       * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
+       * tree.c (PROCESS_ARG): Likewise.
+
+2010-04-07  Simon Baldwin  <simonb@google.com>
+
+       * diagnostic.h (diagnostic_override_option_index): New macro to
+       set a diagnostic's option_index.
+       * c-tree.h (c_cpp_error): Add warning reason argument.
+       * opts.c (_warning_as_error_callback): New.
+       (register_warning_as_error_callback): Store callback for
+       warnings enabled via enable_warning_as_error.
+       (enable_warning_as_error): Call callback, minor code tidy.
+       * opts.h (register_warning_as_error_callback): Declare.
+       * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
+       response to -Werror=.
+       (c_common_init_options): Register warning_as_error_callback in opts.c.
+       * common.opt: Add -Wno-cpp option.
+       * c-common.c (struct reason_option_codes_t): Map cpp warning
+       reason codes to gcc option indexes.
+       * (c_option_controlling_cpp_error): New function, lookup the gcc
+       option index for a cpp warning reason code.
+       * (c_cpp_error): Add warning reason argument, call
+       c_option_controlling_cpp_error for diagnostic_override_option_index.
+       * doc/invoke.texi: Document -Wno-cpp.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       * ipa-reference.c (mark_load): Use get_base_address.
+       (mark_store): Likewise.
+
+       * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
+       inserting GIMPLE_NOPs into the IL.
+       * tree-ssa-structalias.c (get_constraint_for_component_ref):
+       Explicitly strip handled components and indirect references.
+  
+       * fold-const.c (fold_unary_loc): Do not strip qualifiers when
+       folding address expressions.
+       * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
+       * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
+       operand_equal_p to compare decls.
+       (ptr_deref_may_alias_decl_p): Likewise.
+       * tree-ssa-operands.c (get_asm_expr_operands): Simplify
+       * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
+       Handle reversed comparison ops.
+       * tree-sra.c (asm_visit_addr): Use get_base_address.
+       * ipa-prop.c (visit_store_addr_for_mod_analysis): Use
+       get_base_address.
+       * ipa-reference.c (mark_address): Use get_base_address.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr):
+       Propagate constants everywhere.
+
+2010-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43516
+       * tree.c (MAX_INT_CACHED_PREC): Define.
+       (nonstandard_integer_type_cache): New array.
+       (build_nonstandard_integer_type): Cache results for precision
+       <= MAX_INT_CACHED_PREC.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       * doc/invoke.texi (-fargument-alias, -fargument-noalias,
+       -fargument-noalias-global, -fargument-noalias-anything): Remove.
+       * common.opt: Likewise.
+       * tree-ssa-structalias.c (intra_create_variable_infos): Adjust
+       comment.
+       * alias.c (base_alias_check): Remove flag_argument_noalias
+       handling.
+       (nonoverlapping_memrefs_p): Likewise.
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+       * opts.c (common_handle_option): Handle OPT_fargument_alias,
+       OPT_fargument_noalias, OPT_fargument_noalias_anything and
+       OPT_fargument_noalias_global for backward compatibility.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43270
+       * tree-vrp.c (check_array_ref): Fix flexible array member
+       detection.
+       * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
+       * tree-ssa-pre.c (phi_translate_1): Adjust.
+       (fully_constant_expression): Split out vn_reference handling to ...
+       * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
+       Fold reads from constant strings.
+       (vn_reference_lookup): Handle fully constant references.
+       (vn_reference_lookup_pieces): Likewise.
+       * Makefile.in (expmed.o-warn): Add -Wno-error.
+
+2010-04-07  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-sra.c (find_param_candidates): Allow scalar va_list types.
+
+2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR driver/41594
+       * gcc.c: Add -static-libstdc++ to list of recognized options.
+
+2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to
+       generic.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42617
+       * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with
+       pointer bases build simple mem attributes to retain
+       points-to information.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42617
+       * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
+       preserve points-to related information.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42617
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
+       discard plain indirect references.
+       * fold-const.c (operand_equal_p): Guard against NULL_TREE
+       type.
+       * tree.c (tree_nop_conversion): Likewise.
+
+2010-04-07  Dodji Seketeli  <dodji@redhat.com>
+
+       PR debug/43628
+       * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
+
+2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
+       calling convention attributes on METHOD_TYPEs for w64 ABI, too.
+
+2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c: Fix indentation and comments.
+
 2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
 
        * tree-if-conv.c: Sort static functions in topological order.
 
 2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
-       * config.guess (i[34567]86-*-solaris2*): Default with_arch_32,
+       * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
        with_tune_32 to pentium4.
 
 2010-04-01  Uros Bizjak  <ubizjak@gmail.com>