1. 23 May, 2007 12 commits
    • re PR preprocessor/20077 (GCC accepts macro definitions that fail a constraint) · 126e073b
      2007-05-23  Simon Martin  <simartin@users.sourceforge.net>
      
      	PR preprocessor/20077
      	* macro.c (create_iso_definition): Fixed the method to determine whether
      	the token-pasting operator appears at the beginning or the end of a macro.
      
      From-SVN: r125000
      Simon Martin committed
    • Fix up MIPS16 hard float and add support for complex. · a38e0142
      2007-05-23  Sandra Loosemore  <sandra@codesourcery.com>
      	    Nigel Stephens  <nigel@mips.com>
      	    Richard Sandiford  <richard@codesourcery.com>
      
      	gcc/
      	Fix up MIPS16 hard float and add support for complex.
      
      	* config/mips/mips.h (TARGET_HARD_FLOAT_ABI): New.
      	(TARGET_SOFT_FLOAT_ABI): New.
      	(TARGET_CPU_CPP_BUILTINS): Define __mips_hard_float and
      	__mips_soft_float to reflect the ABI in use, not whether the
      	FPU is directly accessible (e.g., in MIPS16 mode).
      	(UNITS_PER_HWFPVALUE): Use TARGET_SOFT_FLOAT_ABI.
      	(UNITS_PER_FPVALUE): Likewise.
      
      	* config/mips/mips.c (mips_expand_call): Remove redundant
      	TARGET_MIPS16 check.
      	(mips_arg_regno): New.
      	(function_arg_advance): When setting bits in cum->fp_code for
      	MIPS16, don't subtract 1 from cum->arg_number, since it is now
      	zero-based.
      	(function_arg): Use mips_arg_regno.
      	(mips_return_mode_in_fpr_p): New.
      	(mips16_call_stub_mode_suffix): New.
      	(mips16_cfun_returns_in_fpr_p): New.
      	(mips_save_reg_p): Use mips16_cfun_returns_in_fpr_p.
      	(mips_output_function_prologue): Test mips16_hard_float, not
      	!TARGET_SOFT_FLOAT, to decide when a function stub is required.
      	(mips_expand_epilogue): Call MIPS16 helper routines to copy
      	return value into a floating-point register.
      	(mips_can_use_return_insn): Use mips16_cfun_returns_in_fpr_p.
      	(mips_function_value): Rewrite to use mips_return_mode_in_fpr_p.
      	(mips16_fp_args): Handle MIPS32r2 ISA which supports
      	TARGET_FLOAT64, and use mfhc1/mthc1 to copy the most significant
      	word of double arguments from or to the high bits of 64-bit
      	floating point registers.
      	(build_mips16_function_stub): Fill in DECL_RESULT for stubdecl.
      	(mips16_fpret_double): New helper function.
      	(build_mips16_call_stub): Use mips16_return_mode_in_fpr_p.  Add
      	support for complex modes.  Fill in DECL_RESULT for stubdecl.
      	(mips_init_libfuncs): Remove redundant TARGET_MIPS16 check.
      
      	* config/mips/mips16.S 
      	(RET, ARG1, ARG2): New.
      	(MERGE_GPRf, MERGE_GPRt): New.
      	(DELAYt, DELAYf): New.
      	(MOVE_SF_BYTE0, MOVE_SI_BYTE0): New.
      	(MOVE_SF_BYTE4, MOVE_SF_BYTE8): New.
      	(MOVE_DF_BYTE0, MOVE_DF_BYTE8): New.
      	(MOVE_SF_RET, MOVE_SC_RET, MOVE_DF_RET, MOVE_DC_RET, MOVE_SI_RET): New.
      	(SFOP): Renamed to...
      	(OPSF3): This, and macro-ified.  Updated all uses.
      	(SFOP2): Renamed to...
      	(OPSF2): This, and macro-ified.  Updated all uses.
      	(SFCMP): Renamed to...
      	(CMPSF): This, and macro-ified.  Updated all uses.
      	(SFREVCMP): Renamed to...
      	(REVCMPSF): This, and macro-ified.  Updated all uses.
      	(__mips16_floatsisf, __mips16_fix_truncsfsi): Macro-ified.
      	(LDDBL1, LDDBL2, RETDBL): Deleted.
      	(DFOP): Renamed to...
      	(OPDF3): This, and macro-ified.  Updated all uses.
      	(DFOP2): Renamed to...
      	(OPDF2): This, and macro-ified.  Updated all uses.
      	(__mips16_extendsfdf2, __mips16_truncdfsf2): Macro-ified.
      	(DFCMP): Renamed to...
      	(CMPDF): This, and macro-ified.  Updated all uses.
      	(DFREVCMP): Renamed to...
      	(REVCMPDF): This, and macro-ified.  Updated all uses.
      	(__mips16_floatsidf, __mips16_fix_truncdfsi): Macro-ified.
      	(RET_FUNCTION): New.
      	(__mips16_ret_sf, __mips16_ret_df): Macro-ified.
      	(__mips16_ret_sc, __mips16_ret_dc): New.
      	(STUB_ARGS_0, STUB_ARGS_1, STUB_ARGS_5, STUB_ARGS_9, STUB_ARGS_2,
      	STUB_ARGS_6, STUB_ARGS_10): New.
      	(CALL_STUB_NO_RET): New.
      	(__mips16_call_stub_1): Macro-ified.
      	(__mips16_call_stub_5): Macro-ified.
      	(__mips16_call_stub_2): Macro-ified.
      	(__mips16_call_stub_6): Macro-ified.
      	(__mips16_call_stub_9): Macro-ified.
      	(__mips16_call_stub_10): Macro-ified.
      	(CALL_STUB_RET): New.
      	(__mips16_call_stub_sf_0): Macro-ified.
      	(__mips16_call_stub_sf_1): Macro-ified.
      	(__mips16_call_stub_sf_5): Macro-ified.
      	(__mips16_call_stub_sf_2): Macro-ified.
      	(__mips16_call_stub_sf_6): Macro-ified.
      	(__mips16_call_stub_sf_9): Macro-ified.
      	(__mips16_call_stub_sf_10): Macro-ified.
      	(__mips16_call_stub_df_0): Macro-ified.
      	(__mips16_call_stub_df_1): Macro-ified.
      	(__mips16_call_stub_df_5): Macro-ified.
      	(__mips16_call_stub_df_2): Macro-ified.
      	(__mips16_call_stub_df_6): Macro-ified.
      	(__mips16_call_stub_df_9): Macro-ified.
      	(__mips16_call_stub_df_10): Macro-ified.
      	(__mips16_call_stub_sc_0): New.
      	(__mips16_call_stub_sc_1): New.
      	(__mips16_call_stub_sc_5): New.
      	(__mips16_call_stub_sc_2): New.
      	(__mips16_call_stub_sc_6): New.
      	(__mips16_call_stub_sc_9): New.
      	(__mips16_call_stub_sc_10): New.
      	(__mips16_call_stub_dc_0): New.
      	(__mips16_call_stub_dc_1): New.
      	(__mips16_call_stub_dc_5): New.
      	(__mips16_call_stub_dc_2): New.
      	(__mips16_call_stub_dc_6): New.
      	(__mips16_call_stub_dc_9): New.
      	(__mips16_call_stub_dc_10): New.
      	
      	* config/mips/t-elf (LIB1ASMFUNCS): Add MIPS16 floating-point stubs.
      	* config/mips/t-isa3264 (LIB1ASMFUNCS): Likewise.
      	* config/mips/t-r2900 (LIB1ASMFUNCS): Likewise.
      
      	gcc/testsuite/
      	* gcc.target/mips/inter/mips16_stubs_1_main.c: New.
      	* gcc.target/mips/inter/mips16_stubs_1_x.c: New.
      	* gcc.target/mips/inter/mips16_stubs_1_y.c: New.
      	* gcc.target/mips/inter/mips16-inter.exp: New.
      
      
      Co-Authored-By: Nigel Stephens <nigel@mips.com>
      Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
      
      From-SVN: r124999
      Sandra Loosemore committed
    • * gcc.dg/bf-spl1.c, gcc.dg/m68k-pic-1.c: Enable on fido-*-*. · 70c1e033
      From-SVN: r124996
      Kazu Hirata committed
    • invoke.texi (Invoking GCC): Document that the order of the -l option matters. · 70f57af1
      	* doc/invoke.texi (Invoking GCC): Document that the order of the
      	-l option matters.
      
      From-SVN: r124995
      Ian Lance Taylor committed
    • sse3-addsubpd.c: Don't include stdlib.h nor i386-cpuid.h. · 8d8aad97
      2007-05-23  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/sse3-addsubpd.c: Don't include stdlib.h
      	nor i386-cpuid.h.  Include sse3-check.h.  Remove main ().
      	* gcc.target/i386/sse3-addsubps.c: Likewise.
      	* gcc.target/i386/sse3-haddpd.c: Likewise.
      	* gcc.target/i386/sse3-haddps.c: Likewise.
      	* gcc.target/i386/sse3-hsubpd.c: Likewise.
      	* gcc.target/i386/sse3-hsubps.c: Likewise.
      	* gcc.target/i386/sse3-lddqu.c: Likewise.
      	* gcc.target/i386/sse3-movddup.c: Likewise.
      	* gcc.target/i386/sse3-movshdup.c: Likewise.
      	* gcc.target/i386/sse3-movsldup.c: Likewise.
      
      	* gcc.target/i386/ssse3-pabsb.c: Don't include stdlib.h
      	nor i386-cpuid.h.  Include ssse3-check.h.  Remove main ().
      	* gcc.target/i386/ssse3-pabsd.c: Likewise.
      	* gcc.target/i386/ssse3-pabsw.c: Likewise.
      	* gcc.target/i386/ssse3-palignr.c: Likewise.
      	* gcc.target/i386/ssse3-phaddd.c: Likewise.
      	* gcc.target/i386/ssse3-phaddsw.c: Likewise.
      	* gcc.target/i386/ssse3-phaddw.c: Likewise.
      	* gcc.target/i386/ssse3-phsubd.c: Likewise.
      	* gcc.target/i386/ssse3-phsubsw.c: Likewise.
      	* gcc.target/i386/ssse3-phsubw.c: Likewise.
      	* gcc.target/i386/ssse3-pmaddubsw.c: Likewise.
      	* gcc.target/i386/ssse3-pmulhrsw.c: Likewise.
      	* gcc.target/i386/ssse3-pshufb.c: Likewise.
      	* gcc.target/i386/ssse3-psignb.c: Likewise.
      	* gcc.target/i386/ssse3-psignd.c: Likewise.
      	* gcc.target/i386/ssse3-psignw.c: Likewise.
      	* gcc.target/i386/ssse3-vals.h: Likewise.
      
      	* gcc.target/i386/sse3-check.h: New file.
      	* gcc.target/i386/ssse3-check.h: Likewise.
      
      From-SVN: r124994
      H.J. Lu committed
    • re PR bootstrap/32009 (building gcc4-4.3/4.4.0-20070518 failed on OSX 10.3.9) · 7e25695e
      2007-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	PR bootstrap/32009
      	* mh-ppc-darwin: Temporarily disable.
      
      From-SVN: r124990
      Paolo Bonzini committed
    • re PR fortran/32046 (wrong code with -O2 for gfortran.dg/interface_12.f90 & result_in_spec_1.f90) · 7c57b2f1
      	PR fortran/32046
      	* trans-expr.c (gfc_trans_zero_assign): Convert the result of
      	TYPE_SIZE_UNIT into a signed type.
      	(gfc_trans_array_copy):  Likewise.
      	(gfc_trans_array_constructor_copy): Likewise.
      	* trans-array.c (gfc_trans_create_temp_array): Likewise.
      	(gfc_grow_array): Likewise.
      	(gfc_array_init_size): Likewise.
      	(gfc_duplicate_allocatable): Likewise.
      	* trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise.
      
      From-SVN: r124985
      Francois-Xavier Coudert committed
    • re PR target/30987 (Problem while compiling gcc for score) · 6d0ceb76
      2007-05-23  Chen Liqin  <liqin@sunnorth.com.cn>
      
      	PR target/30987
      	* config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove.
      	* config/score/predicate.md (const_pow2, const_npow2): remove.
      	* config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef.
      	PR target/30474
      	* config/score/score.c (score_print_operand): makes sure that only lower 
              bits are used.
      
      From-SVN: r124983
      Chen Liqin committed
    • tree-vrp.c (avoid_overflow_infinity): New static function, broken out of set_value_range_to_value. · b80cca7b
      	* tree-vrp.c (avoid_overflow_infinity): New static function,
      	broken out of set_value_range_to_value.
      	(set_value_range_to_value): Call avoid_overflow_infinity.
      	(extract_range_from_assert): Likewise.
      
      From-SVN: r124981
      Ian Lance Taylor committed
    • re PR fortran/18923 (segfault after subroutine name confusion) · 24016fdb
      2007-05-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/18923
      	* resolve.c (resolve_function): Don't call resolve_global_procedure if
      	there is no name. Delete duplicated statement in ELSE clause.
      
      Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>
      
      From-SVN: r124979
      Jerry DeLisle committed
    • re PR middle-end/31095 (ICE in expand_expr_real_1, at expr.c:8786) · 1809a520
      2007-05-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR middle-end/31095
               * builtins.c (expand_builtin_memmove_args): Strip nops that don't
              change the type before looking for a COMPOUND_EXPR.
      
      2007-05-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR middle-end/31095
              * gcc.c-torture/compile/bcopy-1.c: New testcase.
      
      From-SVN: r124975
      Andrew Pinski committed
    • Daily bump. · 6a57dd4f
      From-SVN: r124973
      GCC Administrator committed
  2. 22 May, 2007 25 commits
    • lower-subreg.c (decompose_multiword_subregs): If we change an insn, call remove_retval_note on it. · 1570a704
      	* lower-subreg.c (decompose_multiword_subregs): If we change an
      	insn, call remove_retval_note on it.
      
      From-SVN: r124969
      Ian Lance Taylor committed
    • re PR tree-optimization/31606 (ICE in try_instantiate_multiple_fields, at tree-sra.c:1601) · 1897129f
      2007-05-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR middle-end/31606
              * gcc.c-torture/20070522-1.c: New testcase.
      
      From-SVN: r124968
      Andrew Pinski committed
    • sse4_1-check.h: Don't include <stdio.h>. · a9535314
      2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/sse4_1-check.h: Don't include <stdio.h>.
      
      From-SVN: r124967
      H.J. Lu committed
    • testsuite_allocator.h (check_new): Assign false to new_called. · b0e94ec9
      2007-05-22  Paolo Carlini  <pcarlini@suse.de>
      
      	* testsuite/util/testsuite_allocator.h (check_new): Assign false
      	to new_called.
      	(check_delete): Likewise for delete_called.
      
      From-SVN: r124966
      Paolo Carlini committed
    • 20000320-1.x, [...]: XFAIL on m68k-*-* and check_effective_target_coldfire_fpu. · 0a2acc8a
      	* gcc.c-torture/execute/ieee/20000320-1.x,
      	gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: XFAIL on
      	m68k-*-* and check_effective_target_coldfire_fpu.
      
      From-SVN: r124964
      Kazu Hirata committed
    • name-lookup.c (ambiguous_decl): Adds check for hidden types. · 8e89cbfe
      	* name-lookup.c (ambiguous_decl): Adds check for hidden types.
      	(unqualified_namespace_lookup): Adds check for hidden types.
      
      	* g++.dg/lookup/hidden-class10.C: New test.
      	* g++.dg/lookup/hidden-class11.C: New test.
      
      From-SVN: r124963
      Ollie Wild committed
    • libgfortran.h: Mark stop_numeric as noreturn. · 6b12f000
      2007-05-22  Tobias Burnus  <burnus@net-b.de>
      
             * libgfortran.h: Mark stop_numeric as noreturn.
      
      From-SVN: r124962
      Tobias Burnus committed
    • regs.h (end_hard_regno): New function. · 09e18274
      gcc/
      	* regs.h (end_hard_regno): New function.
      	(END_HARD_REGNO, END_REGNO): New macros.
      	(add_to_hard_reg_set): New function.
      	(remove_from_hard_reg_set): Likewise.
      	(in_hard_reg_set_p): Likewise.
      	(overlaps_hard_reg_set_p): Likewise.
      	* bt-load.c (find_btr_reference): Use overlaps_hard_reg_set_p.
      	(note_btr_set): Use END_HARD_REGNO.
      	* caller-save.c (setup_save_areas): Use end_hard_regno.
      	(mark_set_regs): Use END_HARD_REGNO.
      	(add_stored_regs): Use end_hard_regno.
      	(mark_referenced_regs): Use add_to_hard_reg_set.
      	* combine.c (update_table_tick): Use END_REGNO.
      	(record_value_for_reg): Likewise.
      	(record_dead_and_set_regs): Likewise.
      	(get_last_value_validate): Likewise.
      	(use_crosses_set_p): Likewise.
      	(reg_dead_at_p_1): Likewise.
      	(reg_dead_at_p): Likewise.
      	(mark_used_regs_combine): Use add_to_hard_reg_set.
      	(move_deaths): Use END_HARD_REGNO.
      	(reg_bitfield_target_p): Use end_hard_regno.
      	(distribute_notes): Use END_HARD_REGNO.
      	* cse.c (mention_regs): Use END_REGNO.
      	(insert): Use add_to_hard_reg_set.
      	(invalidate): Use END_HARD_REGNO.
      	(invalidate_for_call): Likewise.
      	(exp_equiv_p): Use END_REGNO.
      	(cse_insn): Likewise.
      	* cselib.c (cselib_invalidate_regno): Use end_hard_regno.
      	* df-problems.c (df_urec_mark_reg_change): Use END_HARD_REGNO.
      	* df-scan.c (df_ref_record): Use END_HARD_REGNO.
      	* function.c (keep_stack_depressed): Use end_hard_regno.
      	* global.c (global_alloc): Use end_hard_regno.
      	(global_conflicts): Use add_to_hard_reg_set instead of
      	mark_reg_live_nc.
      	(find_reg): Likewise.
      	(mark_reg_store): Likewise.
      	(mark_reg_conflicts): Likewise.
      	(mark_reg_death): Use remove_from_hard_reg_set.
      	(mark_reg_live_nc): Delete.
      	(set_preference): Use end_hard_regno.
      	* local-alloc.c (mark_life): Use add_to_hard_reg_set and
      	remove_from_hard_reg_set.
      	(post_mark_life): Use add_to_hard_reg_set.
      	* mode-switching.c (reg_dies): Use remove_from_hard_reg_set.
      	(reg_becomes_live): Use add_to_hard_reg_set.
      	* recog.c (reg_fits_class_p): Use in_hard_reg_set_p.
      	(peep2_find_free_register): Use add_to_hard_reg_set.
      	* reg-stack.c (convert_regs_exit): Use END_HARD_REGNO.
      	* regclass.c (record_reg_classes): Use in_hard_reg_set_p.
      	* regrename.c (note_sets): Use add_to_hard_reg_set.
      	(clear_dead_regs): Use remove_from_hard_reg_set.
      	(regrename_optimize): Use add_to_hard_reg_set.
      	(find_oldest_value_reg): Use in_hard_reg_set_p.
      	* reload.c (push_reload): Use in_hard_reg_set_p and end_hard_regno.
      	(hard_reg_set_here_p): Use end_hard_regno.
      	(decompose): Likewise.
      	(reg_overlap_mentioned_for_reload_p): Use END_HARD_REGNO.
      	(find_equiv_reg): Use in_hard_reg_set_p and end_hard_regno.
      	* reload1.c (compute_use_by_pseudos): Use add_to_hard_reg_set.
      	(mark_home_live): Use end_hard_regno.
      	(spill_hard_reg): Likewise.
      	(clear_reload_reg_in_use): Likewise.
      	* reorg.c (delete_prior_computation): Use END_REGNO.
      	* resource.c (update_live_status): Use END_HARD_REGNO.
      	(mark_referenced_resources): Use add_to_hard_reg_set.
      	(mark_set_resources): Likewise.
      	(mark_target_live_regs): Likewise.  Use remove_from_hard_reg_set.
      	* rtlanal.c (refers_to_regno_p): Use END_REGNO.
      	(reg_overlap_mentioned_p): Likewise.
      	(dead_or_set_p): Likewise.  Use an exclusive upper loop bound.
      	(covers_regno_no_parallel_p): Use END_REGNO.
      	(find_regno_note): Likewise.
      	(find_reg_fusage): Use END_HARD_REGNO.
      	* stmt.c (decl_overlaps_hard_reg_set_p): Use overlaps_hard_reg_set_p.
      	* var-tracking.c (emit_note_insn_var_location): Use end_hard_regno.
      
      From-SVN: r124961
      Richard Sandiford committed
    • decl.c (duplicate_decls): Verify namespace names are unique. · 6936461f
      	* decl.c (duplicate_decls): Verify namespace names are unique.
      
      	* g++.dg/lookup/name-clash5.C: New test.
      	* g++.dg/lookup/name-clash6.C: New test.
      
      From-SVN: r124960
      Ollie Wild committed
    • i386-2.C: Update comments on header files tested. · 3f457a0d
      2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* g++.dg/other/i386-2.C: Update comments on header files tested.
      	Use -msse4.1 instead of -mssse3.  Include <smmintrin.h> instead
      	of <tmmintrin.h>.
      	* gcc.target/i386/sse-12.c: Likewise.
      	* gcc.target/i386/sse-13.c: Likewise.
      	* gcc.target/i386/sse-14.c: Likewise.
      
      	* gcc.target/i386/sse-13.c (__builtin_ia32_pblendw128): New.
      	Redefined to test with immediate operand.
      	(__builtin_ia32_blendps): Likewise.
      	(__builtin_ia32_blendpd): Likewise.
      	(__builtin_ia32_dpps): Likewise.
      	(__builtin_ia32_dpps): Likewise.
      	(__builtin_ia32_insertps128): Likewise.
      	(__builtin_ia32_vec_ext_v4sf): Likewise.
      	(__builtin_ia32_vec_set_v16qi): Likewise.
      	(__builtin_ia32_vec_set_v4si): Likewise.
      	(__builtin_ia32_vec_set_v2di): Likewise.
      	(__builtin_ia32_vec_ext_v16qi): Likewise.
      	(__builtin_ia32_vec_ext_v4si): Likewise.
      	(__builtin_ia32_vec_ext_v2di): Likewise.
      	(__builtin_ia32_roundpd): Likewise.
      	(__builtin_ia32_roundsd): Likewise.
      	(__builtin_ia32_roundps): Likewise.
      	(__builtin_ia32_roundss): Likewise.
      	(__builtin_ia32_mpsadbw128): Likewise.
      
      From-SVN: r124959
      H.J. Lu committed
    • * MAINTAINERS (Write After Approval): Add myself. · ce3fcf8c
      From-SVN: r124958
      Ollie Wild committed
    • sse4_1-check.h: Don't include ../auto-host.h. · f0de03cf
      2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/sse4_1-check.h: Don't include ../auto-host.h.
      
      From-SVN: r124957
      H.J. Lu committed
    • mode-switching.c (reg_dies): Change type of second argument to "HARD_REG_SET *". · 408bed3c
      gcc/
      	* mode-switching.c (reg_dies): Change type of second argument to
      	"HARD_REG_SET *".
      	(optimize_mode_switching): Update accordingly.
      
      From-SVN: r124955
      Richard Sandiford committed
    • hard-reg-set.h (GO_IF_HARD_REG_SUBSET, [...]): Delete in favor of... · 56b138ae
      gcc/
      	* hard-reg-set.h (GO_IF_HARD_REG_SUBSET, GO_IF_HARD_REG_EQUAL): Delete
      	in favor of...
      	(hard_reg_subset_p, hard_reg_sets_equal_p, hard_reg_sets_intersect_p)
      	(hard_reg_set_empty_p): ...these new functions.
      	* bt-load.c (choose_btr): Use hard_reg_subset_p instead of
      	GO_IF_HARD_REG_SUBSET.
      	* cfgcleanup.c (old_insns_match_p): Use hard_reg_sets_equal_p
      	instead of GO_IF_HARD_REG_EQUAL.
      	* df-problems.c (df_urec_local_compute): Use hard_reg_set_empty_p
      	instead of GO_IF_HARD_REG_EQUAL.
      	* global.c (find_reg): Use hard_reg_set_empty_p instead of
      	GO_IF_HARD_REG_SUBSET.
      	(modify_reg_pav): Use hard_reg_set_empty_p instead of
      	GO_IF_HARD_REG_EQUAL.
      	* local-alloc.c (find_free_reg): Use hard_reg_subset_p instead
      	of GO_IF_HARD_REG_SUBSET.
      	* reg-stack.c (change_stack, convert_regs_1): Use hard_reg_sets_equal_p
      	instead of GO_IF_HARD_REG_EQUAL.
      	* regclass.c (init_reg_sets_1, reg_scan_mark_refs): Use
      	hard_reg_subset_p instead of GO_IF_HARD_REG_SUBSET.
      	(reg_classes_intersect_p): Use hard_reg_sets_intersect_p instead
      	of GO_IF_HARD_REG_SUBSET,
      	* reload1.c (finish_spills): Use hard_reg_subset_p instead of
      	GO_IF_HARD_REG_SUBSET.
      	* struct-equiv.c (death_notes_match_p): Use hard_reg_sets_equal_p
      	instead of GO_IF_HARD_REG_EQUAL.
      	* config/sh/sh.c (push_regs, calc_live_regs): Use
      	hard_reg_sets_intersect_p instead of hard_regs_intersect_p.
      	(hard_regs_intersect_p): Delete.
      
      From-SVN: r124954
      Richard Sandiford committed
    • func-array.c: Support -DDBG to report individual failures. · 965ff670
      	* gcc.dg/dfp/func-array.c: Support -DDBG to report individual failures.
      	* gcc.dg/dfp/func-struct.c: Ditto.
      	* gcc.dg/dfp/operator-assignment.c: Ditto.
      	* gcc.dg/dfp/convert-bfp.c: Ditto.
      	* gcc.dg/dfp/convert-int.c: Ditto.
      	* gcc.dg/dfp/convert-int-max.c: Ditto.
      	* gcc.dg/dfp/func-scalar.c: Ditto.
      	* gcc.dg/dfp/cast.c: Ditto.
      	* gcc.dg/dfp/func-mixed.c: Support -DDBG to report individual
      	failures, and fix a typo in return type of arg1_128.
      	* gcc.dg/dfp/convert-dfp.c: Support -DDBG to report individual
      	failures, and fix a typo in a constant suffix.
      	* gcc.dg/dfp/func-vararg-dfp.c: Return zero at the end.
      	* gcc.dg/dfp/convert-complex.c: With -DDBG, abort for failures.
      
      From-SVN: r124953
      Janis Johnson committed
    • gcc/ · ba2f32a9
      	* doc/sourcebuild.texi (Test Directives) Add dg-message.
      gcc/testsuite/
      	* lib/gcc-dg.exp(process_message): New proc.
      	(dg-message): New test directive.
      	* gcc.dg/always_inline.c: Use dg-message.
      	* gcc.dg/always_inline2.c: Ditto.
      	* gcc.dg/always_inline3.c: Ditto.
      	* gcc.dg/invalid-call-1.c: Ditto.
      	* gcc.dg/pr17506.c: Ditto.
      	* gcc.dg/simd-5.c: Ditto.
      	* gcc.dg/simd-6.c: Ditto.
      	* gcc.dg/va-arg-2.c: Ditto.
      	* gcc.dg/cpp/syshdr.c: Ditto.
      	* gcc.dg/cpp/unc4.c: Ditto.
      	* gcc.dg/cpp/trad/mi1.c: Ditto.
      	* gcc.dg/cpp/trad/mi5.c: Ditto.
      	* gcc.dg/cpp/trad/mi7.c: Ditto.
      	* gcc.test-framework/dg-outexistsnot-exp-P.c: Ditto.
      	* gcc.test-framework/dg-outexists-exp-F.c: Ditto.
      	* gcc.test-framework/test-framework.awk: Special-case outexists
      	tests.
      
      Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
      
      From-SVN: r124952
      Janis Johnson committed
    • re PR libfortran/31295 (Uninitialized variable in libgfortran's _gfortran_eoshift0_4) · 1f801ab7
      2007-05-22  Tobias Burnus  <burnus@net-b.de>
      
             PR libgfortran/31295
             * intrinsics/eoshift0.c (eoshift0): Silence uninitialized warning.
             * intrinsics/eoshift2.c (eoshift2): Ditto.
      
      From-SVN: r124948
      Tobias Burnus committed
    • i386-cpuid.h (bit_SSE4_1): New. · 05629956
      2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.dg/i386-cpuid.h (bit_SSE4_1): New.
      	(bit_SSE4_2): Likewise.
      	(bit_POPCNT): Likewise.
      
      	* gcc.target/i386/i386.exp (check_effective_target_sse4): New.
      	Check if assembler supports SSE4 instructions.
      
      	* gcc.target/i386/sse4_1-blendpd.c: New file.
      	* gcc.target/i386/sse4_1-blendps.c: Likewise.
      	* gcc.target/i386/sse4_1-blendvpd.c: Likewise.
      	* gcc.target/i386/sse4_1-blendvps.c: Likewise.
      	* gcc.target/i386/sse4_1-check.h: Likewise.
      	* gcc.target/i386/sse4_1-dppd-1.c: Likewise.
      	* gcc.target/i386/sse4_1-dppd-2.c: Likewise.
      	* gcc.target/i386/sse4_1-dpps-1.c: Likewise.
      	* gcc.target/i386/sse4_1-dpps-2.c: Likewise.
      	* gcc.target/i386/sse4_1-extractps.c: Likewise.
      	* gcc.target/i386/sse4_1-insertps-1.c: Likewise.
      	* gcc.target/i386/sse4_1-insertps-2.c: Likewise.
      	* gcc.target/i386/sse4_1-movntdqa.c: Likewise.
      	* gcc.target/i386/sse4_1-mpsadbw.c: Likewise.
      	* gcc.target/i386/sse4_1-packusdw.c: Likewise.
      	* gcc.target/i386/sse4_1-pblendvb.c: Likewise.
      	* gcc.target/i386/sse4_1-pblendw.c: Likewise.
      	* gcc.target/i386/sse4_1-pcmpeqq.c: Likewise.
      	* gcc.target/i386/sse4_1-pextrb.c: Likewise.
      	* gcc.target/i386/sse4_1-pextrd.c: Likewise.
      	* gcc.target/i386/sse4_1-pextrq.c: Likewise.
      	* gcc.target/i386/sse4_1-pextrw.c: Likewise.
      	* gcc.target/i386/sse4_1-phminposuw.c: Likewise.
      	* gcc.target/i386/sse4_1-pinsrb.c: Likewise.
      	* gcc.target/i386/sse4_1-pinsrd.c: Likewise.
      	* gcc.target/i386/sse4_1-pinsrq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmaxsb.c: Likewise.
      	* gcc.target/i386/sse4_1-pmaxsd.c: Likewise.
      	* gcc.target/i386/sse4_1-pmaxud.c: Likewise.
      	* gcc.target/i386/sse4_1-pmaxuw.c: Likewise.
      	* gcc.target/i386/sse4_1-pminsb.c: Likewise.
      	* gcc.target/i386/sse4_1-pminsd.c: Likewise.
      	* gcc.target/i386/sse4_1-pminud.c: Likewise.
      	* gcc.target/i386/sse4_1-pminuw.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxbd.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxbq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxbw.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxdq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxwd.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxwq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxbd.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxbq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxbw.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxdq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxwd.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxwq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmuldq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmulld.c: Likewise.
      	* gcc.target/i386/sse4_1-ptest-1.c: Likewise.
      	* gcc.target/i386/sse4_1-ptest-2.c: Likewise.
      	* gcc.target/i386/sse4_1-ptest-3.c: Likewise.
      	* gcc.target/i386/sse4_1-round.h: Likewise.
      	* gcc.target/i386/sse4_1-roundpd-1.c: Likewise.
      	* gcc.target/i386/sse4_1-roundpd-2.c: Likewise.
      	* gcc.target/i386/sse4_1-roundpd-3.c: Likewise.
      	* gcc.target/i386/sse4_1-roundps-1.c: Likewise.
      	* gcc.target/i386/sse4_1-roundps-2.c: Likewise.
      	* gcc.target/i386/sse4_1-roundps-3.c: Likewise.
      	* gcc.target/i386/sse4_1-roundsd-1.c: Likewise.
      	* gcc.target/i386/sse4_1-roundsd-2.c: Likewise.
      	* gcc.target/i386/sse4_1-roundsd-3.c: Likewise.
      	* gcc.target/i386/sse4_1-roundsd-4.c: Likewise.
      	* gcc.target/i386/sse4_1-roundss-1.c: Likewise.
      	* gcc.target/i386/sse4_1-roundss-2.c: Likewise.
      	* gcc.target/i386/sse4_1-roundss-3.c: Likewise.
      	* gcc.target/i386/sse4_1-roundss-4.c: Likewise.
      
      From-SVN: r124947
      H.J. Lu committed
    • config.gcc (i[34567]86-*-*): Add smmintrin.h to extra_headers. · 9a5cee02
      2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
      	    Richard Henderson  <rth@redhat.com>
      
      	* config.gcc (i[34567]86-*-*): Add smmintrin.h to
      	extra_headers.
      	(x86_64-*-*): Likewise.
      
      	* i386/i386-modes.def (V2QI): New.
      
      	* config/i386/i386.c (ix86_handle_option): Handle SSE4.1 and
      	SSE4A.
      	(override_options): Support SSE4.1.
      	(IX86_BUILTIN_BLENDPD): New for SSE4.1.
      	(IX86_BUILTIN_BLENDPS): Likewise.
      	(IX86_BUILTIN_BLENDVPD): Likewise.
      	(IX86_BUILTIN_BLENDVPS): Likewise.
      	(IX86_BUILTIN_PBLENDVB128): Likewise.
      	(IX86_BUILTIN_PBLENDW128): Likewise.
      	(IX86_BUILTIN_DPPD): Likewise.
      	(IX86_BUILTIN_DPPS): Likewise.
      	(IX86_BUILTIN_INSERTPS128): Likewise.
      	(IX86_BUILTIN_MOVNTDQA): Likewise.
      	(IX86_BUILTIN_MPSADBW128): Likewise.
      	(IX86_BUILTIN_PACKUSDW128): Likewise.
      	(IX86_BUILTIN_PCMPEQQ): Likewise.
      	(IX86_BUILTIN_PHMINPOSUW128): Likewise.
      	(IX86_BUILTIN_PMAXSB128): Likewise.
      	(IX86_BUILTIN_PMAXSD128): Likewise.
      	(IX86_BUILTIN_PMAXUD128): Likewise.
      	(IX86_BUILTIN_PMAXUW128): Likewise.
      	(IX86_BUILTIN_PMINSB128): Likewise.
      	(IX86_BUILTIN_PMINSD128): Likewise.
      	(IX86_BUILTIN_PMINUD128): Likewise.
      	(IX86_BUILTIN_PMINUW128): Likewise.
      	(IX86_BUILTIN_PMOVSXBW128): Likewise.
      	(IX86_BUILTIN_PMOVSXBD128): Likewise.
      	(IX86_BUILTIN_PMOVSXBQ128): Likewise.
      	(IX86_BUILTIN_PMOVSXWD128): Likewise.
      	(IX86_BUILTIN_PMOVSXWQ128): Likewise.
      	(IX86_BUILTIN_PMOVSXDQ128): Likewise.
      	(IX86_BUILTIN_PMOVZXBW128): Likewise.
      	(IX86_BUILTIN_PMOVZXBD128): Likewise.
      	(IX86_BUILTIN_PMOVZXBQ128): Likewise.
      	(IX86_BUILTIN_PMOVZXWD128): Likewise.
      	(IX86_BUILTIN_PMOVZXWQ128): Likewise.
      	(IX86_BUILTIN_PMOVZXDQ128): Likewise.
      	(IX86_BUILTIN_PMULDQ128): Likewise.
      	(IX86_BUILTIN_PMULLD128): Likewise.
      	(IX86_BUILTIN_ROUNDPD): Likewise.
      	(IX86_BUILTIN_ROUNDPS): Likewise.
      	(IX86_BUILTIN_ROUNDSD): Likewise.
      	(IX86_BUILTIN_ROUNDSS): Likewise.
      	(IX86_BUILTIN_PTESTZ): Likewise.
      	(IX86_BUILTIN_PTESTC): Likewise.
      	(IX86_BUILTIN_PTESTNZC): Likewise.
      	(IX86_BUILTIN_VEC_EXT_V16QI): Likewise.
      	(IX86_BUILTIN_VEC_SET_V2DI): Likewise.
      	(IX86_BUILTIN_VEC_SET_V4SF): Likewise.
      	(IX86_BUILTIN_VEC_SET_V4SI): Likewise.
      	(IX86_BUILTIN_VEC_SET_V16QI): Likewise.
      	(bdesc_ptest): New.
      	(bdesc_sse_3arg): Likewise.
      	(bdesc_2arg): Likewise.
      	(bdesc_1arg): Likewise.
      	(ix86_init_mmx_sse_builtins): Support SSE4.1.  Handle SSE builtins
      	with 3 args.
      	(ix86_expand_sse_4_operands_builtin): New.
      	(ix86_expand_unop_builtin): Support 2 arg builtins with a constant
      	smaller than 8 bits as the 2nd arg.
      	(ix86_expand_sse_ptest): New.
      	(ix86_expand_builtin): Support SSE4.1. Support 3 arg SSE builtins.
      	(ix86_expand_vector_set): Support SSE4.1.
      	(ix86_expand_vector_extract): Likewise.
      
      	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
      	__SSE4_1__ for -msse4.1.
      
      	* config/i386/i386.md (UNSPEC_BLENDV): New for SSE4.1.
      	(UNSPEC_INSERTPS): Likewise.
      	(UNSPEC_DP): Likewise.
      	(UNSPEC_MOVNTDQA): Likewise.
      	(UNSPEC_MPSADBW): Likewise.
      	(UNSPEC_PHMINPOSUW): Likewise.
      	(UNSPEC_PTEST): Likewise.
      	(UNSPEC_ROUNDP): Likewise.
      	(UNSPEC_ROUNDS): Likewise.
      
      	* config/i386/i386.opt (msse4.1): New for SSE4.1.
      
      	* config/i386/predicates.md (const_pow2_1_to_2_operand): New.
      	(const_pow2_1_to_32768_operand): Likewise.
      
      	* config/i386/smmintrin.h: New. The SSE4.1 intrinsic header
      	file.
      
      	* config/i386/sse.md (*vec_setv4sf_sse4_1): New pattern for
      	SSE4.1.
      	(sse4_1_insertps): Likewise.
      	(*sse4_1_extractps): Likewise.
      	(sse4_1_ptest): Likewise.
      	(sse4_1_mulv2siv2di3): Likewise.
      	(*sse4_1_mulv4si3): Likewise.
      	(*sse4_1_smax<mode>3): Likewise.
      	(*sse4_1_umax<mode>3): Likewise.
      	(*sse4_1_smin<mode>3): Likewise.
      	(*sse4_1_umin<mode>3): Likewise.
      	(sse4_1_eqv2di3): Likewise.
      	(*sse4_1_pinsrb): Likewise.
      	(*sse4_1_pinsrd): Likewise.
      	(*sse4_1_pinsrq): Likewise.
      	(*sse4_1_pextrb): Likewise.
      	(*sse4_1_pextrb_memory): Likewise.
      	(*sse4_1_pextrw_memory): Likewise.
      	(*sse4_1_pextrq): Likewise.
      	(sse4_1_blendpd): Likewise.
      	(sse4_1_blendps): Likewise.
      	(sse4_1_blendvpd): Likewise.
      	(sse4_1_blendvps): Likewise.
      	(sse4_1_dppd): Likewise.
      	(sse4_1_dpps): Likewise.
      	(sse4_1_movntdqa): Likewise.
      	(sse4_1_mpsadbw): Likewise.
      	(sse4_1_packusdw): Likewise.
      	(sse4_1_pblendvb): Likewise.
      	(sse4_1_pblendw): Likewise.
      	(sse4_1_phminposuw): Likewise.
      	(sse4_1_extendv8qiv8hi2): Likewise.
      	(*sse4_1_extendv8qiv8hi2): Likewise.
      	(sse4_1_extendv4qiv4si2): Likewise.
      	(*sse4_1_extendv4qiv4si2): Likewise.
      	(sse4_1_extendv2qiv2di2): Likewise.
      	(*sse4_1_extendv2qiv2di2): Likewise.
      	(sse4_1_extendv4hiv4si2): Likewise.
      	(*sse4_1_extendv4hiv4si2): Likewise.
      	(sse4_1_extendv2hiv2di2): Likewise.
      	(*sse4_1_extendv2hiv2di2): Likewise.
      	(sse4_1_extendv2siv2di2): Likewise.
      	(*sse4_1_extendv2siv2di2): Likewise.
      	(sse4_1_zero_extendv8qiv8hi2): Likewise.
      	(*sse4_1_zero_extendv8qiv8hi2): Likewise.
      	(sse4_1_zero_extendv4qiv4si2): Likewise.
      	(*sse4_1_zero_extendv4qiv4si2): Likewise.
      	(sse4_1_zero_extendv2qiv2di2): Likewise.
      	(*sse4_1_zero_extendv2qiv2di2): Likewise.
      	(sse4_1_zero_extendv4hiv4si2): Likewise.
      	(*sse4_1_zero_extendv4hiv4si2): Likewise.
      	(sse4_1_zero_extendv2hiv2di2): Likewise.
      	(*sse4_1_zero_extendv2hiv2di2): Likewise.
      	(sse4_1_zero_extendv2siv2di2): Likewise.
      	(*sse4_1_zero_extendv2siv2di2): Likewise.
      	(sse4_1_roundpd): Likewise.
      	(sse4_1_roundps): Likewise.
      	(sse4_1_roundsd): Likewise.
      	(sse4_1_roundss): Likewise.
      	(mulv4si3): Don't expand for SSE4.1.
      	(smax<mode>3): Likewise.
      	(umaxv4si3): Likewise.
      	(uminv16qi3): Likewise.
      	(umin<mode>3): Likewise.
      	(umaxv8hi3): Rewrite.  Only enabled for SSE4.1.
      
      	* doc/extend.texi: Document SSE4.1 built-in functions.
      
      	* doc/invoke.texi: Document -msse4.1.
      
      Co-Authored-By: Richard Henderson <rth@redhat.com>
      
      From-SVN: r124945
      H.J. Lu committed
    • re PR fortran/31627 ([4.1/4.2 only] -bounds-check doesn't check lower bound of assumed-sized array) · c099916d
      	PR fortran/31627
      
      	* trans-array.c (gfc_trans_array_bound_check): Take extra argument to
      	indicate whether we should check the upper bound in that dimension.
      	(gfc_conv_array_index_offset): Check only the lower bound of the
      	last dimension for assumed-size arrays.
      	(gfc_conv_array_ref): Likewise.
      	(gfc_conv_ss_startstride): Likewise.
      
      	* gfortran.dg/bounds_check_7.f90: New test.
      
      From-SVN: r124940
      Francois-Xavier Coudert committed
    • i386.exp (check_effective_target_ssse3): New. · 0f869709
      	* gcc.target/i386/i386.exp (check_effective_target_ssse3): New.
      	(check_effective_target_sse4a): Ditto.
      
      	* gcc.target/i386/ssse3-phsubw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-phaddd.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pabsb.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-psignb.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-phaddsw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pabsd.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-psignd.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pmaddubsw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pmulhrsw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-phaddw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-phsubd.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pabsw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-psignw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pshufb.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-phsubsw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-palignr.c: Require effective target ssse3.
      	* gcc.target/i386/sse4a-insert.c: Require effective target sse4a.
      	* gcc.target/i386/sse4a-extract.c: Require effective target sse4a.
      	* gcc.target/i386/sse4a-montss.c: Require effective target sse4a.
      	* gcc.target/i386/sse4a-montsd.c: Require effective target sse4a.
      
      From-SVN: r124939
      Uros Bizjak committed
    • linux.h (ASM_SPEC): Add asm_pcrel_spec. · bebb3a98
      	* config/m68k/linux.h (ASM_SPEC): Add asm_pcrel_spec.
      	* config/m68k/m68k-none.h (ASM_SPEC): Don't override here.
      	* config/m68k/m68k.h (ASM_PCREL_SPEC): New.
      	(ASM_SPEC): Add asm_pcrel_spec.
      	(EXTRA_SPECS): Add asm_pcrel_spec.
      
      From-SVN: r124937
      Nathan Sidwell committed
    • install.texi (Building a cross compiler): Add requirements for Java cross compiler. · c076e75f
      	* doc/install.texi (Building a cross compiler): Add requirements
      	for Java cross compiler.
      
      From-SVN: r124936
      David Daney committed
    • Daily bump. · e175d3bf
      From-SVN: r124933
      GCC Administrator committed
  3. 21 May, 2007 3 commits
    • decl.c (cxx_maybe_build_cleanup): Handle __attribute__((cleanup)). · 5c113154
      	* decl.c (cxx_maybe_build_cleanup): Handle
      	__attribute__((cleanup)).
      	* g++.dg/ext/cleanup-1.C: New test.
      	* g++.dg/ext/cleanup-2.C: Likewise.
      	* g++.dg/ext/cleanup-3.C: Likewise.
      	* g++.dg/ext/cleanup-4.C: Likewise.
      	* g++.dg/ext/cleanup-5.C: Likewise.
      	* g++.dg/ext/cleanup-6.C: Likewise.
      	* g++.dg/ext/cleanup-8.C: Likewise.
      	* g++.dg/ext/cleanup-9.C: Likewise.
      	* g++.dg/ext/cleanup-10.C: Likewise.
      	* g++.dg/ext/cleanup-11.C: Likewise.
      	* g++.dg/ext/cleanup-dtor.C: Likewise.
      
      From-SVN: r124930
      Mark Mitchell committed
    • internal.h (struct cpp_reader): Add new fields: nonexistent_file_hash and nonexistent_file_ob. · 0b4cafec
      	* internal.h (struct cpp_reader): Add new fields:
      	nonexistent_file_hash and nonexistent_file_ob.
      	* files.c: Include "obstack.h".
      	(find_file_in_dir): Before trying to open the file, look up the
      	path name in the hash table of nonexistent files.  After failing
      	to open the file, add the path name to the hash table.
      	(_cpp_find_file): Cache the results of looking up the file name
      	starting with the quote and bracket chain heads, if we can.
      	(nonexistent_file_hash_eq): New static function.
      	(_cpp_init_files): Initialize pfile->nonexistent_file_hash and
      	pfile->nonexistent_file_ob.
      	(_cpp_cleanup_files): Free pfile->nonexistent_file_hash and
      	pfile->nonexistent_file_ob.
      
      From-SVN: r124929
      Ian Lance Taylor committed
    • re PR tree-optimization/31995 (can't determine dependence between p->a[x+i] and p->a[x+i+1]) · a50411de
      2007-05-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR middle-end/31995
              * tree-chrec.c (evolution_function_is_affine_multivariate_p):
              Add loopno argument.  Use evolution_function_is_invariant_rec_p
              instead of evolution_function_is_constant_p.
              Update calls to evolution_function_is_affine_multivariate_p.
              * tree-chrec.h  (evolution_function_is_affine_multivariate_p):
              Add loopno argument.
              * tree-scalar-evolution.c (gather_chrec_stats): Call
              evolution_function_is_affine_multivariate_p with a  loop
              number of 0.
              * tree-data-ref.c (analyze_miv_subscript): Likewise.
              (analyze_overlapping_iterations): Likewise.
              (access_functions_are_affine_or_constant_p):
              Likewise.
              (build_classic_dist_vector_1): If the access functions
              are equal, don't do anything.
      
      2007-05-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR middle-end/31995
              * gcc.dg/vect/vect-102a.c: New test.
      
      From-SVN: r124927
      Andrew Pinski committed