Commit Graph

66870 Commits

Author SHA1 Message Date
Jakub Jelinek
b2a6a2fb64 re PR target/20561 (Error compiling jdtcore.jar on powerpc)
PR target/20561
	* cfglayout.c (reemit_insn_block_notes): Don't put block notes in
	between jump table and its label.
	* final.c (shorten_branches): Handle notes in between ADDR_VEC
	resp. ADDR_DIFF_VEC and the label preceeding it.
	(final_scan_insn): Likewise.  Ensure ADDR_VEC resp. ADDR_DIFF_VEC
	is emitted in the right section.

	* gcc.dg/20050321-2.c: New test.

From-SVN: r96867
2005-03-22 14:29:29 +01:00
Nathan Sidwell
37048601f7 re PR c++/20465 (error: no matching function for call)
cp:
	PR c++/20465
	PR c++/20381
	* typeck.c (build_ptrmemfunc): Allow OFFSET_REF when processing a
	template.
testsuite:
	PR c++/20465
	PR c++/20381
	* g++.dg/template/ptrmem12.C: New.

From-SVN: r96862
2005-03-22 09:30:22 +00:00
Kazu Hirata
7107fa7ca5 fold-const.c (fold_unary, [...]): Update comments about arguments.
* fold-const.c (fold_unary, fold_binary): Update comments
	about arguments.

From-SVN: r96855
2005-03-22 06:01:05 +00:00
Hans-Peter Nilsson
17c9bcdd28 re PR rtl-optimization/20527 (Mishandling of postincrement causes bzip2 miscompilation.)
PR rtl-optimization/20527
	* combine.c (can_combine_p) [AUTO_INC_DEC]: When INSN has an
	REG_INC note, test that the register also isn't mentioned in PRED
	or SUCC.

From-SVN: r96853
2005-03-22 03:48:44 +00:00
Hans-Peter Nilsson
9d7cb25425 re PR rtl-optimization/20527 (Mishandling of postincrement causes bzip2 miscompilation.)
PR rtl-optimization/20527
	* gcc.c-torture/execute/pr20527-1.c: New test.

From-SVN: r96852
2005-03-22 03:43:39 +00:00
Ben Elliston
fd8e466319 dwarf2out.c (dwarf_type_encoding_name): Remove unused prototype and definition.
* dwarf2out.c (dwarf_type_encoding_name): Remove unused prototype
	and definition.

From-SVN: r96851
2005-03-22 14:09:25 +11:00
Mike Stump
fb925a5148 mf-heuristics.c: Fix whitespace at end of line.
* mf-heuristics.c: Fix whitespace at end of line.
        * mf-hooks1.c: Likewise.
        * mf-hooks2.c: Likewise.
        * mf-hooks3.c: Likewise.
        * mf-impl.h: Likewise.
        * mf-runtime.c: Likewise.
        * mf-runtime.h: Likewise.

From-SVN: r96850
2005-03-22 02:14:33 +00:00
Mike Stump
b025006799 * varasm.c (default_assemble_visibility): Remove extra ().
From-SVN: r96849
2005-03-22 01:10:54 +00:00
GCC Administrator
ab7f3a7cdd Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r96847.2
2005-03-22 00:16:23 +00:00
Ben Elliston
e44615776a options.exp (check_for_options): Create a real C program...
* gcc.misc-tests/options.exp (check_for_options): Create a real C
	program, compile it into a real executable and then delete the .c
	and .x files afterwards, to avoid problems on testglue targets.

