1. 30 Oct, 2006 20 commits
  2. 29 Oct, 2006 20 commits
    • builtins.c (fold_builtin_hypot): Rearrange recursive transformation before… · 012c5368
      builtins.c (fold_builtin_hypot): Rearrange recursive transformation before others, and also do ABS_EXPR.
      
      	* builtins.c (fold_builtin_hypot): Rearrange recursive
      	transformation before others, and also do ABS_EXPR.  When
      	necessary, check flag_unsafe_math_optimizations.  When necessary,
      	add fabs.
      
      testsuite:
      	* gcc.dg/builtins-20.c: Add more hypot tests.
      
      From-SVN: r118160
      Kaveh R. Ghazi committed
    • debug.cc (_Safe_sequence_base::_M_revalidate_singular): Fix pasto, advance… · cd07aa11
      debug.cc (_Safe_sequence_base::_M_revalidate_singular): Fix pasto, advance __iter only once per iteration.
      
      2006-10-29  Paolo Carlini  <pcarlini@suse.de>
      
      	* src/debug.cc (_Safe_sequence_base::_M_revalidate_singular): Fix
      	pasto, advance __iter only once per iteration.
      
      From-SVN: r118159
      Paolo Carlini committed
    • fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X. · c159ffe7
      
      	* fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
      	Fold ~X op C as X op' ~C, where op' is the swapped comparison.
      	(fold_binary): ~X eq/ne C is now handled in fold_comparison.
      	Fold -X eq/ne -Y as X eq/ne Y.
      
      	* gcc.dg/fold-compare-1.c: New test case.
      
      From-SVN: r118158
      Roger Sayle committed
    • re PR c++/29089 (Words substituted for %s in a sentence can not be translated) · 153ae66a
             PR c++/29089
             * typeck.c (build_unary_op): Duplicate warning message
             for easier translation.
      
      From-SVN: r118156
      Dirk Mueller committed
    • fix testcase · 180550a8
      From-SVN: r118155
      Dirk Mueller committed
    • re PR c++/16307 (-Wchar-subscripts does not warn on pointers) · 0958b0d3
      2006-10-29  Dirk Mueller  <dmueller@suse.de>
      
              PR c++/16307
              * typeck.c (build_array_ref): Warn for char subscriptions
              on pointers.
      
              * g++.dg/warn/Wchar-subscripts-2.C: New testcase.
      
      From-SVN: r118154
      Dirk Mueller committed
    • mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than GENERATE_MULT3_<MODE>. · 3f07249e
      gcc/
      	* config/mips/mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than
      	GENERATE_MULT3_<MODE>.  Restrict the test to SImode.  Use ISA_HAS_MUL3
      	rather than GENERATE_MULT3_SI in the various define_peephole2s.
      	(mulsi3_mult3): Depend on ISA_HAS_MUL3 rather than GENERATE_MULT3_SI.
      	Use an inclusive test for "mult" rather than "mul".
      	(rotr<mode>3): Depend on ISA_HAS_ROR.
      	* config/mips/mips.h (GENERATE_MULT3_SI): Delete in favor of
      	ISA_HAS_MUL3.
      	(GENERATE_MULT3_DI): Delete.
      	(ISA_HAS_64BIT_REGS): Use consistent formatting.
      	(ISA_HAS_MUL3): New macro.
      	(ISA_HAS_CONDMOVE, ISA_HAS_8CC): Use consistent formatting.
      	(ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB): Likewise.
      	(ISA_HAS_CLZ_CLO): Likewise.
      	(ISA_HAS_DCLZ_DCLO): Delete.
      	(ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC): Require !TARGET_MIPS16.
      	(ISA_HAS_MACC): Require !TARGET_MIPS16 for all ISAs, not just
      	the VR4120 and VR4130.
      	(ISA_HAS_MACCHI): Use consistent formatting.
      	(ISA_HAS_ROTR_SI, ISA_HAS_ROTR_DI): Delete in favor of...
      	(ISA_HAS_ROR): ...this new macro.
      	(ISA_HAS_PREFETCH, ISA_HAS_PREFETCHX): Use consistent formatting.
      	(ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS): Likewise.
      	(ISA_HAS_LOAD_DELAY): Use ISA_MIPS1.
      
      From-SVN: r118153
      Richard Sandiford committed
    • re PR tree-optimization/15458 (Combine ~ and ^.) · f8ed9a1c
      
      	PR tree-optimization/15458
      	* fold-const.c (fold_binary): Optimize ~X ^ C as X ^ ~C, where C
      	is a constant.
      
      	* gcc.dg/fold-xornot-1.c: New test case.
      
      From-SVN: r118152
      Roger Sayle committed
    • trans-intrinsic.c (gfc_conv_intrinsic_loc): Make LOC return a signed integer node. · 0f8bc3e1
      	* trans-intrinsic.c (gfc_conv_intrinsic_loc): Make LOC return a
      	signed integer node.
      
      From-SVN: r118151
      Francois-Xavier Coudert committed
    • re PR fortran/17741 (ICE in gfc_free_namespace, at fortran/symbol.c:2208) · 2c693a24
      2006-10-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/17741
      	* decl.c (get_proc_name): Bump current namespace refs count.
      
      From-SVN: r118149
      Jerry DeLisle committed
    • i386-protos.h (ix86_expand_trunc): Declare. · 044928d6
      2006-10-29  Richard Guenther  <rguenther@suse.de>
      
      	* config/i386/i386-protos.h (ix86_expand_trunc): Declare.
      	(ix86_expand_truncdf_32): Likewise.
      	* config/i386/i386.c (ix86_expand_trunc): New function expanding
      	trunc inline for SSE math and -fno-trapping-math and if not
      	optimizing for size.
      	(ix86_expand_truncdf_32): Same for DFmode on 32bit archs.
      	* config/i386/i386.md (btruncsf2, btruncdf2): Adjust expanders
      	for expanding btrunc inline for SSE math.
      
      	* gcc.target/i386/math-torture/trunc.c: New testcase.
      
      From-SVN: r118148
      Richard Guenther committed
    • config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all. · 0f45f0f5
      gcc:
      	* config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
      	Handle tuning for bi-arch i[34567]86-*-linux* like that for
      	i[34567]86-*-solaris2.1[0-9]*.
      	* config/i386/linux64.h (TARGET_VERSION, MULTILIB_DEFAULTS):
      	Define conditionally depending on TARGET_64BIT_DEFAULT.
      	(SPEC_32, SPEC_64): Define.
      	(LINK_SPEC): Use them.
      	* doc/install.texi (--enable-targets=all): Document for x86-linux.
      
      libcpp:
      	* configure.ac (need_64bit_hwint): Set for i[34567]86-*-linux*
      	depending on --enable-targets=all.
      	* configure: Regenerate.
      
      fixincludes:
      	* inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on x86_64.
      	* fixincl.x: Regenerate.
      
      From-SVN: r118147
      Joseph Myers committed
    • i386-protos.h (ix86_expand_round): Declare. · 097f2964
      2006-10-29  Richard Guenther  <rguenther@suse.de>
      
      	* config/i386/i386-protos.h (ix86_expand_round): Declare.
      	(ix86_expand_rounddf_32): Likewise.
      	* config/i386/i386.c (ix86_expand_round): New function expanding
      	round inline for SSE math and -fno-trapping-math and if not
      	optimizing for size.
      	(ix86_expand_rounddf_32): Same for DFmode on 32bit archs.
      	* config/i386/i386.md (rounddf2, roundsf2): New pattern expanding
      	round via ix86_expand_round.
      
      	* gcc.target/i386/math-torture/round.c: New testcase.
      
      From-SVN: r118146
      Richard Guenther committed
    • i386-protos.h (ix86_expand_floorceil): Declare. · d096ecdd
      2006-10-29  Richard Guenther  <rguenther@suse.de>
      
      	* config/i386/i386-protos.h (ix86_expand_floorceil): Declare.
      	(ix86_expand_floorceildf_32): Likewise.
      	* config/i386/i386.c (ix86_expand_sse_compare_mask): New
      	static helper function.
      	(ix86_expand_floorceil): Expander for floor and ceil to SSE
      	math.
      	(ix86_expand_floorceildf_32): Same for DFmode on 32bit archs.
      	* config/i386/i386.md (floordf2): Adjust to enable floor
      	expansion via ix86_expand_floorceil if TARGET_SSE_MATH and
      	-fno-trapping-math is enabled and if not optimizing for size.
      	(floorsf2, ceildf2, ceilsf2): Likewise.
      	* config/i386/sse.md (sse_maskcmpsf3): New insn.
      	(sse2_maskcmpdf3): Likewise.
      
      	* gcc.target/i386/math-torture/ceil.c: New testcase.
      	* gcc.target/i386/math-torture/floor.c: Likewise.
      
      From-SVN: r118145
      Richard Guenther committed
    • builtins.c (expand_builtin_mathfn): Expand nearbyint as rint in case -fno-trapping-math is enabled. · c7d32ff6
      2006-10-29  Richard Guenther  <rguenther@suse.de>
      
      	* builtins.c (expand_builtin_mathfn): Expand nearbyint as
      	rint in case -fno-trapping-math is enabled.
      	* config/i386/i386-protos.h (ix86_expand_rint): Declare.
      	* config/i386/i386.c (ix86_gen_TWO52): New static helper function.
      	(ix86_expand_sse_fabs): Likewise.
      	(ix86_expand_rint): New function expanding rint to x87 or SSE math.
      	* config/i386/i386.md (rintdf2): Enable for SSE math if
              -fno-trapping-math is enabled, use ix86_expand_rint for expansion.
      	(rintsf2): Likewise.
      
      	* gcc.target/i386/math-torture/rint.c: New testcase.
      	* gcc.target/i386/math-torture/nearbyint.c: Likewise.
      
      From-SVN: r118144
      Richard Guenther committed
    • genopinit.c (optabs): Change lfloor_optab and lceil_optab to conversion optabs. · c3a4177f
      2006-10-29  Richard Guenther  <rguenther@suse.de>
      
      	* genopinit.c (optabs): Change lfloor_optab and lceil_optab
      	to conversion optabs.
      	* optabs.c (init_optabs): Initialize lfloor_optab and lceil_optab
      	as conversion optab.
      	* optabs.h (enum optab_index): Remove OTI_lfloor and OTI_lceil.
      	(enum convert_optab_index): Add COI_lfloor and COI_lceil.
      	(lfloor_optab, lceil_optab): Adjust defines.
      	* builtins.c (expand_builtin_int_roundingfn): Adjust for
      	lfloor and lceil optabs now being conversion optabs.
      	* config/i386/i386-protos.h (ix86_expand_lfloorceil): Declare.
      	* config/i386/i386.c (ix86_expand_sse_compare_and_jump):
      	New static helper function.
      	(ix86_expand_lfloorceil): New function to expand lfloor and
      	lceil inline.
      	* config/i386/i386.md (lfloor<mode>2): Split into ...
      	(lfloorxf<mode>2): ... x87 variant
      	(lfloor<mode>di2, lfloor<mode>si2): ... and SSE variants
      	using ix86_expand_lfloorceil.
      	(lceil<mode>2, lceilxf<mode>2, lceil<mode>di2, lceil<mode>si2):
      	Likewise.
      	* doc/md.texi (lfloorMN, lceilMN): Document.
      
      	* gcc.target/i386/math-torture/lfloor.c: New testcase.
      	* gcc.target/i386/math-torture/lceil.c: Likewise.
      
      From-SVN: r118143
      Richard Guenther committed
    • re PR libfortran/24313 (complex sqrt function does not return principal value) · 98c58757
      2006-10-28  Tobias Burnus  <burnus@net-b.de>
      
             PR libgfortran/24313
             * gfortran.dg/csqrt_2.f: Remove xfail *-*-linux-gnu.
      
      From-SVN: r118142
      Tobias Burnus committed
    • configure: Regenerate. · 9f9ef303
      	* configure: Regenerate.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      
      From-SVN: r118140
      Francois-Xavier Coudert committed
    • configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE. · 4551169f
      gcc/
      	* configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE.  Test for the
      	-mno-shared assembler option on mips targets.
      	* configure, config.in: Regenerate.
      	* config/mips/linux.h (NO_SHARED_SPECS): New macro.
      	(DRIVER_SELF_SPECS): Define to NO_SHARED_SPECS if non-empty.
      	* config/mips/linux64.h (DRIVER_SELF_SPECS): Include NO_SHARED_SPECS.
      
      From-SVN: r118138
      Richard Sandiford committed
    • mips.c (mips_classify_symbol): Test DECL_WEAK as well as TREE_PUBLIC when… · 5f687d19
      mips.c (mips_classify_symbol): Test DECL_WEAK as well as TREE_PUBLIC when deciding whether to return...
      
      gcc/
      	* config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well
      	as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL.
      
      From-SVN: r118137
      Richard Sandiford committed