Jakub Jelinek [Tue, 22 Mar 2005 13:29:29 +0000 (14:29 +0100)]
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.
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.
Ben Elliston [Tue, 22 Mar 2005 00:15:32 +0000 (00:15 +0000)]
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.
Chris Jefferson [Mon, 21 Mar 2005 22:16:15 +0000 (22:16 +0000)]
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.
Roger Sayle [Mon, 21 Mar 2005 22:11:11 +0000 (22:11 +0000)]
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.
Zack Weinberg [Mon, 21 Mar 2005 18:27:06 +0000 (18:27 +0000)]
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.
Bob Wilson [Mon, 21 Mar 2005 18:22:42 +0000 (18:22 +0000)]
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.
Zack Weinberg [Mon, 21 Mar 2005 18:12:32 +0000 (18:12 +0000)]
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.
Zack Weinberg [Mon, 21 Mar 2005 18:01:47 +0000 (18:01 +0000)]
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.
Zack Weinberg [Mon, 21 Mar 2005 17:58:06 +0000 (17:58 +0000)]
* 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.
Zack Weinberg [Mon, 21 Mar 2005 17:50:19 +0000 (17:50 +0000)]
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.
Zack Weinberg [Mon, 21 Mar 2005 17:46:19 +0000 (17:46 +0000)]
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.
Zack Weinberg [Mon, 21 Mar 2005 17:44:38 +0000 (17:44 +0000)]
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.
Zack Weinberg [Mon, 21 Mar 2005 17:42:26 +0000 (17:42 +0000)]
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.
Richard Guenther [Mon, 21 Mar 2005 16:46:09 +0000 (16:46 +0000)]
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.
Richard Guenther [Mon, 21 Mar 2005 15:52:44 +0000 (15:52 +0000)]
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.
Uros Bizjak [Mon, 21 Mar 2005 14:42:48 +0000 (15:42 +0100)]
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*.
Nathan Sidwell [Mon, 21 Mar 2005 12:31:10 +0000 (12:31 +0000)]
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.
Roger Sayle [Mon, 21 Mar 2005 03:30:08 +0000 (03:30 +0000)]
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.
Joseph Myers [Mon, 21 Mar 2005 02:22:08 +0000 (02:22 +0000)]
c-common.c (lvalue_or_else): Replace by lvalue_error; only give diagnostic without checking whether an lvalue.
* c-common.c (lvalue_or_else): Replace by lvalue_error; only give
diagnostic without checking whether an lvalue.
* c-common.h (lvalue_p): Remove.
(enum lvalue_use): Update comment.
(lvalue_or_else): Replace by lvalue_error.
* c-typeck.c (lvalue_p): Make static.
(lvalue_or_else): New. Call lvalue_error.
Kazu Hirata [Sun, 20 Mar 2005 15:54:41 +0000 (15:54 +0000)]
builtins.c (fold_builtin_1): Update a call to targetm.fold_builtin.
* builtins.c (fold_builtin_1): Update a call to
targetm.fold_builtin.
* hooks.c (hook_tree_tree_bool_null): Rename to
hook_tree_tree_tree_bool_null. Take one more argument of type
tree.
* hooks.h: Update the prototype of hook_tree_tree_bool_null.
* target-def.h (TARGET_FOLD_BUILTIN): Define it as
hook_tree_tree_tree_bool_null.
* target.h (gcc_target): Update the prototype of fold_builtin.
* config/alpha/alpha.c (alpha_fold_builtin): Take decomposed
arguments of CALL_EXPR.
* doc/tm.texi (TARGET_FOLD_BUILTIN): Update. Mention the
new prototype.
Kazu Hirata [Sun, 20 Mar 2005 14:39:01 +0000 (14:39 +0000)]
builtins.c (fold_fixed_mathfn, [...]): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_fixed_mathfn, fold_builtin_trunc,
fold_builtin_floor, fold_builtin_ceil, fold_builtin_lround):
Take decomposed arguments of CALL_EXPR.
(fold_builtin_1): Update calls to the functions mentioned
above.
Joseph Myers [Sun, 20 Mar 2005 01:52:35 +0000 (01:52 +0000)]
c-decl.c (check_bitfield_type_and_width): Require bit-field width to have integer type.
* c-decl.c (check_bitfield_type_and_width): Require bit-field
width to have integer type.
(build_enumerator): Require enumerator value to have integer type.
testsuite:
* gcc.dg/bitfld-14.c, gcc.dg/enum3.c: New tests.
Tobias Schlüter [Sat, 19 Mar 2005 19:23:04 +0000 (20:23 +0100)]
gfortran.h (arith): Remove ARITH_0TO0.
* gfortran.h (arith): Remove ARITH_0TO0.
* arith.c (gfc_arith_error): Remove handling of ARITH_0TO0.
(gfc_arith_power): Remove special casing of zero to integral
power zero.
Kazu Hirata [Sat, 19 Mar 2005 17:34:25 +0000 (17:34 +0000)]
builtins.c (fold_builtin_memcpy): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_memcpy): Take decomposed arguments
of CALL_EXPR.
(expand_builtin_memcpy, fold_builtin_1): Update calls to
fold_builtin_memcpy.
re PR middle-end/20493 (Bootstrap failure because of aliased symbols)
PR middle-end/20493
* fold-const.c (fold_widened_comparison): Don't optimize casts of
function pointers on targets that require function pointer
canonicalization.
(fold_sign_changed_comparison): Likewise.
Jan Hubicka [Fri, 18 Mar 2005 14:57:10 +0000 (15:57 +0100)]
re PR middle-end/20225 (ICE during GC)
PR middle-end/20225
* cgraph.c (cgraph_mark_reachable_node): Assert that it is not called
too late.
* varasm.c (find_decl_and_mark_needed): Mark needed only when not
called too late.