From-SVN: r96844
2005-03-22 11:15:32 +11:00
Chris Jefferson
aed63147cb re PR libstdc++/20577 (iter_swap doesn't work anymore with vector<bool>)
2005-03-21  Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/20577
	* include/bits/stl_algobase.h (iter_swap): Only delegate iter_swap
	to swap when the iterator's reference_type is a reference to its
	value_type.
	* testsuite/25_algorithms/iter_swap/20577.cc: New.

From-SVN: r96837
2005-03-21 22:16:15 +00:00
Roger Sayle
ffaf4d3b13 re PR middle-end/20557 (FAIL: gcc.dg/pr18628.c)
PR middle-end/20557
	* bb-reorder.c (duplicate_computed_gotos): Use can_duplicate_block_p
	to determine whether a block can be duplicated, rather than test
	whether the block contains noncopyable insns ourselves.

From-SVN: r96836
2005-03-21 22:11:11 +00:00
Kazu Hirata
59298b1d60 i860.h (PREDICATE_CODES): Remove nonexistent predicates.
* config/i860/i860.h (PREDICATE_CODES): Remove nonexistent
	predicates.

From-SVN: r96834
2005-03-21 21:11:42 +00:00
Tom Tromey
1ccc1c82d8 VMCompiler.java (static block): Also catch BufferUnderflowException.
* java/lang/VMCompiler.java (static block): Also catch
	BufferUnderflowException.

From-SVN: r96832
2005-03-21 20:59:18 +00:00
Richard Sandiford
6ec4845e26 * config/ip2k/ip2k.h (target_flags, TARGET_SWITCHES): Delete.
From-SVN: r96831
2005-03-21 20:52:36 +00:00
Richard Sandiford
8c3eeb97da * config/fr30/fr30.h (TARGET_SMALL_MODEL_MASK, TARGET_SMALL_MODEL)
(TARGET_DEFAULT, target_flags, TARGET_SWITCHES): Delete.
	* config/fr30/fr30.opt: New file.

From-SVN: r96830
2005-03-21 20:50:26 +00:00
Daniel Berlin
013cc86f9a re PR tree-optimization/20542 (Bootstrap failure at -Os)
2005-03-18  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/20542

	* tree-flow-inline.h (overlap_subvar): Move to here.
	* tree-ssa-operands.c: From here.
	* tree-flow.h (overlap_subvar): Declare.
	* tree-ssa-alias.c (add_pointed_to_var): Use overlap_subvar here.
	* tree-ssa-loop-im.c (is_call_clobbered_ref): Return proper answer
	for variables with subvars.

From-SVN: r96829
2005-03-21 19:27:00 +00:00
Mostafa Hagog
d331e20402 Fix PR middle-end/20177 and add test case.
From-SVN: r96828
2005-03-21 18:49:29 +00:00
Zack Weinberg
191dd2c9c2 Makefile.def: Remove libstdcxx_incdir...
* Makefile.def: Remove libstdcxx_incdir, libsubdir, gxx_include_dir,
	gcc_version, and gcc_version_trigger from set of flags to pass.
	* Makefile.tpl: Remove definitions of above variables.
	(config.status): Remove dependency on $(gcc_version_trigger).
	* Makefile.in: Regenerate.
	* configure.in: Do not reference config/gcc-version.m4 nor
	config/gxx-include-dir.m4.  Do not invoke TL_AC_GCC_VERSION nor
	TL_AC_GXX_INCLUDE_DIR.  Do not set gcc_version_trigger.
	* configure: Regenerate.

From-SVN: r96827
2005-03-21 18:27:06 +00:00
Bob Wilson
12a8ee3350 lib1funcs.asm (__mulsi3): Use symbolic name for ACCLO.
* config/xtensa/lib1funcs.asm (__mulsi3): Use symbolic name for ACCLO.
	* config/xtensa/xtensa.md (movsi_internal, movhi_internal,
	movqi_internal): Likewise.

From-SVN: r96826
2005-03-21 18:22:42 +00:00
Zack Weinberg
e9bbd9d707 gxx-include-dir.m4: In all substitutions, leave $(gcc_version) to be expanded by the Makefile.
config:
	* gxx-include-dir.m4: In all substitutions, leave $(gcc_version)
	to be expanded by the Makefile.
libjava:
	* configure.ac: Do not invoke TL_AC_GCC_VERSION.  Do not
	set tool_include_dir.  In all substitutions, leave $(gcc_version)
	to be expanded by the Makefile.
	* aclocal.m4, configure: Regenerate.
	* Makefile.am: Set gcc_version.  Replace all uses of
	@gcc_version@ with $(gcc_version).
	* external/Makefile.am, external/sax/Makefile.am
	* external/w3c_dom/Makefile.am, gcj/Makefile.am
	* testsuite/Makefile.am: Set gcc_version.
	* include/Makefile.am: Set gcc_version and tool_include_dir.
	* Makefile.in, external/Makefile.in, external/sax/Makefile.in
	* external/w3c_dom/Makefile.in, gcj/Makefile.in, include/Makefile.in
	* testsuite/Makefile.in: Regenerate.

From-SVN: r96825
2005-03-21 18:12:32 +00:00
Bob Wilson
8eb1bc5cf5 xtensa-protos.h: (xtensa_simm7...
* config/xtensa/xtensa-protos.h: (xtensa_simm7, xtensa_uimm8,
	xtensa_uimm8x2, xtensa_uimm8x4, xtensa_ai4const, xtensa_lsi4x4,
	xtensa_b4const): Delete prototypes.
	(xtensa_simm8, xtensa_simm8x256, xtensa_simm12b, xtensa_b4constu,
	xtensa_mask_immediate, xtensa_mem_offset): Update prototypes.
	(xtensa_b4const_or_zero, xtensa_const_ok_for_letter_p,
	xtensa_extra_constraint): New prototypes.
	(add_operand, arith_operand, nonimmed_operand, mem_operand,
	mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
	lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
	move_operand, const_float_1_operand, fpmem_offset_operand,
	branch_operator, ubranch_operator, boolean_operator): Delete prototypes.
	* config/xtensa/xtensa.c (b4const_or_zero): Rename to ...
	(xtensa_b4const_or_zero): ...this.  Change return type to bool and
	argument type to HOST_WIDE_INT.
	(xtensa_simm8, xtensa_simm8x256, xtensa_simm12b,
	xtensa_mask_immediate): Likewise.
	(xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4, xtensa_b4const):
	Likewise.  Also make these functions static.
	(xtensa_simm7, xtensa_ai4const, xtensa_lsi4x4): Delete.
	(xtensa_const_ok_for_letter_p): New.
	(add_operand, arith_operand, nonimmed_operand, mem_operand,
	mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
	lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
	move_operand, const_float_1_operand, fpmem_offset_operand,
	branch_operator, ubranch_operator, boolean_operator): Move to
	predicates.md.
	(smalloffset_mem_p): Inline code from xtensa_lsi4x4.
	(xtensa_mem_offset): Change return type to bool.
	(xtensa_extra_constraint): New.
	(gen_int_relational): Update type of const_range_p function pointer.
	Use xtensa_b4const_or_zero.
	* config/xtensa/xtensa.h (CONST_OK_FOR_LETTER_P): Define to
	xtensa_const_ok_for_letter_p.  Update comments.
	(EXTRA_CONSTRAINT): Define to xtensa_extra_constraint.
	(PREDICATE_CODES): Delete.
	* config/xtensa/xtensa.md: Include predicates.md.
	* config/xtensa/predicates.md: New file.

From-SVN: r96824
2005-03-21 18:08:32 +00:00
Zack Weinberg
c690027275 configure.ac: Do not invoke TL_AC_GCC_VERSION.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
	Do not set tool_include_dir.
	* aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
	Regenerate.
	* include/Makefile.am: Set gcc_version and toollibffidir.
	* include/Makefile.in: Regenerate.

From-SVN: r96823
2005-03-21 18:01:47 +00:00
Kazu Hirata
83310f5688 v850-protos.h: Remove the prototypes for reg_or_int9_operand...
* config/v850/v850-protos.h: Remove the prototypes for
	reg_or_int9_operand, reg_or_const_operand,
	pattern_is_ok_for_prepare, pattern_is_ok_for_dispose,
	reg_or_0_operand, reg_or_int5_operand, call_address_operand,
	movsi_source_operand, power_of_two_operand,
	not_power_of_two_operand, special_symbolref_operand,
	pattern_is_ok_for_prologue, pattern_is_ok_for_epilogue, and
	register_is_ok_for_epilogue.
	* config/v850/v850.c (reg_or_0_operand, reg_or_int5_operand,
	reg_or_int9_operand, reg_or_const_operand,
	call_address_operand, special_symbolref_operand,
	movsi_source_operand, power_of_two_operand,
	not_power_of_two_operand, register_is_ok_for_epilogue,
	pattern_is_ok_for_epilogue, pattern_is_ok_for_prologue,
	pattern_is_ok_for_dispose, pattern_is_ok_for_prepare): Move to
	predicates.md.
	* config/v850/v850.h (PREDICATE_CODES): Remove.
	* config/v850/v850.md: Include predicates.md.
	* config/v850/predicates.md: New.

From-SVN: r96822
2005-03-21 18:01:29 +00:00
Zack Weinberg
f08dd1f8f3 * Makefile.in (BASEVER, DEVPHASE, DATESTAMP)
(BASEVER_c, DEVPHASE_c, DATESTAMP_c)
	(BASEVER_s, DEVPHASE_s, DATESTAMP_s, version): Set with :=.
	(itoolsdir, itoolsdatadir): Move definition above new first use.
	(install-itoolsdirs): New rule.
	(install-mkheaders): Depend on install-itoolsdirs, not
	install-include-dir.

From-SVN: r96821
2005-03-21 17:58:06 +00:00
Stuart Hastings
979632a0db sse-2.c: New.
2005-03-21  Stuart Hastings  <stuart@apple.com>

	* gcc.target/i386/sse-2.c: New.

From-SVN: r96820
2005-03-21 17:51:02 +00:00
Zack Weinberg
90ee136828 Makefile.in: Set gcc_version directly, not via substitution.
* Makefile.in: Set gcc_version directly, not via substitution.
	(libsubdir): Use $(gcc_version), not $(version).
	(mkheaders.almost): New rule.
	(mkheaders): Generate from mkheaders.almost.
	(clean): Also delete mkheaders.almost.
	* aclocal.m4: Do not include ../config/gcc-version.m4.
	* configure.ac: Do not invoke TL_AC_GCC_VERSION.  Generate
	mkheaders.almost from mkheaders.in.
	* configure: Regenerate.

From-SVN: r96819
2005-03-21 17:50:19 +00:00
Zack Weinberg
140e859c6c configure.ac: Do not invoke TL_AC_GCC_VERSION.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
	In all substitutions, leave gcc_version to be expanded by the Makefile.
	* aclocal.m4, configure: Regenerate.
	* Makefile.am: Set gcc_version.
	* Makefile.in: Regenerate.

From-SVN: r96818
2005-03-21 17:46:19 +00:00
Zack Weinberg
fd0811ef5d configure.ac: Do not invoke TL_AC_GCC_VERSION.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
	In all substitutions, expand gcc_version in Makefile.
	* aclocal.m4, configure: Regenerate.
	* Makefile.am: Set gcc_version.
	* Makefile.in, testsuite/Makefile.in: Regenerate.

From-SVN: r96817
2005-03-21 17:44:38 +00:00
Zack Weinberg
2b37e3d54d Makefile.in: Set gcc_version here.
* Makefile.in: Set gcc_version here.
	* configure.ac: Do not invoke TL_AC_GCC_VERSION.  Adjust quoting
	in definition of toolexeclibdir so that $(gcc_version) is expanded
	by the Makefile.
	* aclocal.m4, configure: Regenerate.

From-SVN: r96816
2005-03-21 17:42:26 +00:00
Zack Weinberg
47194af45f acinclude.m4 (GLIBCXX_CONFIGURE): Delete gcc_version logic.
* acinclude.m4 (GLIBCXX_CONFIGURE): Delete gcc_version logic.
	(GLIBCXX_EXPORT_INSTALL_INFO): Adjust quotation so ${gcc_version}
	is expanded by the Makefiles, not by configure.
	* fragment.am: Set gcc_version.
	* libmath/Makefile.am: Likewise.
	* configure, Makefile.in, include/Makefile.in, libmath/Makefile.in
	* libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in
	* testsuite/Makefile.in: Regenerate.

From-SVN: r96814
2005-03-21 17:40:24 +00:00
Kazu Hirata
af5d3a18b5 * tree-into-ssa.c: Remove obsolete comments.
From-SVN: r96813
2005-03-21 17:04:24 +00:00
Richard Guenther
14bfd7c70d re PR target/20166 (Bootstrap failure due to lack of fixinclude of pthread problem)
2005-03-21  Richard Guenther  <rguenth@gcc.gnu.org>

	PR target/20166
	* inclhack.def: Add fix for array of incomplete structures
	in function prototype in pthread.h.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h: Adjust.

From-SVN: r96812
2005-03-21 16:46:09 +00:00
Richard Guenther
37f7367a4d tree-ssa-loop.c (gate_tree_complete_unroll): Run complete unrolling if -fpeel-loops is specified, too.
2005-03-21  Richard Guenther  <rguenth@gcc.gnu.org>

	* tree-ssa-loop.c (gate_tree_complete_unroll): Run complete
	unrolling if -fpeel-loops is specified, too.
	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
	Remove superfluous check for flag_unroll_loops.

From-SVN: r96808
2005-03-21 15:52:44 +00:00
Andrew Haley
e5a8980bb9 natVMSecurityManager.cc (getClassContext): Add new arg: klass.
2005-03-17  Andrew Haley  <aph@redhat.com>

	* java/lang/natVMSecurityManager.cc (getClassContext): Add new
	arg: klass.
	Pass klass to _Jv_StackTrace::GetClassContext().
	* java/lang/ClassLoader.java (getParent): Pass class to
	VMSecurityManager.getClassContext()
	(getSystemClassLoader): Likewise.
	* java/lang/Package.java (getPackage): Likewise.
	(getPackages): Likewise.
	* java/lang/SecurityManager.java (getClassContext): Likewise.
	(currentClassLoader): Likewise.
	* java/lang/VMSecurityManager.java: (getClassContext): Likewise.
	(currentClassLoader) Add new arg: caller.
	Pass caller to VMSecurityManager.getClassContext.

	* stacktrace.cc (GetClassContext): Correct calculation of
	jframe_count.

	* boehm.cc (_Jv_MarkObj): (_Jv_MarkObj): Mark
	im->source_file_name.

From-SVN: r96803
2005-03-21 14:50:14 +00:00
Uros Bizjak
21e01bf10d optabs.h (enum optab_index): Add new OTI_lrint and OTI_llrint.
* optabs.h (enum optab_index): Add new OTI_lrint and OTI_llrint.
	(lrint_optab, llrint_optab): Define corresponding macros.
	* optabs.c (init_optabs): Initialize lrint_optab and llrint_optab.
	* genopinit.c (optabs): Implement lrint_optab using lrintsi2
	pattern and llrint_optab using llrintdi2 patterns.
	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LRINT{,F,L}
	using lrint_optab and BUILT_IN_LLRINT{,F,L} using llrint_optab.
	(expand_builtin): Expand BUILT_IN_LRINT{,F,L} and
	BUILT_IN_LLRINT{,F,L} using expand_builtin_mathfn if
	flag_unsafe_math_optimizations is set.

testsuite:

	* gcc.dg/builtins-46.c: Also check lrint* and llrint*.

From-SVN: r96802
2005-03-21 15:42:48 +01:00
Paolo Bonzini
14f02e7315 combine.c (combine_simplify_rtx, [...]): Adjust calls to reverse_comparison.
2005-03-21  Paolo Bonzini  <bonzini@gnu.org>

	* combine.c (combine_simplify_rtx, simplify_if_then_else,
	simplify_logical, if_then_else_cond, known_cond,
	simplify_comparison): Adjust calls to reverse_comparison.
	Don't use combine_reversed_comparison_code).
	(combine_reversed_comparison_code): Remove.
	(reversed_comparison): Using reversed_comparison_code, move it...
	* jump.c (reversed_comparison): ... here.
	* rtl.h (reversed_comparison): Add prototype.

From-SVN: r96801
2005-03-21 14:38:01 +00:00
Kazu Hirata
49d1af8985 builtins.c (fold_builtin): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin): Take decomposed arguments of
	CALL_EXPR.
	* fold-const.c (fold_ternary): Update a call to fold_builtin.
	* gimplify.c (gimplify_call_expr): Likewise.
	* tree-ssa-ccp.c (ccp_fold, ccp_fold_builtin): Likewise.
	* tree.h: Update the prototype of fold_builtin.

From-SVN: r96800
2005-03-21 14:35:08 +00:00
Paolo Bonzini
9ce921aba8 rtl.h (struct rtx_hooks): Add gen_lowpart_no_emit.
2005-03-21  Paolo Bonzini  <bonzini@gnu.org>

	* rtl.h (struct rtx_hooks): Add gen_lowpart_no_emit.
	* rtlhooks.c (gen_lowpart_no_emit_general): New.
	* rtlhooks-def.h (gen_lowpart_no_emit_general): Declare.
	(RTL_HOOKS_GEN_LOWPART_NO_EMIT): New.
	* simplify-rtx.c (simplify_binary_operation_1): Use it.

From-SVN: r96799
2005-03-21 14:30:51 +00:00
Kazu Hirata
0a04ccc571 builtins.c (fold_builtin_1): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_1): Take decomposed arguments of
	CALL_EXPR.
	(fold_builtin): Update a call to fold_builtin_1.

