2007-06-13 Eric Christopher <echristo@apple.com>
* config/i386/i386.c (override_options): If we've specified
an arch then don't use TARGET_SUBTARGET_ISA_DEFAULTs.
From-SVN: r125685
* libsupc++/eh_arm.cc (__cxa_type_match): Handle foreign
exceptions.
* libsubpc++/eh_personality.cc: Don't try to set up foreign or
forced unwind types here when using the ARM EABI unwinder.
From-SVN: r125683
* config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Use gen_frame_mem.
* config/bfin/bfin.md (UNSPEC_VOLATILE_STORE_EH_HANDLER): New constant.
(eh_store_handler): New pattern.
(eh_return): Emit it instead of a plain move.
From-SVN: r125681
* config/bfin/bfin.c (gen_one_bundle): Delete unused local variables.
(find_next_insn_start, find_load): New functions.
(bfin_reorg): Use them to deal with the fact that parallel insns are
no longer represented as a SEQUENCE.
From-SVN: r125677
2007-06-12 Seongbae Park <seongbae.park@gmail.com>
* opts.c (common_handle_option): Handle new option -fdbg-cnt-list.
* dbgcnt.c (dbg_cnt_set_limit_by_name): Return value
to indicate an error.
(dbg_cnt_process_single_pair, dbg_cnt_list_all_counters): New functions
(dbg_cnt_process_opt): Print an error on a bad argument.
* dbgcnt.h (dbg_cnt_list_all_counters): New function declaration.
* common.opt (-fdbg-cnt-list): New.
* doc/invoke.texi (-fdbg-cnt-list,-fdbg-cnt=): New.
From-SVN: r125657
2007-06-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/31579
* expr.c (expand_expr_addr_expr_1): Call expand_expr
for the offset with the modifier as EXPAND_INITIALIZER
if the modifier is EXPAND_INITIALIZER.
(expand_expr_real_1 <case INTEGER_CST>): Don't force to
a register if we had an overflow.
2007-06-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/31579
* g++.dg/torture/pr31579.C: New testcase.
From-SVN: r125655
* gcov.c: Comments updated.
(source_info): Add file_time field.
(source_index): New variable.
(mutiple_files): New variable.
(generate_results): New function extracted from process_file.
(process_file): Save and restore chain of functions, generate
results and free structures only if not merging results.
(release_structures): File names are now freed in create_file_names
(create_file_names): Free previous file names.
(find_source): File date is now read here and modifications in
source files is checked here.
(read_graph_file): Only reverse order of functions for the current
object file.
(make_gcov_file_name): Do not generate long names if input_name is
NULL.
(output_lines): If merging results do not display graph, data and
runs informations.
Checking source file modification is done in find_source.
* doc/gcov.texi: Append an s to sourcefile.
From-SVN: r125649
* config/bfin/bfin.md (UNSPEC_NOP): New constant.
(forced_nop): New pattern.
* config/bfin/bfin.c: Include "df.h".
(add_to_reg): Use df_regs_ever_live_p instead of regs_ever_live.
(bfin_discover_loop): Use df_get_live_in instead of
global_live_at_start.
(bfin_reorder_loops): Pass 0 to cfg_layout_initialize. Call
df_analyze when done.
(gen_one_bundle): Don't generate SEQUENCE insns, just put modes on
the insns. Use QImode for the final insn in a bundle. Call
df_insn_rescan on generated NOPs; use gen_forced_nop instead of
gen_nop.
(reorder_var_tracking_notes): New function.
(bfin_reorg): Pass no argument to split_all_insns. Don't call
update_life_info. Call df_analyze after scheduling and bundle
generation. Call reorder_var_tracking_notes if generating these notes.
Call df_finish_pass at the end.
From-SVN: r125648
2007-06-07 Dirk Mueller <dmueller@suse.de>
* trans-stmt.c (gfc_trans_call): fix gcc_assert to
a comparison, not an assignment.
* optabls.c (debug_optab_libfuncs): fix gcc_assert to
a comparison, not an assignment.
From-SVN: r125647
* fold-const (fold_binary) [RDIV_EXPR]: Also optimize a/cbrt(b/c)
into a*cbrt(c/b) if flag_unsafe_math_optimizations is set.
testuite/ChangeLog:
* gcc.dg/builtins-11.c: Also check folding of a/cbrt(b/c).
From-SVN: r125641
2007-06-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29786
PR fortran/30875
* trans-common.c (get_init_field): New function.
(create_common): Call get_init_field for overlapping
initializers in equivalence blocks.
* resolve.c (resolve_equivalence_derived, resolve_equivalence):
Remove constraints on initializers in equivalence blocks.
* target-memory.c (expr_to_char, gfc_merge_initializers):
New functions.
(encode_derived): Add the bit offset to the byte offset to get
the total offset to the field.
* target-memory.h : Add prototype for gfc_merge_initializers.
2007-06-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29786
* gfortran.dg/equiv_7.f90: New test.
* gfortran.dg/equiv_constraint_7.f90: Change error message.
PR fortran/30875
* gfortran.dg/equiv_constraint_5.f90: Correct code and error.
From-SVN: r125628