Commit Graph

77098 Commits

Author SHA1 Message Date
Roger Sayle
7c73bdc185 builtins.c (fold_builtin_floor): Check for the availability of the C99 trunc function before transforming floor...
* builtins.c (fold_builtin_floor): Check for the availability of
	the C99 trunc function before transforming floor into trunc.

From-SVN: r118168
2006-10-30 01:14:37 +00:00
GCC Administrator
bd91e5ba22 Daily bump.
From-SVN: r118165
2006-10-30 00:17:44 +00:00
Kaveh R. Ghazi
012c53688f 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
2006-10-29 23:08:23 +00:00
Paolo Carlini
cd07aa11f9 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
2006-10-29 21:50:23 +00:00
Roger Sayle
c159ffe706 fold-const.c (fold_comparison): Fold ~X op ~Y as Y op X.
* 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
2006-10-29 21:41:48 +00:00
Dirk Mueller
153ae66aee re PR c++/29089 (Words substituted for %s in a sentence can not be translated)
PR c++/29089
       * typeck.c (build_unary_op): Duplicate warning message
       for easier translation.

From-SVN: r118156
2006-10-29 19:52:52 +00:00
Dirk Mueller
180550a8b8 fix testcase
From-SVN: r118155
2006-10-29 18:46:49 +00:00
Dirk Mueller
0958b0d31d re PR c++/16307 (-Wchar-subscripts does not warn on pointers)
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
2006-10-29 18:38:26 +00:00
Richard Sandiford
3f07249e98 mips.md (mul<mode>3): Check ISA_HAS_MUL3 rather than GENERATE_MULT3_<MODE>.
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
2006-10-29 18:20:45 +00:00
Roger Sayle
f8ed9a1c65 re PR tree-optimization/15458 (Combine ~ and ^.)
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
2006-10-29 17:51:07 +00:00
Francois-Xavier Coudert
0f8bc3e173 trans-intrinsic.c (gfc_conv_intrinsic_loc): Make LOC return a signed integer node.
* trans-intrinsic.c (gfc_conv_intrinsic_loc): Make LOC return a
	signed integer node.

From-SVN: r118151
2006-10-29 17:05:37 +00:00
Jerry DeLisle
2c693a24a0 re PR fortran/17741 (ICE in gfc_free_namespace, at fortran/symbol.c:2208)
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
2006-10-29 16:43:48 +00:00
Richard Guenther
044928d612 i386-protos.h (ix86_expand_trunc): Declare.
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
2006-10-29 16:43:21 +00:00
Joseph Myers
0f45f0f588 config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all.
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
2006-10-29 16:35:50 +00:00
Richard Guenther
097f296422 i386-protos.h (ix86_expand_round): Declare.
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
2006-10-29 16:33:36 +00:00
Richard Guenther
d096ecdd96 i386-protos.h (ix86_expand_floorceil): Declare.
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
2006-10-29 16:28:40 +00:00
Richard Guenther
c7d32ff619 builtins.c (expand_builtin_mathfn): Expand nearbyint as rint in case -fno-trapping-math is enabled.
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
2006-10-29 15:25:52 +00:00
Richard Guenther
c3a4177fe1 genopinit.c (optabs): Change lfloor_optab and lceil_optab to conversion optabs.
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
2006-10-29 15:18:24 +00:00
Tobias Burnus
98c58757e6 re PR libfortran/24313 (complex sqrt function does not return principal value)
2006-10-28  Tobias Burnus  <burnus@net-b.de>

       PR libgfortran/24313
       * gfortran.dg/csqrt_2.f: Remove xfail *-*-linux-gnu.

From-SVN: r118142
2006-10-29 12:56:56 +01:00
Francois-Xavier Coudert
9f9ef3032b configure: Regenerate.
* configure: Regenerate.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.

From-SVN: r118140
2006-10-29 11:34:53 +00:00
Richard Sandiford
4551169f83 configure.ac (HAVE_AS_NO_SHARED): New AC_DEFINE.
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
2006-10-29 11:13:14 +00:00
Richard Sandiford
5f687d19e0 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
2006-10-29 11:00:08 +00:00
Paolo Carlini
a8db47cb58 re PR libstdc++/29520 (tr1: discrete_distributions vs large floating point values)
2006-10-29  Paolo Carlini  <pcarlini@suse.de>
	
	PR libstdc++/29520
	* include/tr1/random (geometric_distribution<>::
	operator()(_UniformRandomNumberGenerator&)): Only declare.
	* include/tr1/random.tcc (geometric_distribution<>::
	operator()(_UniformRandomNumberGenerator&),
	poisson_distribution<>::operator()(_UniformRandomNumberGenerator&),
	binomial_distribution<>::operator()(_UniformRandomNumberGenerator&)):
	Reject candidate floating point values not convertible to the
	result_type.