From-SVN: r96798
2005-03-21 14:27:39 +00:00
Kazu Hirata
f399a1a18c builtins.c (fold_builtin_1): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_1): Take decomposed arguments of
	CALL_EXPR.

From-SVN: r96797
2005-03-21 14:26:34 +00:00
Nick Clifton
d0f7abf932 Oops - forgot to include ChangeLog entry for m32r patch
From-SVN: r96796
2005-03-21 13:08:39 +00:00
Paolo Carlini
048a75f41e crash25.C: Fix typo.
2005-03-21  Paolo Carlini  <pcarlini@suse.de>

	* g++.dg/parse/crash25.C: Fix typo.

From-SVN: r96795
2005-03-21 13:02:38 +00:00
Nathan Sidwell
e6058208b0 remove conflict indicators
From-SVN: r96790
2005-03-21 12:33:15 +00:00
Nathan Sidwell
f5d39c3d74 re PR other/20564 (gcov default behaviour changed)
PR other/20564
	* gcov.c (output_lines): Only output function block summary when
	outputting branch information.
	* doc/gcov.texi: Document format of preamble and additional block
	information lines.

From-SVN: r96788
2005-03-21 12:31:10 +00:00
Paolo Carlini
e1283056b2 re PR c++/20461 (ICE at "class 'C' does not have any field named 'f'" error)
2005-03-21  Paolo Carlini  <pcarlini@suse.de>

	PR c++/20461
	* g++.dg/parse/crash24.C: New test.

	PR c++/20536
	* g++.dg/parse/crash25.C: New test.

