OSDN Git Service

* include/cpplib.h (struct cpp_callbacks): Add user_builtin_macro
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f4630c7..c52a81b 100644 (file)
@@ -1,3 +1,139 @@
+2010-06-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-family/c-cppbuiltin.c: Include cpp-id-data.h.
+       (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
+       (lazy_hex_fp_value): New function.
+       (builtin_define_with_hex_fp_value): Provide definitions lazily.
+       * Makefile.in (c-family/c-cppbuiltin.o): Depend on $(CPP_ID_DATA_H).
+
+2010-06-11  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/44483
+       * tree-if-conv.c (bb_predicate_s): New struct.
+       (bb_predicate_p): New.
+       (bb_has_predicate): New.
+       (bb_predicate): New.
+       (set_bb_predicate): New.
+       (bb_predicate_gimplified_stmts): New.
+       (set_bb_predicate_gimplified_stmts): New.
+       (add_bb_predicate_gimplified_stmts): New.
+       (init_bb_predicate): New.
+       (free_bb_predicate): New.
+       (is_predicated): Use bb_predicate.
+       (add_to_predicate_list): Use bb_predicate and set_bb_predicate.
+       (predicate_bbs): Same.  Gimplify the condition of the basic blocks
+       before processing their successors.
+       (clean_predicate_lists): Removed.
+       (find_phi_replacement_condition): Use bb_predicate.
+       (process_phi_nodes): Renamed ifconvert_phi_nodes.  Avoid useless
+       computations.
+       (insert_gimplified_predicates): New.
+       (combine_blocks): Call insert_gimplified_predicates.
+       (tree_if_conversion): Call free_bb_predicate instead of
+       clean_predicate_lists.
+
+2010-10-11  Paul Brook  <paul@codesourcery.com>
+       * doc/invoke.texi: Document ARM -mcpu=cortex-m4.
+       * config/arm/arm.c (all_architectures): Change v7e-m default to
+       cortexm4.
+       * config/arm/arm-cores.def: Add cortex-m4.
+       * config/arm/arm-tune.md: Regenerate.
+
+2010-06-11  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-pure-const.c (special_builtlin_state): New function.
+       (check_call): Use it instead of special casign BUILT_IN_RETURN.
+       (propagate_pure_const): Use it.
+
+2010-06-11  Jan Hubicka  <jh@suse.cz>
+
+       * df-problems.c (df_live_scratch): Convert to bitmap_head.
+       (df_live_alloc): Initialize df_live_scratch when initializing
+       problem_data.
+       (df_live_transfer_function): Update uses of df_live_scratch.
+       (df_live_free): Free problem_data; clear df_live_scratch before
+       releasing the obstack.
+       (df_md_free): Free problem data.
+
+2010-06-11  Jan Hubicka  <jh@suse.cz>
+
+       * doc/invoke.texi (Wsuggest-attribute): Document.
+       (Wmissing-noreturn): Remove.
+       * ipa-pure-const.c (warn_function_noreturn): New function.
+       * opts.c (decode_options): Set warn_suggest_attribute_noreturn on
+       warn_missing_noreturn.
+       * common.opt (Wsuggest-attribute=noreturn): New.
+       * tree-flow.h (warn_function_noreturn): Declare.
+       * tree-cfg.c (execute_warn_function_noreturn): Use
+       warn_function_noreturn.
+       (gate_warn_function_noreturn): New.
+       (pass_warn_function_noreturn): Update.
+
+2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * c-typeck.c (handle_warn_cast_qual): Add loc
+       parameter. Improve warning message.
+       (build_c_cast): Pass location to handle_warn_cast_qual.
+
+2010-06-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (pro_epilogue_adjust_stack_1) <TYPE_ALU>: Assert
+       that operand 0 == operand 1.  Use x86_maybe_negate_const_int to output
+       insn mnemonic.
+       (pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.
+
+2010-06-10  Dodji Seketeli  <dodji@redhat.com>
+
+       Fix bootstap on mips
+       * dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
+       be naming typedefs.
+
+2010-06-11  Kai Tietz  <kai.tietz@onevision.com>
+
+       * system.h (helper_const_non_const_cast): New inline for
+       gcc version <= 4.0.
+       (CONST_CAST2): For gcc version <= 4.0 use
+       new helper to do const/non-const casting.
+
+2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * doc/md.texi: Document the "unspec" and "unspecv" enum names.
+       * Makefile.in (OBJS-common): Include insn-enums.o.
+       (insn-enums.o): New rule.
+       (simple_generated_c): Add insn-enums.c.
+       (build/genenums.o): New rule.
+       (genprogmd): Add "enums".
+       * genconstants.c (print_enum_type): Declare a C string array
+       for each enum.
+       * genenums.c: New file.
+       * print-rtl.c (print_rtx): If defined, use the "unspecv" enum
+       for UNSPEC_VOLATILE.  If defined, use the "unspec" enum for both
+       UNSPEC and (as a fallback) for UNSPEC_VOLATILE.
+
+2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * doc/md.texi (define_enum_attr): Document.
+       * rtl.def (DEFINE_ENUM_ATTR): New rtx.
+       * read-md.h (lookup_enum_type): Declare.
+       * read-md.c (lookup_enum_type): New function.
+       * genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR.
+       * genattrtab.c (attr_desc): Add an enum_name field.
+       (evaluate_eq_attr): Take the associated attribute as argument.
+       Get the enum prefix from the enum_name field, if defined.
+       Use ACONCAT rather than a fixed-length buffer.  Update recursive calls.
+       (simplify_test_exp): Pass attr to evaluate_eq_attr.
+       (add_attr_value): New function, split out from...
+       (gen_attr): ...here.  Handle DEFINE_ENUM_ATTR.
+       (write_test_expr): Pass attr to evaluate_eq_attr.
+       (write_attr_get): Use the enum_name as the enum tag, if defined.
+       (write_attr_valueq): Use the enum_name as a prefix, if defined.
+       (find_attr): Initialize enum_name.
+       (main): Handle DEFINE_ENUM_ATTR.
+       * gensupport.c (process_rtx): Likewise.
+       * config/mips/mips.h (mips_tune_attr): Delete.
+       * config/mips/mips.md (cpu): Use define_attr_enum.
+
 2010-06-10  Richard Sandiford  <rdsandiford@googlemail.com>
 
        * doc/md.texi (define_c_enum, define_enum): Document.
        * gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
        Move to read-md.h.
        * gensupport.c: Include read-md.h.
-       (message_with_line, n_comma_elts, scan_comma_elt): Move to
-       read-md.c.
+       (message_with_line, n_comma_elts, scan_comma_elt): Move to read-md.c.
        * read-md.h, read-md.c: New files.
 
 2010-06-10  Anatoly Sokolov  <aesok@post.ru>
 
 2010-06-10  Jan Beulich  <jbeulich@novell.com>
 
+       PR bootstrap/37304
        * configure.ac: Replace $() with ${} when intending to expand
        variables rather than invoking commands.
        * configure: Re-generate.
 2010-06-10  Jan Hubicka  <jh@suse.cz>
 
        PR rtl-optimization/44460
-       * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove TYPE_NEEDS_CONSTRUCTING
-       sanity check.
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
+       TYPE_NEEDS_CONSTRUCTING sanity check.
 
 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
 
 
 2010-06-09  Changpeng Fang  <changpeng.fang@amd.com>
 
-        * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) :
-        Change the PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO threshold value from
-        8 to 4.  Minor change of the related comments.
+       * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) :
+       Change the PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO threshold value from
+       8 to 4.  Minor change of the related comments.
 
 2010-06-09  Sebastian Pop  <sebastian.pop@amd.com>
 
        * tree-vectorizer.h (vinfo_for_stmt): Remove check.
        (set_vinfo_for_stmt, get_earlier_stmt, is_loop_header_bb_p): Change
        gcc_assert to gcc_checking_assert.
