gcc/
* config/mips/mips-protos.h (mips_push_asm_switch): New function.
(mips_pop_asm_switch): Likewise.
* config/mips/mips.c (set_noreorder, set_nomacro, set_noat): Replace
with...
(mips_noreorder, mips_nomacro, mips_noat): ...these new variables.
(mips_push_asm_switch_1, mips_pop_asm_switch_1): New functions.
(mips_push_asm_switch, mips_pop_asm_switch): Likewise.
(mips_print_operand_punctuation): Use them. Check mips_noreorder
instead of set_noreorder.
(mips_output_function_prologue): Use the new functions.
(mips_output_function_epilogue): Likewise.
(mips_need_noat_wrapper_p): New function, split out from...
(mips_final_prescan_insn, mips_final_postscan_insn): ...here.
Use mips_push_asm_switch and mips_pop_asm_switch.
* config/mips/mips.h (FUNCTION_PROFILER): Use mips_push_asm_switch
and mips_pop_asm_switch.
(ASM_OUTPUT_REG_POP): Likewise.
(DBR_OUTPUT_SEQEND): Remove boilerplate comment.
Use mips_pop_asm_switch.
(mips_asm_switch): New structure.
(set_noreorder, set_nomacro): Replace with...
(mips_noreorder, mips_nomacro, mips_noat): ...these new variables.
* config/mips/mips.md (fix_truncdfsi2_macro): Use mips_nomacro
instead of set_nomacro.
(fix_truncsfsi2_macro): Likewise.
(cprestore): Likewise.
(hazard): Use mips_noreorder instead of set_noreorder.
* config/mips/sdemtk.h (FUNCTION_PROFILER): As for mips.h.
From-SVN: r150803
* config/avr/avr.h (AVR_HAVE_8BIT_SP): New macros.
* config/avr/avr.c (avr_override_options): Initialize
avr_current_arch variable.
(avr_cpu_cpp_builtins): Define __AVR_HAVE_8BIT_SP__ or
__AVR_HAVE_16BIT_SP__ according to the device type.
(expand_prologue, output_movhi): Use AVR_HAVE_8BIT_SP instead of
TARGET_TINY_STACK.
(expand_epilogue): Use correct QI mode frame pointer for tiny stack.
Use AVR_HAVE_8BIT_SP instead of TARGET_TINY_STACK.
From-SVN: r150801
/:
Sync from src, merge:
2009-07-02 Tristan Gingold <gingold@adacore.com>
* configure.ac: Do not exclude gas for i386-*-darwin.
Add a case for x86_64-*-darwin.
* configure: Regenerate.
From-SVN: r150800
Fix for PR debug/37801
gcc/ChangeLog:
* gcc/dwarf2out.c (gen_inlined_subroutine_die): Concentrate on
generating inlined subroutine die only. We shouldn't be
called for anything else.
(gen_block_die): Don't generate inline subroutine debug info for
abstract blocks.
gcc/testsuite/ChangeLog:
* gcc/testsuite/gcc.dg/debug/20020224-1.c: Adjust the comment.
Make sure to trigger inlining optimizations.
* gcc/testsuite/gcc.dg/debug/dwarf2/inline2.c: New test.
From-SVN: r150796
2009-08-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/41070
* resolve.c (resolve_structure_cons): Make sure that ts.u.derived is
only used if type is BT_DERIVED.
2009-08-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/41070
* gfortran.dg/structure_constructor_10.f90: New.
From-SVN: r150781
2009-08-14 Douglas B Rupp <rupp@gnat.com>
* config/ia64/fde-vms.c: New file.
* config/ia64/fde-glibc.c (_Unwind_FindTableEntry): Add dummy arg.
* config/ia64/unwind-ia64.c (UNW_ accessors): Move to unwind-ia64.h
(MD_UNW_COMPATIBLE_PERSONALITY_P): Provide default.
(uw_frame_state_for): Only register a personality routine if it is
known to be compatible with our expectations.
(_Unwind_FindEnclosingFunction, uw_frame_state_for):
Declare unw_table_entry stack variable and
mod all calls to _Unwind_FindTableEntry to add arg.
* config/ia64/unwind-ia64.h (UNW_ accessors): Move here.
(_Unwind_FindTableEntry): Add arg to prototype.
From-SVN: r150778
* config/ia64/unwind-ia64.c (struct _Unwind_Context): Add new
field 'signal_pfs_loc'.
(uw_frame_state_for): Remove duplicate code dealing with leaf
procedures without unwind info.
If in the frame after unwinding through a signal handler, restore
the AR.PFS register instead of the CFM if AR.PFS has not been saved.
* config/ia64/linux-unwind.h (ia64_fallback_frame_state): Do not set
'pfs_loc' to the AR.PFS location in the signal context; instead
set 'signal_pfs_loc'.
Manually generate the unwind info for the AR.PFS register.
(ABI_MARKER_OLD_LINUX_SIGTRAMP, ABI_MARKER_OLD_LINUX_INTERRUPT,
ABI_MARKER_LINUX_SIGTRAMP, ABI_MARKER_LINUX_INTERRUPT): Define.
(ia64_handle_unwabi): Test 'fs->unwabi' against them.
Do not set 'pfs_loc' to the AR.PFS location in the signal context;
instead set 'signal_pfs_loc'.
Remove code preventing the AR.PFS register from being restored
from the signal context.
From-SVN: r150777
2009-08-15 Kai Tietz <kai.tietz@onevision.com>
* intrinsics/string_intrinsics_inc.c (string_len_trim): Use
__INTPTR_TYPE__ to cast from pointer to scalar integer, if
__INTPTR_TYPE is defined.
From-SVN: r150774
2009-08-14 Kai Tietz <kai.tietz@onevision.com>
* gnu/java/security/jce/prng/natVMSecureRandomWin32.cc: Add include of
java/lang/UnsupportedOperationException.h file.
From-SVN: r150766
2009-08-14 Rafael Avila de Espindola <espindola@google.com>
* final.c (add_debug_prefix_map): Don't use GC memory for
old_prefix and new_prefix.
From-SVN: r150759
2009-08-14 Richard Guenther <rguenther@suse.de>
* ipa-prop.c (compute_complex_pass_through): If we cannot
compute a non-varying offset for IPA_JF_ANCESTOR punt.
* gcc.c-torture/execute/20090814-1.c: New testcase.
From-SVN: r150757
PR rtl-optimization/41064
* reload1.c (reload_as_needed): Don't call extract_insn
for known invalid replacements after calling
validate_replace_rtx_group and verify_changes.
From-SVN: r150751
PR target/41019
* config/i386/sse.md (SSEMODE124C8): New mode iterator.
(vcond<SSEMODEF2P:mode>): Assert that operation is supported by
ix86_expand_fp_vcond.
(vcond<SSEMODE124C8:mode>): Use SSEMODE124C8 instead of SSEMODE124.
Assert that operation is supported by ix86_expand_int_vcond.
(vcondu<SSEMODE124C8:mode>): Ditto.
testsuite/ChangeLog:
PR target/41019
* gcc.target/i386/pr41019.c: New test.
From-SVN: r150738
* config/sh/sh.c (sh_override_options): When flag_exceptions or
flag_unwind_tables is on, turn flag_reorder_blocks_and_partition
off.
From-SVN: r150727
* tree-ssa-loop-prefetch.c
(prune_ref_by_group_reuse): Enhance probabilistic analysis
for long-stride pruning.
(compute_miss_rate): New function to compute the probability
that two memory references access different cache lines.
From-SVN: r150726