2005-03-21  Paolo Carlini  <pcarlini@suse.de>

	PR c++/20147
	* g++.dg/ext/stmtexpr4.C: New test.

From-SVN: r96785
2005-03-21 11:53:00 +00:00
Paolo Carlini
72e4661a25 re PR c++/20461 (ICE at "class 'C' does not have any field named 'f'" error)
2005-03-21  Paolo Carlini  <pcarlini@suse.de>

	PR c++/20461
	PR c++/20536
	* init.c (emit_mem_initializers): Don't crash on undefined
	types.

2005-03-21  Paolo Carlini  <pcarlini@suse.de>

	PR c++/20147
	* semantics.c (finish_stmt_expr_expr): Return immediately
	if error_operand_p (expr).

From-SVN: r96784
2005-03-21 11:49:32 +00:00
Kazu Hirata
a16095f6eb Oops - forgot to include ChangeLog entry for m32r patch
From-SVN: r96782
2005-03-21 10:06:27 +00:00
Richard Sandiford
cfa7bd9ca2 libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro.
* libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro.
	(LIBGCC2_HAS_DF_MODE, LIBGCC2_HAS_TF_MODE, LIBGCC2_HAS_XF_MODE): Make
	the defaults false if BITS_PER_UNIT != 8.
	(SFtype, SCtype, __fixsfdi, __floatdisf, __fixunssfSI, __fixunssfDI)
	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE rather
	than BITS_PER_UNIT != 8.
	(L_fixdfdi, L_fixsfdi, L_fixtfdi, L_fixunsdfdi, L_fixunsdfsi)
	(L_fixunssfdi, L_fixunssfsi, L_fixunstfdi, L_fixunsxfdi, L_fixunsxfsi)
	(L_fixxfdi, L_floatdidf, L_floatdisf, L_floatditf, L_floatdixf): Remove
	#undefs.
	* libgcc2.c (__fixunssfDI, __fixsfdi, __floatdisf, __fixunssfSI)
	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE.

From-SVN: r96778
2005-03-21 07:22:22 +00:00
Roger Sayle
90ec750dbf re PR middle-end/20539 (ICE in simplify_subreg, at simplify-rtx.c:3674)
PR middle-end/20539
	* fold-const.c (fold_binary): Fix type mismatch between
	TRUTH_{AND,OR,XOR}_EXPR nodes an their operands' types.
	(fold_binary) <TRUTH_XOR_EXPR>: Avoid calling invert_truthvalue
	for non-truth-valued expressions.

	* c-common.c (c_common_truthvalue_conversion): Handle ERROR_MARK
	and FUNCTION_DECL in the main switch.
	<TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
	TRUTH_XOR_EXPR>: When changing the result type of these tree nodes,
	we also need to convert their operands to match.
	<TRUTH_NOT_EXPR>: Likewise.

	* gcc.c-torture/compile/pr13066-1.c: New test case.
	* gcc.c-torture/compile/pr20539-1.c: Likewise.
	* g++.dg/opt/pr13066-1.C: Likewise.

From-SVN: r96777
2005-03-21 03:30:08 +00:00