2006-07-20 Paul Brook <paul@codesourcery.com>
PR 27363
gcc/
* cse.c (cse_insn): Add destination addresses to hash table. Check if
they are invalidated by this instruction.
gcc/testsuite/
* gcc.dg/pr27363.c: New test.
From-SVN: r115614
2006-07-19 Eric Christopher <echristo@apple.com>
* config/t-slibgcc-darwin (stmp-lipo): Remove.
Rewrite dependencies for libgcc_s.1.dylib.
From-SVN: r115608
* doc/invoke.texi (RS/6000 and PowerPC Options): Document that
-mlongcall does not guarantee all calls will be long.
* doc/extend.texi (long_call/short_call): Document that longcall
does not guarantee a long call will be used.
(longcall/shortcall): Likewise.
From-SVN: r115582
PR middle-end/28283
* expmed.c (expand_shift): Additionally check that the shift_cost
is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
before implementing a LSHIFT_EXPR as a sequence of additions.
* config/sh/sh.c (shift_costs): Return MAX_COST to inform the
middle-end that DImode shifts need to be synthesized by expand.
From-SVN: r115578
PR c++/28235
* pt.c (tsubst_decl): Handling substitutions into a static data
member from within the scope of the tempalte itself.
PR c++/28235
* g++.dg/template/static27.C: New test.
From-SVN: r115576
* tree.h (categorize_ctor_elements): Adjust prototype and add
descriptive comment, both in accordance with the interface change
described below.
* varasm.c (constructor_static_from_elts_p): New function.
Whether a constructor node is a valid static constant initializer
if all its elements are.
(initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
* output.h: Declare it.
* expr.c (categorize_ctor_elements_1): Return whether the constructor
is a valid constant initializer instead of computing the number of
non-constant elements. Use constructor_static_from_elts_p for this
purpose. Replace the head comment with an indication that this is a
helper for categorize_ctor_elements.
(categorize_ctor_elements): Same interface change as for the _1
helper. Former head comment from this helper moved here, adjusted to
account for the interface changes.
(mostly_zeros_p): Adjust call to categorize_ctor_elements.
(all_zeros_p): Likewise.
* gimplify.c (gimplify_init_constructor): Decide whether we can make
static versions of the constructor from the categorize_ctor_elements
return value instead of the formerly computed number of non-constant
elements.
* gnat.dg/outer_agg_bitfield_constructor.adb: New test.
* gnat.dg/nested_agg_bitfield_constructor.adb: New test.
From-SVN: r115553
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (configure-stageN-MODULE): Pass --with-build-libsubdir
for stages after the first.
config:
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* acx.m4: Support --with-build-libsubdir and AC_SUBST
build_libsubdir.
gcc:
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* configure: Regenerate.
* Makefile.in (build_libsubdir): New configure substitution
(build_libobjdir): New variable.
(BUILD_LIBIBERTY): Use it.
libgfortran:
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* configure: Regenerate.
libjava:
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* configure: Regenerate.
libobjc:
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
* configure: Regenerate.
From-SVN: r115552
* config/i386/gmon-sol2.c: Silence compilation warnings by partially
synchronizing code with config/sparc/gmon-sol2.c. Remove #if 0
blocks. #include "tconfig.h" and "tsystem.h" to prototype system
functions such as sbrk, write, etc.. Add function prototypes.
Convert function declarations from K&R to ISO C. Cast pointers
to "long" and "unsigned long" instead of "int" and "unsigned int".
Convert tokens following #endif into comments.
Co-Authored-By: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
From-SVN: r115540
* tree-chrec.c (avoid_arithmetics_in_type_p): New.
(convert_affine_scev, chrec_convert_aggressive): Use
avoid_arithmetics_in_type_p. Do not check for the subtypes
separately.
From-SVN: r115528
gcc/
PR middle-end/28403
* optabs.c (expand_doubleword_shift): Wrap the call to
do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
gcc/testsuite/
PR middle-end/28403
* gcc.c-torture/execute/pr28403.c: New test.
From-SVN: r115525
gcc/
2006-07-17 Carlos O'Donell <carlos@codesourcery.com>
* ChangeLog: Correct formatting for 2006-07-10 changes,
by Carlos O'Donell.
From-SVN: r115520
2006-07-13 Andrew Haley <aph@redhat.com>
PR tree-optimization/19505
* tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
edge leaving this block, make sure that the destination of this
block has only one predecessor.
From-SVN: r115518
2006-07-17 Richard Guenther <rguenther@suse.de>
PR tree-optimization/28238
* tree-inline.c (copy_bb): Check if we produced valid
gimple copying and substituting a stmt. If not, gimplify
it.
* g++.dg/tree-ssa/pr28238.C: New testcase.
From-SVN: r115517
PR c++/28250
* name-lookup.c (pushdecl_maybe_friend): Return early on
error_mark_node.
* except.c (expand_start_catch_block): Use error_mark_node instead
of NULL_TREE for invalid decls.
* parser.c (cp_parser_exception_declaration): Return error_mark_node
on invalid catch parameter. Simplify.
* g++.dg/eh/catch1.C: New test.
* g++.dg/eh/catch2.C: New test.
From-SVN: r115516