-       * tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use, phi_nodes
-       set_phi_nodes, phi_arg_index_from_use, op_iter_next_use,
+       * tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use,
+       phi_nodes, set_phi_nodes, phi_arg_index_from_use, op_iter_next_use,
        op_iter_next_def, op_iter_next_tree, op_iter_init, op_iter_init_use,
-       op_iter_init_phiuse, op_iter_init_phidef, array_ref_contains_indirect_ref,
-       ref_contains_array_ref): Use gcc_checking_assert.
+       op_iter_init_phiuse, op_iter_init_phidef,
+       array_ref_contains_indirect_ref, ref_contains_array_ref): Use
+       gcc_checking_assert.
        * emit-rtl.h (set_first_insn, set_last_insn): Likewise.
        * tree-ssa-live.h (var_to_partition, var_to_partition_to_var,
        partition_is_global, live_on_entry, live_on_exit,
 2010-06-09  Jan Hubicka  <jh@suse.cz>
 
        * gimple.h (gcc_gimple_checking_assert): New macro.
-       (gimple_set_def_ops, gimple_set_use_ops,
-       gimple_set_vuse, gimple_set_vdef,
-       gimple_omp_subcode, gimple_omp_set_subcode, gimple_ops, gimple_op,
-       gimple_op_ptr, gimple_op_ptr, gimple_set_op, gimple_bind_set_block,
-       gimple_asm_input_op, gimple_asm_input_op_ptr, gimple_asm_set_input_op,
-       gimple_asm_output_op, gimple_asm_output_op_ptr,
-       gimple_asm_set_output_op, gimple_asm_clobber_op, 
-       gimple_asm_set_clobber_op, gimple_asm_label_op,
-       gimple_asm_set_label_op, gimple_try_set_kind, gimple_try_catch_is_cleanup
-       gimple_try_set_catch_is_cleanup, gimple_phi_arg, 
-       gimple_switch_num_labels, gimple_switch_set_index, gimple_switch_label,
-       gimple_switch_set_label, gimple_omp_for_index, gimple_omp_for_index_ptr,
-       gimple_omp_for_set_index, gimple_omp_for_initial, gimple_omp_for_initial_ptr,
-       gimple_omp_for_set_initial, gimple_omp_for_final, gimple_omp_for_final_ptr,
-       gimple_omp_for_set_final, gimple_omp_for_incr, gimple_omp_for_incr_ptr,
-       gimple_omp_for_set_incr, gimple_omp_for_set_cond, gimple_omp_for_cond): Make
-       checking conditional with ENABLE_GIMPLE_CHECKING.
-       (gimple_phi_set_arg): Likewise; replace memcpy by assignment.
+       (gimple_set_def_ops, gimple_set_use_ops,
+       gimple_set_vuse, gimple_set_vdef,
+       gimple_omp_subcode, gimple_omp_set_subcode, gimple_ops, gimple_op,
+       gimple_op_ptr, gimple_op_ptr, gimple_set_op, gimple_bind_set_block,
+       gimple_asm_input_op, gimple_asm_input_op_ptr, gimple_asm_set_input_op,
+       gimple_asm_output_op, gimple_asm_output_op_ptr,
+       gimple_asm_set_output_op, gimple_asm_clobber_op,
+       gimple_asm_set_clobber_op, gimple_asm_label_op,
+       gimple_asm_set_label_op, gimple_try_set_kind,
+       gimple_try_catch_is_cleanup, gimple_try_set_catch_is_cleanup,
+       gimple_phi_arg, gimple_switch_num_labels, gimple_switch_set_index,
+       gimple_switch_label, gimple_switch_set_label, gimple_omp_for_index,
+       gimple_omp_for_index_ptr, gimple_omp_for_set_index,
+       gimple_omp_for_initial, gimple_omp_for_initial_ptr,
+       gimple_omp_for_set_initial, gimple_omp_for_final,
+       gimple_omp_for_final_ptr, gimple_omp_for_set_final,
+       gimple_omp_for_incr, gimple_omp_for_incr_ptr, gimple_omp_for_set_incr,
+       gimple_omp_for_set_cond, gimple_omp_for_cond): Make checking
+       conditional with ENABLE_GIMPLE_CHECKING.
+       (gimple_phi_set_arg): Likewise; replace memcpy by assignment.
 
 2010-06-09  Sandra Loosemore  <sandra@codesourcery.com>
 
 
        * tree-cfg.c (create_bb): Update comment to not reference
        ggc_alloc_cleared.
-       * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is
-       value.
+       * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is value.
 
        * varpool.c (varpool_node): Use typed GC allocation.
        (varpool_extra_name_alias): Likewise.
        (init_alias_analysis): Likewise.
 
 2010-06-08  Shujing Zhao  <pearly.zhao@oracle.com>
-       
+
        * fold-const.c (fold_comparison): Remove redundant parenthesis.
        * tree-inline.c (expand_call_inline): Pass translated return value of
        cgraph_inline_failed_string to diagnostic function.
        toplev.c.
        * flags.h (flag_signed_char, flag_short_enums,
        flag_pcc_struct_return, flag_ira_verbose,
-       flag_detailed_statistics, flag_remove_unreachable_functions):
-       Remove.
+       flag_detailed_statistics, flag_remove_unreachable_functions): Remove.
        * toplev.c (flag_detailed_statistics, flag_signed_char,
        flag_short_enums, flag_pcc_struct_return, flag_ira_verbose): Remove.
        (DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
 
        PR rtl-optimization/44404
        * auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
-       of count_occurrences to see if it's safe to modify mem_insn.insn.
+       of count_occurrences to see if it's safe to modify mem_insn.
 
 2010-06-07  Richard Guenther  <rguenther@suse.de>
 
 
        * tree-into-ssa.c (insert_phi_nodes): Use bitmap heads
        for dominance frontiers.
-       (rewrite_into_ssa): Update for bitmap heads in dominance
-       frontiers.
+       (rewrite_into_ssa): Update for bitmap heads in dominance frontiers.
        (insert_updated_phi_nodes_for): Likewise.
        (update_ssa): Likewise.
        * cfganal.c (compute_dominance_frontiers_1): Likewise.
 
 2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
 
-       * c-lex.c: Do not include c-tree.h.
-       * c-pretty-print.c: Likewise.
-       * c-opts.c: Likewise.
-       * c-gimplify.c: Likewise.
+       * c-lex.c: Do not include c-tree.h.
+       * c-pretty-print.c: Likewise.
+       * c-opts.c: Likewise.
+       * c-gimplify.c: Likewise.
        * c-common.c: Likewise.
        * c-dump.c: Likewise.  Include c-common.h.
 
        (next_operand_entry_id): New static variable.
        (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
        (add_to_ops_vec): Assigned unique ID to operand entry.
-       (struct oecount_s): New field ID.
+       (struct oecount_s): New field ID.
        (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
        (undistribute_ops_list): Assign unique IDs to oecounts.
        (init_reassoc): reset next_operand_entry_id.