gcc.git
17 years agoi386.c (ix86_handle_option): Handle SSE4.1 for -msse/-msse2/-msse3.
H.J. Lu [Thu, 24 May 2007 13:31:05 +0000 (13:31 +0000)]
i386.c (ix86_handle_option): Handle SSE4.1 for -msse/-msse2/-msse3.

2007-05-24  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_handle_option): Handle SSE4.1 for
-msse/-msse2/-msse3.

From-SVN: r125023

17 years agoi386.c (ix86_init_mmx_sse_builtins): Mark __builtin_ia32_vec_set_v2di with MASK_64BIT.
H.J. Lu [Thu, 24 May 2007 13:28:49 +0000 (13:28 +0000)]
i386.c (ix86_init_mmx_sse_builtins): Mark __builtin_ia32_vec_set_v2di with MASK_64BIT.

2007-05-24  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_init_mmx_sse_builtins): Mark
__builtin_ia32_vec_set_v2di with MASK_64BIT.

From-SVN: r125022

17 years agore PR target/27067 (Compile errors with multiple inheritance where the stdcall attrib...
Danny Smith [Thu, 24 May 2007 10:11:49 +0000 (10:11 +0000)]
re PR target/27067 (Compile errors with multiple inheritance where the stdcall attribute is applied to virtual functions.)

ChangeLog

PR target/27067
* doc/tm.texi (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Document.
* targhooks.h (default_mangle_decl_assembler_name): Declare
default hook.
* targhooks.c (default_mangle_decl_assembler_name): Define
default hook.
* target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) New. Set to
default hook.
* target.h (struct gcc_target): Add mangle_decl_assembler_name field.
* langhooks.c (lhd_set_decl_assembler_name): Call
targetm.mangle_decl_assembler_name for names with global scope.

* config/i386/cygming.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) Override
default.
(ASM_OUTPUT_DEF_FROM_DECLS): Simplify to use DECL_ASSEMBLER_NAME.
* config/i386/i386-protos.h (i386_pe_mangle_decl_assembler_name):
Declare.
* config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
New. Factored out of i386_pe_encode_section_info.
(gen_stdcall_or_fastcall_suffix): Get name identifier as argument.
Move check for prior decoration of stdcall
symbols to i386_pe_encode_section_info.
(i386_pe_encode_section_info): Adjust call to
gen_stdcall_or_fastcall_suffix.  Use
i386_pe_maybe_mangle_decl_assembler_name, if needed.
(i386_pe_mangle_decl_assembler_name): New. Wrap
i386_pe_maybe_mangle_decl_assembler_name.

cp/ChangeLog

        * mangle.c (mangle_decl): Call targetm.mangle_decl_assembler_name.

From-SVN: r125020

17 years agore PR testsuite/32038 (gfortran.dg/pr25603.f is invalid code)
Francois-Xavier Coudert [Thu, 24 May 2007 09:56:50 +0000 (09:56 +0000)]
re PR testsuite/32038 (gfortran.dg/pr25603.f is invalid code)

PR fortran/32038
* gfortran.dg/pr25603.f: Initialize integer variables.

From-SVN: r125019

17 years agore PR fortran/31716 (segfault with real array bounds)
Jerry DeLisle [Thu, 24 May 2007 05:03:51 +0000 (05:03 +0000)]
re PR fortran/31716 (segfault with real array bounds)

2007-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/31716
* array.c (spec_dimen_size): Test for correct BT_INTEGER type.

From-SVN: r125013

17 years agoc-common.c (c_common_signed_or_unsigned_type): Delay the check for INTEGRAL_TYPE_P...
Rafael Avila de Espindola [Thu, 24 May 2007 04:38:27 +0000 (04:38 +0000)]
c-common.c (c_common_signed_or_unsigned_type): Delay the check for INTEGRAL_TYPE_P and TYPE_UNSIGNED.

       * c-common.c (c_common_signed_or_unsigned_type): Delay the check for
       INTEGRAL_TYPE_P and TYPE_UNSIGNED.
       * langhooks.c (get_signed_or_unsigned_type): Don't check for
       INTEGRAL_TYPE_P or TYPE_UNSIGNED.
       (lhd_signed_or_unsigned_type): Check for INTEGRAL_TYPE_P and
       TYPE_UNSIGNED.

From-SVN: r125012