From-SVN: r118135
2006-10-29 10:49:07 +00:00
Jakub Jelinek
a7a53ca582 re PR fortran/29629 (ICE on OpenMP-enabled program (gfc_conv_variable, at fortran/trans-expr.c:404))
PR fortran/29629
	* trans-openmp.c (gfc_trans_omp_array_reduction): Set attr.flavor
	of init_val_sym and outer_sym to FL_VARIABLE.

	* testsuite/libgomp.fortran/pr29629.f90: New test.

From-SVN: r118134
2006-10-29 11:27:39 +01:00
Kazu Hirata
3a0572072d darwin.c, [...]: Fix comment typos.
* config/darwin.c, config/darwin.opt, config/ia64/itanium1.md,
	config/ia64/itanium2.md, real.c, tree-ssa-structalias.c: Fix
	comment typos.

From-SVN: r118133
2006-10-29 04:46:24 +00:00
Kazu Hirata
ec4178c957 20020118-1.c, [...]: Fix comment typos.
* gcc.c-torture/execute/20020118-1.c,
	gcc.c-torture/execute/builtins/strlen.c,
	gcc.c-torture/execute/pr23135.c, lib/fortran-torture.exp: Fix
	comment typos.

From-SVN: r118132
2006-10-29 04:43:45 +00:00
Kazu Hirata
37efe9e9c7 * intrinsic.texi: Fix a typo.
From-SVN: r118131
2006-10-29 04:41:10 +00:00
Kazu Hirata
bd6f7848ee * decl.c: Fix a comment typo.
From-SVN: r118130
2006-10-29 04:38:03 +00:00
Kaveh R. Ghazi
4413d881d0 re PR middle-end/29335 (transcendental functions with constant arguments should be resolved at compile-time)
PR middle-end/29335
	* builtins.c (do_mpfr_arg2, fold_builtin_hypot): New.
	(fold_builtin_pow): Evaluate constant arguments at compile-time
	using MPFR.
	(fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT.
	(do_mpfr_ckconv): New helper function.
	(do_mpfr_arg1): Use do_mpfr_ckconv.
	(do_mpfr_arg2): New.

testsuite:
	* gcc.dg/builtins-20.c: Add tests for hypot.
	* gcc.dg/torture/builtin-math-2.c (TESTIT2): New.  Add tests for
	two-argument builtins.
	* gcc.dg/torture/builtin-math-3.c (TESTIT_R): Renamed from
	TESTIT2.  Update all callers.
	(TESTIT2, TESTIT2_R): New helper macros.
	Add testcases for pow, hypot and atan2.

From-SVN: r118129
2006-10-29 02:02:10 +00:00
Andrew Pinski
5c9ab0a6ee re PR other/29271 (Incorrect -fdump-rtl-sched documentation)
2006-10-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/29271
        * doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number.
        (-fdump-rtl-sched): Rename to ..
        (-fdump-rtl-sched1): here.  Also fix file extension number.

From-SVN: r118128
2006-10-28 17:27:49 -07:00
GCC Administrator
c0c1e7189f Daily bump.
From-SVN: r118126
2006-10-29 00:17:41 +00:00
Steven G. Kargl
b814a64ea1 gfortran.h: Remove GFC_MPFR_TOO_OLD.
2006-10-27  Steven G. Kargl  <kargl@gcc.gnu.org>
	* gfortran.h: Remove GFC_MPFR_TOO_OLD.
	* arith.c (arctangent2): Remove function
	(gfc_check_real_range): Remove subnormal kludge.
	* arith.h: Remove arctangent2 prototype.
	* simplify.c: (gfc_simplify_atan2): Remove use of arctangent2.
	(gfc_simplify_exponent, gfc_simplify_log, gfc_simplify_nearest,
	gfc_simplify_rrspacing, gfc_simplify_spacing): Remove mpfr kludges.

From-SVN: r118120
2006-10-28 23:31:22 +00:00
Andrew Pinski
857d325a64 re PR c++/29295 (++ operator with bool typedef increments or operator -- with bool typedef)
2006-10-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C++/29295
        * typeck.c (build_unary_op): Use same_type_p when comparing to
        boolean type.

2006-10-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C++/29295
        * g++.dg/expr/bool1.C: New test.
        * g++.dg/expr/bool2.C: New test.

From-SVN: r118118
2006-10-28 16:01:59 -07:00
Dirk Mueller
85f37826c6 re PR c++/29033 (%s substituted with "left"/"right" can't be properly translated)
2006-10-29  Dirk Mueller  <dmueller@suse.de>

       PR c++/29033
      * typeck.c (build_binary_op): Duplicate warning message
       for better translation.

From-SVN: r118117
2006-10-28 22:34:06 +00:00
Paolo Carlini
e7457c3eac array (array<>::_M_at): New.
2006-10-28  Paolo Carlini  <pcarlini@suse.de>
	
	* include/tr1/array (array<>::_M_at): New.
	(array<>::at): Fix off-by-one bug, use the above.
	* testsuite/tr1/6_containers/array/element_access/
	at_out_of_range.cc: Adjust.

	* include/tr1/array (class array<>): Remove non-conforming default
	for the second parameter.
	* include/ext/array_allocator.h: Adjust.

	* include/tr1/array (array<>::front, array<>::back): Do not return
	a reference to memory not belonging to the array when _Nm == 0.

From-SVN: r118114
2006-10-28 22:02:44 +00:00
Tobias Burnus
f1827a8c69 re PR fortran/28224 (gfortran should support namelist (nml) for internal file units)
fortran/
2006-10-28  Tobias Burnus  <burnus@net-b.de>

	PR fortran/28224
	* io.c (check_io_constraints): Allow namelists
	  for internal files for Fortran 2003.

testsuite/
2006-10-28  Tobias Burnus  <burnus@net-b.de>

	PR fortran/28224
	* gfortran.dg/io_constraints_2.f90: Use -std=f95.
	* gfortran.dg/namelist_internal.f90: New test.

From-SVN: r118113
2006-10-28 23:59:20 +02:00
Tobias Burnus
0a3a2b91a5 re PR fortran/29625 (Octal edit descriptors allow real variables, even with -std=f95)
2006-10-28  Tobias Burnus  <burnus@net-b.de>

	PR fortran/29625
	* gfortran.dg/io_real_boz.f90: Add.
	* gfortran.dg/io_real_boz2.f90: Add.

From-SVN: r118112
2006-10-28 23:07:19 +02:00
Tobias Burnus
751748ff5a re PR fortran/29625 (Octal edit descriptors allow real variables, even with -std=f95)
2006-10-28 Tobias Burnus <burnus@net-b.de>

	PR fortran/29625
	* io/transfer.c (formatted_transfer_scalar): Allow binary edit
	  descriptors for real variables; give error for BOZ edit
	  descriptor for non-integers when using -std=f*.

From-SVN: r118111
2006-10-28 23:05:42 +02:00
Richard Guenther
4e9100638e fold-const.c (maybe_canonicalize_comparison): Fix code to match comment.
2006-10-28  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (maybe_canonicalize_comparison): Fix code
	to match comment.

From-SVN: r118110
2006-10-28 20:36:54 +00:00
Uros Bizjak
fb84c7a05b i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
* config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
        (NON_QI_REG_P): Use IN_RANGE.
        (REX_INT_REGNO_P): Use IN_RANGE.
        (FP_REGNO_P): Use IN_RANGE.
        (SSE_REGNO_P): Use IN_RANGE.
        (REX_SSE_REGNO_P): Use IN_RANGE.
        (MMX_REGNO_P): Use IN_RANGE.
        (STACK_REGNO_P): New macro.
        (STACK_REG_P): Use STACK_REGNO_P.
        (NON_STACK_REG_P): Use STACK_REGNO_P.
        (REGNO_OK_FOR_INDEX_P): Use REX_INT_REGNO_P.
        (REGNO_OK_FOR_BASE_P): Use GENERAL_REGNO_P.
        (REG_OK_FOR_INDEX_NONSTRICT_P): Use REX_INT_REGNO_P.
        (REG_OK_FOR_BASE_NONSTRICT_P): Use GENERAL_REGNO_P.
        (HARD_REGNO_RENAME_OK): Use !IN_RANGE.

From-SVN: r118109
2006-10-28 22:25:27 +02:00
Keith Seitz
67ce74926a Makefile.am (nat_source_files): Add natBreakpoint.cc.
* Makefile.am (nat_source_files): Add natBreakpoint.cc.
        * sources.am: Regenerated.
        * Makefile.in: Regenerated.
        * gnu/gcj/jvmti/Breakpoint.java: New file.
        * gnu/gcj/jvmti/natBreakpoint.java: New file.

From-SVN: r118108
2006-10-28 18:36:16 +00:00
Eric Botcazou
22ba88ef4b except.h (output_function_exception_table): Add 'const char*' param.
* except.h (output_function_exception_table): Add 'const char*' param.
	* except.c (switch_to_exception_section): Add 'const char*' param.
	If named sections are supported and HAVE_LD_EH_GC_SECTIONS is defined
	and flag_function_sections is set, use a function-specific section.
	(output_function_exception_table): Add 'const char*' param.
	Adjust call to switch_to_exception_section.
	* final.c (rest_of_handle_final): Adjust calls to
	output_function_exception_table.
	* configure.ac (HAVE_LD_EH_GC_SECTIONS): New check.
	* config.in: Regenerate.
	* configure: Likewise.

From-SVN: r118107
2006-10-28 18:11:28 +00:00
Richard Guenther
e73dbcaefc re PR middle-end/26899 (Fold does not fold (i0 > i1 + 1) || (i1 < i0 - 1))
2006-10-28  Richard Guenther  <rguenther@suse.de>

	PR middle-end/26899
	* fold-const.c (maybe_canonicalize_comparison_1): Helper
	for maybe_canonicalize_comparison.
	(maybe_canonicalize_comparison): New function for canonicalizing
	comparison trees.
	(fold_comparison): Call it to canonicalize comparisons with
	constants involved.

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

From-SVN: r118106
2006-10-28 18:03:21 +00:00
Richard Guenther
4d81bf8435 re PR target/28806 (lround is not expanded inline to SSE conversion sequence)
2006-10-28  Richard Guenther  <rguenther@suse.de>

	PR target/28806
	* builtins.c (expand_builtin_int_roundingfn_2): Expand
	BUILT_IN_LROUND and BUILT_IN_LLROUND from here.
	(expand_builtin): Adjust likewise.
	* genopinit.c (optabs[]): Add lround optab.
	* optabs.c (init_optabs): Initialize lround_optab.
	* optabs.h (enum convert_optab_index): Add COI_lround.
	(lround_optab): Define.
	* config/i386/i386-protos.h (ix86_expand_lround): Declare.
	* config/i386/i386.c (ix86_sse_copysign_to_positive): New
	static function.
	(ix86_expand_lround): New function.
	* config/i386/i386.md (lround<mode>di2, lround<mode>si2):
	New expanders.
	* doc/md.texi (lroundMN2): Document.

	* gcc.target/i386/math-torture/lround.c: New testcase.

From-SVN: r118105
2006-10-28 11:30:41 +00:00
Mike Stump
6f16dafb64 Fixup whitespacing
From-SVN: r118104
2006-10-28 10:37:12 +00:00
Uros Bizjak
e68d4dd1b4 re PR target/29377 (Build for h8300-elf crashes on 64bit hosts due to int/HWI mismatch)
PR target/29377
        * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
        argument to HOST_WIDE_INT.  Update function prototype.
        (round_frame_size): Change return type to HOST_WIDE_INT.  Change
        "size" argument to HOST_WIDE_INT.  Update function prototype.

From-SVN: r118102
2006-10-28 11:41:41 +02:00
Uros Bizjak
87ccbc5cdd i386.c (output_387_ffreep): Create output from a template string for !HAVE_AS_IX86_FFREEP.
* config/i386/i386.c (output_387_ffreep): Create output from a
        template string for !HAVE_AS_IX86_FFREEP.

From-SVN: r118101
2006-10-28 11:20:23 +02:00
Keith Seitz
f356a436f0 java-stack.h (ncodeMap): Declare.
* include/java-stack.h (ncodeMap): Declare.
        (_Jv_StackTrace): Make _Jv_GetMethodDeclaringClass friend.
        * java/lang/Class.h (_Jv_GetMethodDeclaringClass): Declare.
        * java/lang/natClass.cc (_Jv_GetMethodDeclaringClass): New
        function.
        * stacktrace.cc (ncodeMap): Redefine from file global to global
        for class _Jv_StackTrace.
        (_Jv_StackTrace::UpdateNCodeMap): Add interpreted classes, too,
        so that _Jv_GetMethodDeclaringClass can find them all.
        (_Jv_StackTrace::ClassForFrame): Exclude interpreted classes.
        * jvmti.cc (_Jv_JVMTI_GetMethodDeclaringClass): New function.
        (_Jv_JVMTI_Interface): Define GetMethodDeclaringClass function.

From-SVN: r118100
2006-10-28 02:15:12 +00:00
Eric Christopher
62baeb4f01 darwin.c: Fix formatting and grammar.
2006-10-27  Eric Christopher  <echristo@apple.com>

	    * config/darwin.c: Fix formatting and grammar.

From-SVN: r118099
2006-10-28 01:00:21 +00:00
GCC Administrator
922764658e Daily bump.
From-SVN: r118097
2006-10-28 00:17:40 +00:00