17 years agoDaily bump.
GCC Administrator [Thu, 24 May 2007 00:17:24 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r125010

17 years ago* g++.dg/other/vrp1.C: New test.
Ian Lance Taylor [Wed, 23 May 2007 23:00:54 +0000 (23:00 +0000)]
* g++.dg/other/vrp1.C: New test.

From-SVN: r125007

17 years agore PR preprocessor/20077 (GCC accepts macro definitions that fail a constraint)
Simon Martin [Wed, 23 May 2007 20:58:34 +0000 (20:58 +0000)]
re PR preprocessor/20077 (GCC accepts macro definitions that fail a constraint)

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

17 years agoFix up MIPS16 hard float and add support for complex.
Sandra Loosemore [Wed, 23 May 2007 20:03:00 +0000 (16:03 -0400)]
Fix up MIPS16 hard float and add support for complex.

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

17 years ago* gcc.dg/bf-spl1.c, gcc.dg/m68k-pic-1.c: Enable on fido-*-*.
Kazu Hirata [Wed, 23 May 2007 16:32:04 +0000 (16:32 +0000)]
* gcc.dg/bf-spl1.c, gcc.dg/m68k-pic-1.c: Enable on fido-*-*.

From-SVN: r124996

17 years agoinvoke.texi (Invoking GCC): Document that the order of the -l option matters.
Ian Lance Taylor [Wed, 23 May 2007 15:55:34 +0000 (15:55 +0000)]
invoke.texi (Invoking GCC): Document that the order of the -l option matters.

* doc/invoke.texi (Invoking GCC): Document that the order of the
-l option matters.

From-SVN: r124995

17 years agosse3-addsubpd.c: Don't include stdlib.h nor i386-cpuid.h.
H.J. Lu [Wed, 23 May 2007 15:25:16 +0000 (15:25 +0000)]
sse3-addsubpd.c: Don't include stdlib.h nor i386-cpuid.h.

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

17 years agore PR bootstrap/32009 (building gcc4-4.3/4.4.0-20070518 failed on OSX 10.3.9)
Paolo Bonzini [Wed, 23 May 2007 14:26:31 +0000 (14:26 +0000)]
re PR bootstrap/32009 (building gcc4-4.3/4.4.0-20070518 failed on OSX 10.3.9)

2007-05-23  Paolo Bonzini  <bonzini@gnu.org>

PR bootstrap/32009
* mh-ppc-darwin: Temporarily disable.

From-SVN: r124990

17 years agore PR fortran/32046 (wrong code with -O2 for gfortran.dg/interface_12.f90 & result_in...
Francois-Xavier Coudert [Wed, 23 May 2007 08:25:05 +0000 (08:25 +0000)]
re PR fortran/32046 (wrong code with -O2 for gfortran.dg/interface_12.f90 & result_in_spec_1.f90)

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

17 years agore PR target/30987 (Problem while compiling gcc for score)
Chen Liqin [Wed, 23 May 2007 06:09:20 +0000 (06:09 +0000)]
re PR target/30987 (Problem while compiling gcc for score)

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

17 years agotree-vrp.c (avoid_overflow_infinity): New static function, broken out of set_value_ra...
Ian Lance Taylor [Wed, 23 May 2007 05:53:21 +0000 (05:53 +0000)]
tree-vrp.c (avoid_overflow_infinity): New static function, broken out of set_value_range_to_value.

* 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

17 years agore PR fortran/18923 (segfault after subroutine name confusion)
Jerry DeLisle [Wed, 23 May 2007 04:15:25 +0000 (04:15 +0000)]
re PR fortran/18923 (segfault after subroutine name confusion)

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

17 years agore PR middle-end/31095 (ICE in expand_expr_real_1, at expr.c:8786)
Andrew Pinski [Wed, 23 May 2007 01:17:14 +0000 (01:17 +0000)]
re PR middle-end/31095 (ICE in expand_expr_real_1, at expr.c:8786)

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

17 years agoDaily bump.
GCC Administrator [Wed, 23 May 2007 00:18:45 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r124973

17 years agolower-subreg.c (decompose_multiword_subregs): If we change an insn, call remove_retva...
Ian Lance Taylor [Tue, 22 May 2007 23:42:17 +0000 (23:42 +0000)]
lower-subreg.c (decompose_multiword_subregs): If we change an insn, call remove_retval_note on it.

* lower-subreg.c (decompose_multiword_subregs): If we change an
insn, call remove_retval_note on it.

From-SVN: r124969

17 years agore PR tree-optimization/31606 (ICE in try_instantiate_multiple_fields, at tree-sra...
Andrew Pinski [Tue, 22 May 2007 23:05:40 +0000 (23:05 +0000)]
re PR tree-optimization/31606 (ICE in try_instantiate_multiple_fields, at tree-sra.c:1601)

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

17 years agosse4_1-check.h: Don't include <stdio.h>.
H.J. Lu [Tue, 22 May 2007 22:58:32 +0000 (22:58 +0000)]
sse4_1-check.h: Don't include <stdio.h>.

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

17 years agotestsuite_allocator.h (check_new): Assign false to new_called.
Paolo Carlini [Tue, 22 May 2007 22:43:22 +0000 (22:43 +0000)]
testsuite_allocator.h (check_new): Assign false to new_called.

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

17 years ago20000320-1.x, [...]: XFAIL on m68k-*-* and check_effective_target_coldfire_fpu.
Kazu Hirata [Tue, 22 May 2007 21:06:22 +0000 (21:06 +0000)]
20000320-1.x, [...]: XFAIL on m68k-*-* and check_effective_target_coldfire_fpu.

* 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

17 years agoname-lookup.c (ambiguous_decl): Adds check for hidden types.
Ollie Wild [Tue, 22 May 2007 21:05:01 +0000 (21:05 +0000)]
name-lookup.c (ambiguous_decl): Adds check for hidden types.

* 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

17 years agolibgfortran.h: Mark stop_numeric as noreturn.
Tobias Burnus [Tue, 22 May 2007 20:55:53 +0000 (22:55 +0200)]
libgfortran.h: Mark stop_numeric as noreturn.

2007-05-22  Tobias Burnus  <burnus@net-b.de>

       * libgfortran.h: Mark stop_numeric as noreturn.

From-SVN: r124962

17 years agoregs.h (end_hard_regno): New function.
Richard Sandiford [Tue, 22 May 2007 20:52:39 +0000 (20:52 +0000)]
regs.h (end_hard_regno): New function.

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

17 years agodecl.c (duplicate_decls): Verify namespace names are unique.
Ollie Wild [Tue, 22 May 2007 20:36:49 +0000 (20:36 +0000)]
decl.c (duplicate_decls): Verify namespace names are unique.

* 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

17 years agoi386-2.C: Update comments on header files tested.
H.J. Lu [Tue, 22 May 2007 20:25:48 +0000 (20:25 +0000)]
i386-2.C: Update comments on header files tested.

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

17 years ago* MAINTAINERS (Write After Approval): Add myself.
Ollie Wild [Tue, 22 May 2007 20:16:21 +0000 (20:16 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r124958

17 years agosse4_1-check.h: Don't include ../auto-host.h.
H.J. Lu [Tue, 22 May 2007 19:50:17 +0000 (19:50 +0000)]
sse4_1-check.h: Don't include ../auto-host.h.

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

17 years agomode-switching.c (reg_dies): Change type of second argument to "HARD_REG_SET *".
Richard Sandiford [Tue, 22 May 2007 19:41:10 +0000 (19:41 +0000)]
mode-switching.c (reg_dies): Change type of second argument to "HARD_REG_SET *".

gcc/
* mode-switching.c (reg_dies): Change type of second argument to
"HARD_REG_SET *".
(optimize_mode_switching): Update accordingly.

From-SVN: r124955

17 years agohard-reg-set.h (GO_IF_HARD_REG_SUBSET, [...]): Delete in favor of...
Richard Sandiford [Tue, 22 May 2007 19:33:37 +0000 (19:33 +0000)]
hard-reg-set.h (GO_IF_HARD_REG_SUBSET, [...]): Delete in favor of...

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

17 years agofunc-array.c: Support -DDBG to report individual failures.
Janis Johnson [Tue, 22 May 2007 18:08:48 +0000 (18:08 +0000)]
func-array.c: Support -DDBG to report individual failures.

* 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

17 years agogcc/
Janis Johnson [Tue, 22 May 2007 18:01:12 +0000 (18:01 +0000)]
gcc/
* 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

17 years agore PR libfortran/31295 (Uninitialized variable in libgfortran's _gfortran_eoshift0_4)
Tobias Burnus [Tue, 22 May 2007 16:19:09 +0000 (18:19 +0200)]
re PR libfortran/31295 (Uninitialized variable in libgfortran's _gfortran_eoshift0_4)

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

17 years agoi386-cpuid.h (bit_SSE4_1): New.
H.J. Lu [Tue, 22 May 2007 16:14:13 +0000 (16:14 +0000)]
i386-cpuid.h (bit_SSE4_1): New.

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

17 years agoconfig.gcc (i[34567]86-*-*): Add smmintrin.h to extra_headers.
H.J. Lu [Tue, 22 May 2007 14:37:19 +0000 (14:37 +0000)]
config.gcc (i[34567]86-*-*): Add smmintrin.h to extra_headers.

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

17 years agore PR fortran/31627 ([4.1/4.2 only] -bounds-check doesn't check lower bound of assume...
Francois-Xavier Coudert [Tue, 22 May 2007 09:27:15 +0000 (09:27 +0000)]
re PR fortran/31627 ([4.1/4.2 only] -bounds-check doesn't check lower bound of assumed-sized array)

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

17 years agoi386.exp (check_effective_target_ssse3): New.
Uros Bizjak [Tue, 22 May 2007 08:15:13 +0000 (10:15 +0200)]
i386.exp (check_effective_target_ssse3): New.

* 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

17 years ago* misc.c (enumerate_modes): Consider log2_b to always be one.
Alexandre Oliva [Tue, 22 May 2007 07:00:22 +0000 (07:00 +0000)]
* misc.c (enumerate_modes): Consider log2_b to always be one.

From-SVN: r124938

17 years agolinux.h (ASM_SPEC): Add asm_pcrel_spec.
Nathan Sidwell [Tue, 22 May 2007 06:55:27 +0000 (06:55 +0000)]
linux.h (ASM_SPEC): Add asm_pcrel_spec.

* 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

17 years agoinstall.texi (Building a cross compiler): Add requirements for Java cross compiler.
David Daney [Tue, 22 May 2007 04:06:06 +0000 (04:06 +0000)]
install.texi (Building a cross compiler): Add requirements for Java cross compiler.

* doc/install.texi (Building a cross compiler): Add requirements
for Java cross compiler.

From-SVN: r124936

17 years agoDaily bump.
GCC Administrator [Tue, 22 May 2007 00:18:27 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r124933

17 years agodecl.c (cxx_maybe_build_cleanup): Handle __attribute__((cleanup)).
Mark Mitchell [Mon, 21 May 2007 23:47:29 +0000 (23:47 +0000)]
decl.c (cxx_maybe_build_cleanup): Handle __attribute__((cleanup)).

* 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

17 years agointernal.h (struct cpp_reader): Add new fields: nonexistent_file_hash and nonexistent...
Ian Lance Taylor [Mon, 21 May 2007 23:43:53 +0000 (23:43 +0000)]
internal.h (struct cpp_reader): Add new fields: nonexistent_file_hash and nonexistent_file_ob.

* 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

17 years agore PR tree-optimization/31995 (can't determine dependence between p->a[x+i] and p...
Andrew Pinski [Mon, 21 May 2007 23:08:54 +0000 (23:08 +0000)]
re PR tree-optimization/31995 (can't determine dependence between p->a[x+i] and p->a[x+i+1])

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

17 years agoc-cppbuiltin.c (c_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1...
Paolo Bonzini [Mon, 21 May 2007 22:48:38 +0000 (22:48 +0000)]
c-cppbuiltin.c (c_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1...

2007-05-21  Paolo Bonzini  <bonzini@gnu.org>
            Paolo Carlini  <pcarlini@suse.de>
    Uros Bizjak  <ubizjak@gmail.com>

* c-cppbuiltin.c (c_cpp_builtins): Define
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2,
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8,
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16, if appropriate.
* doc/cpp.texi ([Standard Predefined Macros]): Document.

2007-05-21  Paolo Bonzini  <bonzini@gnu.org>
            Paolo Carlini  <pcarlini@suse.de>
    Uros Bizjak  <ubizjak@gmail.com>

* gcc.dg/gcc-have-sync-compare-and-swap.c,
gcc.target/i386/gcc-have-sync-compare-and-swap-1.c,
gcc.target/i386/gcc-have-sync-compare-and-swap-2.c,
gcc.target/i386/gcc-have-sync-compare-and-swap-3.c,
gcc.target/i386/gcc-have-sync-compare-and-swap-4.c,
New testcases.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r124926

17 years agore PR fortran/32002 (insufficient conformance check when assigning the result of...
Daniel Franke [Mon, 21 May 2007 22:24:55 +0000 (18:24 -0400)]
re PR fortran/32002 (insufficient conformance check when assigning the result of an elemental function to an array)

gcc/fortran:
2005-05-21  Jerry DeLisle  <jvdelisle@verizon.net>
            Daniel Franke  <franke.daniel@gmail.com>

PR fortran/32002
        * resolve.c (resolve_actual_arglist): Resolve actual argument after
        being identified as variable.

gcc/testsuite:
2005-05-21  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/32002
        * gfortran.dg/compliant_elemental_intrinsics_2.f90: New test.

From-SVN: r124924

17 years agore PR fortran/32027 (The "DO" variable isn't consistent after loop)
Francois-Xavier Coudert [Mon, 21 May 2007 22:02:26 +0000 (22:02 +0000)]
re PR fortran/32027 (The "DO" variable isn't consistent after loop)

PR fortran/32027

* trans-stmt.c (gfc_trans_do): Fix the value of loop variable
when the loop ends.

* gfortran.dg/do_3.F90: Add checks for the final value of the
loop variable.

From-SVN: r124923

17 years agotrans-stmt.c (gfc_trans_do): Fix a typo in comment.
H.J. Lu [Mon, 21 May 2007 21:13:03 +0000 (21:13 +0000)]
trans-stmt.c (gfc_trans_do): Fix a typo in comment.

2007-05-21  H.J. Lu  <hongjiu.lu@intel.com>

* trans-stmt.c (gfc_trans_do): Fix a typo in comment.

From-SVN: r124911

17 years agodarwin.h (LINK_COMMAND_SPEC): Add .cxx for dsymutil handling as well.
Mike Stump [Mon, 21 May 2007 20:54:46 +0000 (20:54 +0000)]
darwin.h (LINK_COMMAND_SPEC): Add .cxx for dsymutil handling as well.

* config/darwin.h (LINK_COMMAND_SPEC): Add .cxx for dsymutil
handling as well.
* config/darwin9.h (LINK_COMMAND_SPEC): Likewise.
Radar 5214697

From-SVN: r124909

17 years ago990127-2.x: New file.
Uros Bizjak [Mon, 21 May 2007 20:41:34 +0000 (22:41 +0200)]
990127-2.x: New file.

        * gcc.c-torture/execute/990127-2.x: New file.

From-SVN: r124908

17 years agoc_locale.h: Do not include <cstdarg>, use builtins.
Paolo Carlini [Mon, 21 May 2007 19:22:35 +0000 (19:22 +0000)]
c_locale.h: Do not include <cstdarg>, use builtins.

2007-05-21  Paolo Carlini  <pcarlini@suse.de>

* config/locale/gnu/c_locale.h: Do not include <cstdarg>, use builtins.
* config/locale/generic/c_locale.h: Likewise.

From-SVN: r124907

17 years agoUpdate my e-mail address for new employer.
James Lemke [Mon, 21 May 2007 19:02:09 +0000 (19:02 +0000)]
Update my e-mail address for new employer.

From-SVN: r124906

17 years agotmmintrin.h (_mm_alignr_epi8): Provide macro implementation if __OPTIMIZE__ is not...
Uros Bizjak [Mon, 21 May 2007 15:40:01 +0000 (17:40 +0200)]
tmmintrin.h (_mm_alignr_epi8): Provide macro implementation if __OPTIMIZE__ is not defined.

* config/i386/tmmintrin.h (_mm_alignr_epi8): Provide macro
implementation if __OPTIMIZE__ is not defined.
(_mm_alignr_pi8): Ditto.
* config/i386/ammintrin.h (_mm_extracti_si64): Ditto.
(_mm_inserti_si64): Ditto.
* config/i386/emmintrin.h (_mm_shuffle_pd): Ditto.
(_mm_slli_epi16): Ditto.
        (_mm_slli_epi32): Ditto.
        (_mm_slli_epi64): Ditto.
(_mm_srai_epi16): Ditto.
(_mm_srai_epi32): Ditto.
(_mm_srli_si128): Ditto.
(_mm_slli_si128): Ditto.
(_mm_srli_epi16): Ditto.
        (_mm_srli_epi32): Ditto.
        (_mm_srli_epi64): Ditto.
(_mm_extract_epi16): Ditto.
(_mm_insert_epi16): Ditto.
(_mm_shufflehi_epi16): Ditto.
(_mm_shufflelo_epi16): Ditto.
(_mm_shuffle_epi32): Ditto.
        * config/i386/xmmintrin.h (_mm_extract_pi16): Ditto.
        (_m_pextrw): Ditto.
        (_mm_insert_pi16): Ditto.
        (_m_pinsrw): Ditto.
        (_mm_shuffle_pi16): Ditto.
        (_m_pshufw): Ditto.
        (_mm_shufle_ps): Ditto.
        (_mm_prefetch): Ditto.

testsuite/ChangeLog:

* gcc.target/i386/sse-14.c: Remove all intrinsic redefines.
* gcc.target/i386/sse-12: Add -O to compile options.
* g++.dg/other/i386-2.C: Use "-march=k8 -m3dnow -mssse3
-msse4a" instead of "-msse3".  Include only ammintrin.h, tmmintrin.h
and mm3dnow.h.  Add -O to compile options.

From-SVN: r124904

17 years agore PR fortran/31867 ([4.2 only] function result with character LEN computed at run...
Paul Thomas [Mon, 21 May 2007 13:16:06 +0000 (13:16 +0000)]
re PR fortran/31867 ([4.2 only] function result with character LEN computed at run time)

2007-05-21  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31867
PR fortran/31994
* trans-array.c (gfc_conv_expr_descriptor): Obtain the stored
offset for non-descriptor, source arrays and correct for stride
not equal to one before writing to field of output descriptor.

2007-05-21  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31867
* gfortran.dg/char_length_5.f90: New test.

PR fortran/31994
* gfortran.dg/array_reference_1.f90: New test.

From-SVN: r124903

17 years agodefaults.h (IBM_FLOAT_FORMAT): Macro definition removed.
Andreas Krebbel [Mon, 21 May 2007 12:53:08 +0000 (12:53 +0000)]
defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.

2007-05-21  Andreas Krebbel  <krebbel1@de.ibm.com>

* defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.
* doc/tm.texi (IBM_FLOAT_FORMAT): Documentation entry removed.
* real.c (encode_i370_single, decode_i370_single,
encode_i370_double, decode_i370_double): Functions removed.
(i370_single_format, i370_double_format): Initializations removed.
(real_maxval, round_for_format, exact_real_truncate, significand_size):
Consider the log2_b field to always be one.
(ieee_single_format, mips_single_format, coldfire_single_format,
ieee_double_format, mips_double_format, coldfire_double_format,
ieee_extended_motorola_format, ieee_extended_intel_96_format,
ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
ibm_extended_format, mips_extended_format, ieee_quad_format,
mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
decimal_single_format, decimal_double_format, decimal_quad_format,
c4x_single_format, c4x_extended_format, real_internal_format): Remove
initialization of log2_b.
* real.h (i370_single_format, i370_double_format): Declarations removed.
* c-cppbuiltin.c (builtin_define_float_constants): Consider the log2_b
field to always be one.

From-SVN: r124901

17 years agoia64.c (emit_predicate_relation_info): Fix use of NOTE_INSN_BASIC_BLOCK_P.
Andreas Schwab [Mon, 21 May 2007 11:29:35 +0000 (11:29 +0000)]
ia64.c (emit_predicate_relation_info): Fix use of NOTE_INSN_BASIC_BLOCK_P.

* config/ia64/ia64.c (emit_predicate_relation_info): Fix use of
NOTE_INSN_BASIC_BLOCK_P.
(process_for_unwind_directive): Likewise.

From-SVN: r124899

17 years agobuiltins.c (expand_builtin_setjmp_setup): Update comment.
Nathan Sidwell [Mon, 21 May 2007 10:58:29 +0000 (10:58 +0000)]
builtins.c (expand_builtin_setjmp_setup): Update comment.

* builtins.c (expand_builtin_setjmp_setup): Update comment.
* function.h (struct function): Move va_list_gpr_size,
va_list_fpr_size, function_frequency to front of bitfields.  Add
calls_unwind_init.
(current_function_calls_unwind_init): New.
* except.c (expand_builtin_unwind_init): Set
current_function_calls_unwind_init not
current_function_has_nonlocal_label.
* reload1.c (has_nonexceptional_receiver): New.
(reload): Use it and current_function_calls_unwind_init to
determine whether call-saved regs must be saved.

From-SVN: r124898

17 years agore PR libstdc++/31621 (libstdc++ uses -xc++ which can cause exceptions to show up...
Paolo Carlini [Mon, 21 May 2007 10:25:52 +0000 (10:25 +0000)]
re PR libstdc++/31621 (libstdc++ uses -xc++ which can cause exceptions to show up which causes __gxx_personality_v0 to be referenced)

2007-05-21  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/31621
* acinclude.m4 ([GLIBCXX_CHECK_LINKER_FEATURES]): Use the C compiler.
* configure: Regenerate.

From-SVN: r124896

17 years agogengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of NOTE_LINE_NUMBER...
Jan Hubicka [Mon, 21 May 2007 06:19:50 +0000 (08:19 +0200)]
gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of NOTE_LINE_NUMBER...

* gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of
NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
* ddg.c (create_ddg): LIkewise.
* final.c (final): Remove hunk moving line numbernotes around since
they are no longer present at this stage.
(final_scan_insn): Use NOTE_KIND instead of
NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
(output_asm_label): Likewise.
* reorg.c (dbr_schedule): Likewise.
* haifa-sched.c (unlink_other_notes): Likewise.
* mode-switching.c (optimize_mode_switching): Likewise.
* graph.c (start_bb): Likewise.
* rtl.def (NOTE): Update description.
* jump.c (squeeze_notes): Delete.
(mark_jump_label): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use
NOTE_INSN_BASIC_BLOCK_P when possible.
* ifcvt.c (dead_or_predicable): Remove call of squeeze_notes.
* dwarf2out.c (gen_label_die): Use NOTE_KIND instead of
        NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
(dwarf2out_var_location): Likewise.
* cfgbuild.c (make_edges): Likewise.
(find_basic_blocks_1): Likewise.
* function.c (reorder_blocks_1): Likewise.
(epilogue_done): Likewise.
(reposition_prologue_and_epilogue_notes): Likewise.
* print-rtl.c (print_rtx): Likewise; drop code for printing line number
notes.
(print_rtl): Likewise.
(print_rtl_single): Likewise.
* gcse.c (insert_insn_start_bb): Likewise.
* alias.c (init_alias_analysis): Likewise.
* calls.c (fixup_tail_calls): Likewise.
* except.c (sjlj_emit_function_enter): Likewise.
* emit-rtl.c (add_insn_after): Likeiwse.
(emit_label_before): Likewise.
(emit_label_after): Likewise.
(emit_note_before, emit_note_after, emit_note): Update
parameter to be enum insn_note; do not deal with source
files.
* cfgcleanup.c (merge_blocks_move_predecessor_nojumps):
Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P
when possible.
(merge_blocks_move_successor_nojumps): Simplify now when
we don't have BLOCK notes.
(try_optimize_cfg): Likewise.
* cfglayout.c (skip_insns_after_block): Likewise.
(record_effective_endpoints): Likewise.
(duplicate_insn_chain): Likewise.
* varasm.c (output_constant_pool_1): Likewise.
* sched-deps.c (sched_analyze): Likewise.
* rtl.c (NOTE_INSN_MAX_isnt_negative_adjust_NOTE_INSN_BIAS):
Exterminate.
(note_insn_name): Simplify now when NOTE_INSN_BIAS is gone.
* rtl.h (NOTE_SOURCE_LOCATION, NOTE_EXPANDED_LOCATION): Exterminate.
(SET_INSN_DELETED): Simplify.
(NOTE_LINE_NUMBER): Exterminate.
(NOTE_LINE_KIND): New.
(NOTE_INSN_BASIC_BLOCK_P): Update.
(enum insn_note): Simplify.
(GET_NOTE_INSN_NAME) Simplify.
(emit_note_before, emit_note_after, emit_note): Update prototype.
(squeeze_notes): Remove.
* sched-int.h (NOTE_NOT_BB_P): Update.
* resource.c (mark_target_live_regs): Update.
* sched-rgn.c (debug_dependencies): Update.
* sched-vis.c (print_insn): Update.
* config/alpha/alpha.c (alpha_handle_trap_shadows): Update.
* config/i386/i386.c (ix86_output_function_epilogue): Update.
* config/sh/sh.c (sh_adjust_unroll_max): Function dead since gcc 4.0.0.
(TARGET_ADJUST_UNROLL_MAX): Likewise.
(split_branches): Update.
(sh_optimize_target_register_callee_saved): Remove hunk dead since gcc
4.0.0.
(sh_adjust_unroll_max): Exterminate.
* config/c4x/c4x.c (c4x_reorg): Use SET_INSN_DELETED.
* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Likewise.
(m68hc11_reorg): Likewise.
* config/ia64/ia64.c (emit_insn_group_barriers): Update.
(emit_predicate_relation_info): Update.
(process_for_unwind_directive): Update.
* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update.
(output_call): Update.
* config/pa/pa.c (output_lbranch): Update.
(output_millicode_call): Update.
(output_call): Update.
(pa_combine_instructions): Update.
* config/mips/mips.c (mips16_gp_pseudo_reg): Update.
* config/bfin/bfin.c (gen_one_bundle): Update.
* cfgrtl.c (can_delete_note_p): Update.
(delete_insn): Update.
(rtl_merge_blocks): Update.
(commit_one_edge_insertion): Update.
(rtl_verify_flow_info): Update.
* stmt.c (expand_case): Do not call squeeze_notes.

From-SVN: r124895

17 years agoDaily bump.
GCC Administrator [Mon, 21 May 2007 00:18:43 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r124890

17 years agoChangelog: Fix wrong year.
Manuel López-Ibáñez [Sun, 20 May 2007 20:56:52 +0000 (20:56 +0000)]
Changelog: Fix wrong year.

        * gcc/Changelog: Fix wrong year.
        * gcc/testsuite/Changelog: Likewise.

From-SVN: r124877

17 years agore PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
Manuel López-Ibáñez [Sun, 20 May 2007 20:29:55 +0000 (20:29 +0000)]
re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)

2007-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR middle-end/7651
PR c++/11856
PR c/12963
PR c/23587
PR other/29694
* c.opt (Wtype-limits): New.
* doc/invoke.texi (Wtype-limits): Document it.
(Wextra): Enabled by -Wextra.
* c-opts.c (c_common_post_options): Enabled by -Wextra.
* c-common.c (shorten_compare): Warn with Wtype-limits.

testsuite/
* gcc.dg/compare6.c: Replace Wall with Wtype-limits.
* gcc.dg/Wtype-limits.c: New.
* gcc.dg/Wtype-limits-Wextra.c: New.
* gcc.dg/Wtype-limits-no.c: New.
* g++.dg/warn/Wtype-limits.C: New.
* g++.dg/warn/Wtype-limits-Wextra.C: New.
* g++.dg/warn/Wtype-limits-no.C: New.

From-SVN: r124875

17 years agostl_algo.h: Shuffle the functions to better match the order in the standard.
Paolo Carlini [Sun, 20 May 2007 17:48:36 +0000 (17:48 +0000)]
stl_algo.h: Shuffle the functions to better match the order in the standard.

2007-05-20  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algo.h: Shuffle the functions to better match the
order in the standard.

From-SVN: r124874

17 years agotmmintrin.h (_mm_alignr_epi32): Implement as always inlined function, not as a macro.
Uros Bizjak [Sun, 20 May 2007 13:41:13 +0000 (15:41 +0200)]
tmmintrin.h (_mm_alignr_epi32): Implement as always inlined function, not as a macro.

        * config/i386/tmmintrin.h (_mm_alignr_epi32): Implement as always
        inlined function, not as a macro.
        (_mm_alignr_pi8): Ditto.
        * config/i386/ammintrin.h (_mm_extracti_si64): Ditto.
        (_mm_inserti_si64): Ditto.
        * config/i386/emmintrin.h (_mm_shuffle_pd): Ditto.
        (_mm_extract_epi16): Ditto.
        (_mm_insert_epi16): Ditto.
        (_mm_shufflehi_epi16): Ditto.
        (_mm_shufflelo_epi16): Ditto.
        (_mm_shuffle_epi32): Ditto.
        * config/i386/xmmintrin.h (_mm_set_ss): Use 0.0f for float constant.
        * config/386/mm3dnow.h: Add __attribute__((__always_inline__)) to
        all functions.
        (_m_from_float): Add __extension__ to conversion.  Use 0.0f for
        float constant.
        (_m_to_float): Use C89 compatible assignment.

testsuite/ChangeLog:

        * gcc.target/i386/sse-vect-types.c: Revert 'Use "-msse"
        instead of "-msse2".'
        * gcc.target/i386/sse-12.c: Use "-march=k8 -m3dnow -mssse3 -msse4a"
        instead of "-msse3".  Include only ammintrin.h, tmmintrin.h
        and mm3dnow.h.
        * gcc.target/i386/sse-13.c (__builtin_ia32_extrqi): Redefine
        to test with immediate operand.
        (__builtin_ia32_insertqi): Ditto.
        (__builtin_ia32_palignr128): Ditto.
        (__builtin_ia32_palignr): Ditto.
        (__builtin_ia32_pshufhw): Ditto.
        (__builtin_ia32_pshuflw): Ditto.
        (__builtin_ia32_pshufd): Ditto.
        (__builtin_ia32_vec_set_v8hi): Ditto.
        (__builtin_ia32_vec_ext_v8hi): Ditto.
        (__builtin_ia32_shufpd): Ditto.
        * gcc.target/i386/sse-14.c: Same changes as sse-13.c.

From-SVN: r124873

17 years agore PR target/32007 (bootstrap broken on ARM v3)
Martin Michlmayr [Sun, 20 May 2007 11:18:27 +0000 (11:18 +0000)]
re PR target/32007 (bootstrap broken on ARM v3)

2007-04-20  Martin Michlmayr  <tbm@cyrius.com>

PR target/32007
* config/arm/lib1funcs.asm: Define __ARM_ARCH__ on v2/v3 machines.

From-SVN: r124871

17 years agoconfigure.ac: Introduce extra_ldflags_libgc.
Andreas Tobler [Sun, 20 May 2007 10:34:05 +0000 (10:34 +0000)]
configure.ac: Introduce extra_ldflags_libgc.

2007-05-20  Andreas Tobler  <a.tobler@schweiz.org>

* configure.ac: Introduce extra_ldflags_libgc. Use it for Darwin.
* configure: Regenerate.
* Makefile.am (libgc_la_LDFLAGS): Use extra_ldflags_libgc.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* include/private/gcconfig.h: Enable MPROTECT_VDB for all Darwin
targets. Remove comments. Prepare ppc64 support for Darwin.

From-SVN: r124870

17 years agore PR fortran/32001 (MAX intrinsic with large number of arguments)
Daniel Franke [Sun, 20 May 2007 10:22:15 +0000 (06:22 -0400)]
re PR fortran/32001 (MAX intrinsic with large number of arguments)

gcc/fortran:
2007-05-20  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/32001
        * check.c (check_rest): Improved argument conformance check and
        fixed error message generation.

gcc/testsuite:
2007-05-20  Daniel Franke  <franke.daniel@gmail.org>

PR fortran/32001
* gfortran.dg/min_max_conformance.f90: Added more testcases.

From-SVN: r124869

17 years agore PR target/31585 (gcc.target/i386/sse-vect-types.c FAILs (also sse-13.c and sse...
Uros Bizjak [Sun, 20 May 2007 09:54:23 +0000 (11:54 +0200)]
re PR target/31585 (gcc.target/i386/sse-vect-types.c FAILs (also sse-13.c and sse-14.c))

        PR target/31585
        * gcc.target/i386/sse-vect-types.c: Do not redefine "static"
        and "__inline".  Use "-msse" instead of "-msse2".

From-SVN: r124868

17 years agore PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
Manuel López-Ibáñez [Sun, 20 May 2007 00:45:58 +0000 (00:45 +0000)]
re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)

2006-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR middle-end/7651
* doc/invoke.texi (Wreturn-type): Complete description.
(Wextra): Delete item about return-type warning.
* c-decl.c: Delete redundant Wextra warning.

testsuite/
* gcc.dg/20030906-1.c: Replace Wextra with Wreturn-type.
* gcc.dg/20030906-2.c: Likewise.
* objc.dg/method-17.m: Add -Wreturn-type.
* obj-c++.dg/method-21.mm: Likewise.

From-SVN: r124866

17 years agoDaily bump.
GCC Administrator [Sun, 20 May 2007 00:18:55 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r124864

17 years agore PR target/31585 (gcc.target/i386/sse-vect-types.c FAILs (also sse-13.c and sse...
Uros Bizjak [Sat, 19 May 2007 23:27:48 +0000 (01:27 +0200)]
re PR target/31585 (gcc.target/i386/sse-vect-types.c FAILs (also sse-13.c and sse-14.c))

        PR target/31585
        * config/i386/pmmintrin.h: Do not include xmmintrin.h
        * config/i386/xmmintrin.h (_mm_extract_pi16): Implement as always
        inlined function, not as a macro.
        (_mm_prefetch): Ditto.
        (_m_pextrw): Ditto.
        (_mm_insert_pi16): Ditto.
        (_m_pinsrw): Ditto.
        (_mm_shuffle_pi16): Ditto.  Add const to __N argument.
        (_m_pshufw): Ditto. Add const to __N argument.
        (_mm_shufle_ps): Ditto.  Add const to __mask argument.
        * config/i386/emmintrin.h (_mm_slli_epi16): Add const to __B argument.
        (_mm_slli_epi32): Ditto.
        (_mm_srli_si128): Implement as always inlined function, not as a macro.
        Add __inline to function declaration.
        (_mm_slli_si128): Ditto.

testsuite/ChangeLog:

        PR target/31585
        * gcc.target/i386/sse-13.c: Use -mssse3 and -msse4a compile options.
        (__builtin_ia32_psllwi128): Redefine to test with immediate operand.
        (__builtin_ia32_psrlqi128): Ditto.
        (__builtin_ia32_psrlwi128): Ditto.
        (__builtin_ia32_psrldi128): Ditto.
        (__builtin_ia32_psrldqi128): Ditto.
        (__builtin_ia32_pslldqi128): Ditto.
        (__builtin_ia32_psrawi128): Ditto.
        (__builtin_ia32_psradi128): Ditto.
        (__builtin_ia32_psllqi128): Ditto.
        (__builtin_ia32_pslldi128): Ditto.
        (__builtin_prefetch): Ditto.
        (__builtin_ia32_pshufw): Ditto.
        (__builtin_ia32_vec_set_v4hi): Ditto.
        (__builtin_ia32_vec_ext_v4hi): Ditto.
        (__builtin_ia32_shufps): Ditto.
        * gcc.target/i386/sse-14.c: Same changes as sse-13.c.

From-SVN: r124861

17 years agore PR libgcj/31659 (config-int.h:327:1: error: "INT8_MIN" redefined)
Andreas Tobler [Sat, 19 May 2007 20:44:43 +0000 (20:44 +0000)]
re PR libgcj/31659 (config-int.h:327:1: error: "INT8_MIN" redefined)

2007-05-19  Andreas Tobler  <a.tobler@schweiz.org>

PR libgcj/31659
* m4/ax_create_stdint_h.m4: Apply patch from PR31659.
* configure: Regenerate.

From-SVN: r124860

17 years agore PR fortran/30820 (-Wno-error not necessary in Make-lang.in any more?)
Francois-Xavier Coudert [Sat, 19 May 2007 20:33:45 +0000 (20:33 +0000)]
re PR fortran/30820 (-Wno-error not necessary in Make-lang.in any more?)

PR fortran/30820
* Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o,
simplify.o and trans-common.o.

From-SVN: r124859

17 years agore PR fortran/31974 ([4.2]: array allocation multiplication of mismatched types)
Francois-Xavier Coudert [Sat, 19 May 2007 19:51:21 +0000 (19:51 +0000)]
re PR fortran/31974 ([4.2]: array allocation multiplication of mismatched types)

PR fortran/31974

* trans-array.c (gfc_trans_auto_array_allocation): Avoid
multiplication of mismatched types.

* gfortran.dg/char_allocation_1.f90: New test.

From-SVN: r124858

17 years agosfp-machine.h (FP_EX_INVALID, [...]): New constants.
Uros Bizjak [Sat, 19 May 2007 19:19:08 +0000 (21:19 +0200)]
sfp-machine.h (FP_EX_INVALID, [...]): New constants.

        * config/i386/sfp-machine.h (FP_EX_INVALID, FP_EX_DENORM,
        FP_EXP_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT):
        New constants.
        (struct fenv): New structure.
        (FP_HANDLE_EXCEPTIONS): New define.
        (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF, FP_RND_MINF): New constants.
        (_FP_DECL_EXP): New define.
        (FP_INIT_ROUNDMODE): New define.
        (FP_ROUNDMODE): New define.

From-SVN: r124857

17 years agoinvoke.texi (Warning Options): Add -Wconversion-sign.
Manuel López-Ibáñez [Sat, 19 May 2007 13:32:03 +0000 (13:32 +0000)]
invoke.texi (Warning Options): Add -Wconversion-sign.

2007-05-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

* doc/invoke.texi (Warning Options): Add -Wconversion-sign.
(Wconversion): Update description.
(Wconversion-sign): New.
* c.opt (Wconversion-sign): New.
* c-opts.c (c_common_post_options): Uninitialized Wconversion-sign
means disabled for C++. Otherwise, take the status of Wconversion.
* c-common.c (conversion_warning): Warn with either Wconversion or
Wconversion-sign.
(warnings_for_convert_and_check): Conditions are already checked by
conversion_warning.
(convert_and_check): Don't check warnings if the conversion failed.

cp/
* cvt.c (cp_convert_and_check): Don't check warnings if the
conversion failed.

testsuite/
* gcc.dg/Wconversion-integer.c: Group testcases and add more.
* gcc.dg/Wconversion-sign.c: New.
* gcc.dg/Wconversion-integer-no-sign.c: New.
* g++.dg/warn/Wconversion-integer.C: Move some warnings to
Wconversion-sign.C
* g++.dg/warn/Wconversion-sign.C: New.
* g++.old-deja/g++.other/warn4.C: Update.
* g++.dg/warn/Wconversion1.C: Likewise.

From-SVN: r124856

17 years agoavr-protos.h (expand_prologue, [...]): Add declaration.
Andy Hutchinson [Sat, 19 May 2007 10:59:17 +0000 (10:59 +0000)]
avr-protos.h (expand_prologue, [...]): Add declaration.

* config/avr/avr-protos.h (expand_prologue, expand_epilogue,
avr_epilogue_uses) : Add declaration.
* config/avr/predicates.md (avr_sp_immediate_operand): New predicate.
* config/avr/constraints.md (R): New constraint.
config/avr/avr.md (SREG_ADDR,  UNSPEC_SEI, UNSPEC_CLI,
UNSPECV_PROLOGUE_SAVES, UNSPECV_EPILOGUE_RESTORES): New constants.
(*pop1, *pop2, *pop3, *pop4, *pop5): Combine into ...
(*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): ... these patterns.
(*movhi_sp, popqi, pophi, enable_interrupt, disable_interrupt,
call_prologue_saves, epilogue_restores, return_from_epilogue,
return_from_main_epilogue, return_from_interrupt_epilogue,
return_from_naked_epilogue, prologue, epilogue): New patterns.
(jump): Handle symbol reference.
* config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr,
avr_output_function_prologue, avr_output_function_epilogue): Remove
functions.
(avr_init_machine_status, expand_prologue, expand_epilogue,
avr_asm_function_end_prologue, avr_epilogue_uses,
avr_asm_function_begin_epilogue): New functions.
(prologue_size, epilogue_size, jump_tables_size): Remove global
variables.
(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
(TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
(TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): Define.
(avr_override_options): Initialise init_machine_status.
(output_movhi): Handle all stack pointer loads.
(out_movqi_r_mr, out_movqi_mr_r): Handle SREG_ADDR address.
(avr_output_addr_vec_elt): Do not use variable jump_tables_size.
* config/avr/avr.h (AVR_2_BYTE_PC, AVR_3_BYTE_PC): New.
(EPILOGUE_USES) Redefine.
(machine_function) Declare.

Co-Authored-By: Anatoly Sokolov <aesok@dol.ru>
From-SVN: r124854

17 years agomips.c (mips_offset_within_alignment_p): Tweak comment.
Richard Sandiford [Sat, 19 May 2007 07:21:41 +0000 (07:21 +0000)]
mips.c (mips_offset_within_alignment_p): Tweak comment.

gcc/
* config/mips/mips.c (mips_offset_within_alignment_p): Tweak comment.
Use a single return statement.

From-SVN: r124853

17 years agore PR middle-end/30250 (Evaluate lgamma/gamma at compile-time)
Kaveh R. Ghazi [Sat, 19 May 2007 04:18:05 +0000 (04:18 +0000)]
re PR middle-end/30250 (Evaluate lgamma/gamma at compile-time)

PR middle-end/30250
* builtins.c (do_mpfr_lgamma_r): New.
(fold_builtin_2): Handle builtin gamma_r/lgamma_r.
* tree.h (CASE_FLT_FN_REENT): New.

testsuite:
* gcc.dg/torture/builtin-math-2.c: Add gamma_r/lgamma_r tests.
* gcc.dg/torture/builtin-math-4.c: Likewise.

From-SVN: r124849

17 years agore PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument)
Jerry DeLisle [Sat, 19 May 2007 01:07:41 +0000 (01:07 +0000)]
re PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument)

2007-05-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/31964
* gfortran.fortran-torture/execute/intrinsic_bitops.f90: Update.

From-SVN: r124847

17 years agore PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument)
Jerry DeLisle [Sat, 19 May 2007 01:04:03 +0000 (01:04 +0000)]
re PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument)

2007-05-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/31964
* intrinsics/ishftc.c (ishftc4, ishftc8, ishftc16): Fix mask to handle
shift of bit-size number of bits.

From-SVN: r124846

17 years agoDaily bump.
GCC Administrator [Sat, 19 May 2007 00:18:02 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r124843

17 years agoforwprop-1.c: New testcase.
Andrew Pinski [Fri, 18 May 2007 23:37:06 +0000 (23:37 +0000)]
forwprop-1.c: New testcase.

2007-05-18  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * gcc.dg/tree-ssa/forwprop-1.c: New testcase.

From-SVN: r124840

17 years agoIndex: gcc/java/ChangeLog
Geoffrey Keating [Fri, 18 May 2007 23:05:50 +0000 (23:05 +0000)]
Index: gcc/java/ChangeLog
2007-05-18  Geoffrey Keating  <geoffk@apple.com>

* jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
(print_constant): Likewise.

Index: gcc/ChangeLog
2007-05-18  Geoffrey Keating  <geoffk@apple.com>

* dwarf2out.c (print_die): Use '%ld' not '%lu' to print a 'long'.
(output_die): Use 'unsigned long' with %x.
* sched-vis.c (print_value): Use 'unsigned HOST_WIDE_INT' and
HOST_WIDE_INT_PRINT_HEX to print HOST_WIDE_INT.
* tree-dump.c (dump_pointer): Use 'unsigned long' for %lx.

Index: gcc/cp/ChangeLog
2007-05-18  Geoffrey Keating  <geoffk@apple.com>

* mangle.c (write_real_cst): Use 'unsigned long' for %lx.

From-SVN: r124839

17 years ago* unwind-dw2.c (uw_identify_context): Use the CFA, not the IP.
Geoffrey Keating [Fri, 18 May 2007 22:50:18 +0000 (22:50 +0000)]
* unwind-dw2.c (uw_identify_context): Use the CFA, not the IP.

From-SVN: r124837

17 years agore PR target/31989 (Gcc miscompiles C/C++ on Linux/x86-64)
H.J. Lu [Fri, 18 May 2007 21:35:12 +0000 (21:35 +0000)]
re PR target/31989 (Gcc miscompiles C/C++ on Linux/x86-64)

2007-05-18  H.J. Lu  <hongjiu.lu@intel.com>

PR target/31989
PR target/31681
PR target/31666
* config/i386/i386.c (init_cumulative_args): Set maybe_vaarg to
true if function has no argument.

From-SVN: r124835

17 years agomips.c (mips_offset_within_alignment_p): New.
DJ Delorie [Fri, 18 May 2007 21:15:50 +0000 (17:15 -0400)]
mips.c (mips_offset_within_alignment_p): New.

* config/mips/mips.c (mips_offset_within_alignment_p): New.
(mips_symbolic_constant_p): Call it for TPREL and DTPREL symbols.

From-SVN: r124833

17 years agolonglong.h (__x86_64__): Add definitions for add_ssaaaa...
Uros Bizjak [Fri, 18 May 2007 20:14:31 +0000 (22:14 +0200)]
longlong.h (__x86_64__): Add definitions for add_ssaaaa...

        * longlong.h (__x86_64__): Add definitions for add_ssaaaa,
        sub_ddmmss, umul_ppmm, udiv_qrnnd, count_leading_zeros and
        count_trailing_zeros.
        (__i386__): Implement count_leading_zeros using __builtin_clz().
        Implement count_trailing_zeros usign __builtin_ctz().

From-SVN: r124832

17 years agore PR target/31628 (stdcall function is miscompiled)
H.J. Lu [Fri, 18 May 2007 19:29:45 +0000 (19:29 +0000)]
re PR target/31628 (stdcall function is miscompiled)

2007-05-18  H.J. Lu  <hongjiu.lu@intel.com>

PR target/31628
* gcc.target/i386/pr31628.c: New.

From-SVN: r124831

17 years agore PR fortran/24633 (MODULE attribute conflicts with PROCEDURE attribute)
Daniel Franke [Fri, 18 May 2007 13:25:07 +0000 (09:25 -0400)]
re PR fortran/24633 (MODULE attribute conflicts with PROCEDURE attribute)

2007-05-18  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/24633
        * symbol.c (gfc_add_flavor): Add the NAME to error message if
        available.

From-SVN: r124828

17 years agovxworks.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine.
Richard Sandiford [Fri, 18 May 2007 09:31:33 +0000 (09:31 +0000)]
vxworks.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine.

gcc/
* config/i386/vxworks.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine.

From-SVN: r124827

17 years ago* PR rtl-optimization/31344 is actually middle-end bug.
Uros Bizjak [Fri, 18 May 2007 08:46:30 +0000 (10:46 +0200)]
* PR rtl-optimization/31344 is actually middle-end bug.

From-SVN: r124826

17 years agore PR middle-end/31344 (bootstrap broken on i[345]86-linux)
Uros Bizjak [Fri, 18 May 2007 08:37:03 +0000 (10:37 +0200)]
re PR middle-end/31344 (bootstrap broken on i[345]86-linux)

PR rtl-optimization/31344
* expr.c (emit_move_change_mode): Change mode of push operands here.

testsuite/ChangeLog:

PR rtl-optimization/31344
* gcc.dg/pr31344.c: New test.

From-SVN: r124825

17 years agore PR tree-optimization/31953 (ICE in set_value_range, at tree-vrp.c:305)
Ian Lance Taylor [Fri, 18 May 2007 05:37:27 +0000 (05:37 +0000)]
re PR tree-optimization/31953 (ICE in set_value_range, at tree-vrp.c:305)

./: PR tree-optimization/31953
* tree-vrp.c (set_value_range_to_value): Add equiv parameter.
Change all callers.
(set_value_range_to_null): Call set_value_range_to_value.
(extract_range_from_comparison): Likewise.
testsuite/:
PR tree-optimization/31953
* gcc.c-torture/compile/pr31953.c: New test.

From-SVN: r124823

17 years agotoplev.c (print_version): Output GMP/MPFR version info.
Kaveh R. Ghazi [Fri, 18 May 2007 02:04:02 +0000 (02:04 +0000)]
toplev.c (print_version): Output GMP/MPFR version info.

* toplev.c (print_version): Output GMP/MPFR version info.

From-SVN: r124822

17 years agobuiltins.c (CASE_MATHFN_REENT): New macro.
Kaveh R. Ghazi [Fri, 18 May 2007 01:42:15 +0000 (01:42 +0000)]
builtins.c (CASE_MATHFN_REENT): New macro.

* builtins.c (CASE_MATHFN_REENT): New macro.
(mathfn_built_in): Use it.
* builtins.def (BUILT_IN_GAMMA_R, BUILT_IN_GAMMAF_R,
BUILT_IN_GAMMAL_R, BUILT_IN_LGAMMA_R, BUILT_IN_LGAMMAF_R,
BUILT_IN_LGAMMAL_R): New.
* doc/extend.texi: Document new builtins.

testsuite:
* gcc.dg/builtins-1.c: Test reentrant gamma functions.

From-SVN: r124821