platform/upstream/gcc.git
15 years agoDaily bump.
GCC Administrator [Wed, 1 Jul 2009 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r149126

15 years agore PR c++/40566 (rejects promoted throw)
Jakub Jelinek [Tue, 30 Jun 2009 22:04:36 +0000 (00:04 +0200)]
re PR c++/40566 (rejects promoted throw)

PR c++/40566
* convert.c (convert_to_integer) <case COND_EXPR>: Don't convert
to type arguments that have void type.

* g++.dg/parse/cond5.C: New test.

From-SVN: r149121

15 years agore PR debug/40573 (DWARF for inlined subroutines refers to the outlined copy)
Jakub Jelinek [Tue, 30 Jun 2009 22:03:27 +0000 (00:03 +0200)]
re PR debug/40573 (DWARF for inlined subroutines refers to the outlined copy)

PR debug/40573
* dwarf2out.c (gen_formal_parameter_die): Call
equate_decl_number_to_die if node is different from origin.

From-SVN: r149120

15 years agogen-vect-25.c (n): New variable.
Nathan Froyd [Tue, 30 Jun 2009 21:10:14 +0000 (21:10 +0000)]
gen-vect-25.c (n): New variable.

* gcc.dg/tree-ssa/gen-vect-25.c (n): New variable.
(main): Pass n to main_1 instead.
* gcc.dg/tree-ssa/gen-vect-28.c (off): New variable.
(main_1): New function, split off from...
(main): ...here.  Pass `off' to main_1 instead.

From-SVN: r149119

15 years agore PR c++/40595 ([C++0x] ICE trying to use sfinae with variadic template pack expansion)
Jason Merrill [Tue, 30 Jun 2009 19:36:36 +0000 (15:36 -0400)]
re PR c++/40595 ([C++0x] ICE trying to use sfinae with variadic template pack expansion)

PR c++/40595
* pt.c (tsubst_pack_expansion): Handle unexpanded packs in an
EXPR_PACK_EXPANSION.

From-SVN: r149117

15 years agoutils2.c (build_binary_op): Do not use the type of the left operand if...
Eric Botcazou [Tue, 30 Jun 2009 19:20:24 +0000 (19:20 +0000)]
utils2.c (build_binary_op): Do not use the type of the left operand if...

* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
the type of the left operand if it pads a self-referential type when
the right operand is a constructor.

* gcc-interface/lang-specs.h: Fix copyright date.

From-SVN: r149115

15 years agoEnable building with g++.
Anthony Green [Tue, 30 Jun 2009 18:59:41 +0000 (18:59 +0000)]
Enable building with g++.

From-SVN: r149114

15 years agogcc-defs.exp (gcc-set-multilib-library-path): Delete.
Richard Sandiford [Tue, 30 Jun 2009 18:37:57 +0000 (18:37 +0000)]
gcc-defs.exp (gcc-set-multilib-library-path): Delete.

gcc/testsuite/
* lib/gcc-defs.exp (gcc-set-multilib-library-path): Delete.
* lib/target-libpath.exp (ld_library_path_vars): New variable.
(init_ld_library_path_env_vars): New function, replacing the
orig_*_saved assignments.  Call it after defining it.
(set_ld_library_path_env_vars): Rewrite to use ld_library_path_vars.
(restore_ld_library_path_env_vars): Likewise.
(add_path, find_libgcc_s): New functions.
* lib/objc.exp (objc_init): Use find_libgcc_s instead of
gcc-set-multilib-library-path.
(objc_target_compile): Don't add "." to ld_library_path.
Use add_path.
* lib/gfortran.exp (gfortran_link_flags): Don't add "." to
ld_library_path.  Use add_path.  Use find_libgcc_s instead of
gcc-set-multilib-library-path.
* lib/g++.exp (g++_link_flags): Likewise.
* lib/obj-c++.exp (obj-c++_link_flags): Likewise.
* lib/c-torture.exp: Do not manipulate ld_library_path at the
top level; do it...
(c-torture-execute): ...here instead.  Use $ld_library_path_multilib
to tell when this needs to happen.  Use find_libgcc_s instead of
gcc-set-multilib-library-path.
* lib/gcc-dg.exp: Likewise.
* lib/gnat.exp (gnat_target_compile): Don't add "." to ld_library_path.
* g++.dg/compat/compat.exp (alt_ld_library_path): Don't add "."
unless it is in $ALT_LD_LIBRARY_PATH.
* g++.dg/compat/struct-layout-1.exp (alt_ld_library_path): Likewise.

libffi/
* testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
to ld_library_path.  Use add_path.  Add just find_libgcc_s
to ld_library_path, not every libgcc multilib directory.

libgomp/
* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
ld_library_path.  Use add_path.  Add just find_libgcc_s to
ld_library_path, not every libgcc multilib directory.
* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
Use add_path.
* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.

libjava/
* testsuite/lib/libjava.exp (libjava_init): Just add
find_libgcc_s to libjava_libgcc_s_path, rather than every
libgcc multilib directory.
(libjava_arguments): Explain why we add "." to ld_library_path.
(gcj_invoke, exec_gij, libjava_invoke): Use add_path.

libmudflap/
* testsuite/lib/libmudflap.exp (libmudflap-init): Don't add "."
to ld_library_path.  Use add_path.  Add just find_libgcc_s to
ld_library_path, not every libgcc multilib directory.

libstdc++-v3/
* testsuite/lib/libstdc++.exp (libstdc++_init): Don't add "."
to ld_library_path.  Use add_path.  Add just find_libgcc_s to
ld_library_path, not every libgcc multilib directory.

From-SVN: r149113

15 years agocgraphunit.c (cgraph_finalize_compilation_unit): Call finalize_size_functions before...
Eric Botcazou [Tue, 30 Jun 2009 17:26:32 +0000 (17:26 +0000)]
cgraphunit.c (cgraph_finalize_compilation_unit): Call finalize_size_functions before further processing.

* cgraphunit.c (cgraph_finalize_compilation_unit): Call
finalize_size_functions before further processing.
* stor-layout.c: Include cgraph.h, tree-inline.h and tree-dump.h.
(variable_size): Call self_referential_size on size expressions
that contain a PLACEHOLDER_EXPR.
(size_functions): New static variable.
(copy_self_referential_tree_r): New static function.
(self_referential_size): Likewise.
(finalize_size_functions): New global function.
* tree.c: Include tree-inline.h.
(push_without_duplicates): New static function.
(find_placeholder_in_expr): New global function.
(substitute_in_expr) <tcc_declaration>: Return the replacement object
on equality.
<tcc_expression>: Likewise.
<tcc_vl_exp>: If the replacement object is a constant, try to inline
the call in the expression.
* tree.h (finalize_size_functions): Declare.
(find_placeholder_in_expr): Likewise.
(FIND_PLACEHOLDER_IN_EXPR): New macro.
(substitute_placeholder_in_expr): Update comment.
* tree-inline.c (remap_decl): Do not unshare trees if do_not_unshare
is true.
(copy_tree_body_r): Likewise.
(copy_tree_body): New static function.
(maybe_inline_call_in_expr): New global function.
* tree-inline.h (struct copy_body_data): Add do_not_unshare field.
(maybe_inline_call_in_expr): Declare.
* Makefile.in (tree.o): Depend on TREE_INLINE_H.
(stor-layout.o): Depend on CGRAPH_H, TREE_INLINE_H, TREE_DUMP_H and
GIMPLE_H.
ada/
* gcc-interface/decl.c: Include tree-inline.h.
(annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
* gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
* gcc-interface/utils2.c: Include tree-inline.
(known_alignment) <CALL_EXPR>: Likewise.

From-SVN: r149112

15 years agore PR fortran/40576 (Endless loop in internal write)
Thomas Koenig [Tue, 30 Jun 2009 17:10:06 +0000 (17:10 +0000)]
re PR fortran/40576 (Endless loop in internal write)

2009-06-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/40576
* gfortran.dg/internal_write_1.f90:  New testcase.

From-SVN: r149109

15 years agore PR fortran/40594 (wrong-code)
Janus Weil [Tue, 30 Jun 2009 17:06:27 +0000 (19:06 +0200)]
re PR fortran/40594 (wrong-code)

2009-06-30  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40594
* trans-types.c (gfc_get_derived_type): Bugfix, reverting one hunk from
r147206.

2009-06-30  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40594
* gfortran.dg/derived_pointer_recursion_2.f90: New.

From-SVN: r149108

15 years agotree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Always continue walking.
Richard Guenther [Tue, 30 Jun 2009 15:23:39 +0000 (15:23 +0000)]
tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Always continue walking.

2009-06-30  Richard Guenther  <rguenther@suse.de>

* tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Always
continue walking.
(propagate_necessity): Do not mark reaching defs of stores
as necessary.

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

From-SVN: r149103

15 years agoRevert accidental commit.
Jan Hubicka [Tue, 30 Jun 2009 14:57:54 +0000 (14:57 +0000)]
Revert accidental commit.

From-SVN: r149102

15 years agocfgloopanal.c (check_irred): Move into ...
Jan Hubicka [Tue, 30 Jun 2009 14:56:37 +0000 (16:56 +0200)]
cfgloopanal.c (check_irred): Move into ...

* cfgloopanal.c (check_irred): Move into ...
(mark_irreducible_loops): ... here; return true if ireducible
loops was found.
* ipa-pure-const.c: Include cfgloop.h and tree-scalar-evolution.h
(analyze_function): Try to prove loop finiteness.
* cfgloop.h (mark_irreducible_loops): Update prototype.
* Makefile.in (ipa-pure-const.o): Add dependency on SCEV and CFGLOOP.

From-SVN: r149101

15 years agoMakefile.in (PLUGIN_HEADERS): added ggc, tree-dump, pretty-print.
Basile Starynkevitch [Tue, 30 Jun 2009 14:36:55 +0000 (14:36 +0000)]
Makefile.in (PLUGIN_HEADERS): added ggc, tree-dump, pretty-print.

2009-06-30  Basile Starynkevitch  <basile@starynkevitch.net>

* gcc/Makefile.in (PLUGIN_HEADERS): added ggc, tree-dump, pretty-print.

From-SVN: r149100

15 years agoRemove testsuite in filenames.
H.J. Lu [Tue, 30 Jun 2009 13:58:43 +0000 (06:58 -0700)]
Remove testsuite in filenames.

From-SVN: r149098

15 years agore PR libstdc++/40600 (pair& operator=(pair&& __p) doesn't work without inlining)
Paolo Carlini [Tue, 30 Jun 2009 12:09:57 +0000 (12:09 +0000)]
re PR libstdc++/40600 (pair& operator=(pair&& __p) doesn't work without inlining)

2009-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/40600
* testsuite/25_algorithms/minmax/2.cc: Fix consistently with
std::minmax return type.
* testsuite/25_algorithms/minmax/3.cc: Likewise.

From-SVN: r149094

15 years agossa-sink-5.c: Change the compiler option "-O2 -Os" to "-Os".
Wei Guozhi [Tue, 30 Jun 2009 12:01:40 +0000 (12:01 +0000)]
ssa-sink-5.c: Change the compiler option "-O2 -Os" to "-Os".

* gcc.dg/tree-ssa/ssa-sink-5.c: Change the compiler option "-O2 -Os"
to "-Os".

From-SVN: r149093

15 years agore PR tree-optimization/40542 (vectorizes access to volatile array)
Ira Rosen [Tue, 30 Jun 2009 11:33:27 +0000 (11:33 +0000)]
re PR tree-optimization/40542 (vectorizes access to volatile array)

PR tree-optimization/40542
* tree-vect-stmts.c (vect_analyze_stmt): Don't vectorize volatile
types.

From-SVN: r149090

15 years agore PR libstdc++/40511 (Bootstrap Failure in stage3: c++locale - Recent SVN)
Paolo Carlini [Tue, 30 Jun 2009 10:45:54 +0000 (10:45 +0000)]
re PR libstdc++/40511 (Bootstrap Failure in stage3: c++locale - Recent SVN)

2009-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/40511
* config/locale/gnu/c_locale.cc: Don't use LC_CTYPE_MASK together
with glibc2.2.x.

From-SVN: r149089

15 years agore PR tree-optimization/40582 (ice for non-trivial conversion at assignment with...
Martin Jambor [Tue, 30 Jun 2009 10:10:29 +0000 (12:10 +0200)]
re PR tree-optimization/40582 (ice for non-trivial conversion at assignment with -O2)

2009-06-30  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/40582
* tree-sra.c (build_ref_for_offset_1): Use types_compatible_p rather
than useless_type_conversion_p.
(generate_subtree_copies): Increment sra_stats.subtree_copies at a
proper place.

* testsuite/gcc.c-torture/compile/pr40582.c: New test.

From-SVN: r149088

15 years agore PR middle-end/40554 (Revision 148941 miscompiled 447.dealII in SPEC CPU 2006)
Martin Jambor [Tue, 30 Jun 2009 10:03:26 +0000 (12:03 +0200)]
re PR middle-end/40554 (Revision 148941 miscompiled 447.dealII in SPEC CPU 2006)

2009-06-30  Martin Jambor  <mjambor@suse.cz>

PR middle-end/40554
* tree-sra.c (sra_modify_expr): Add access->offset to start_offset.

From-SVN: r149087

15 years agotree-ssa-alias.c (walk_aliased_vdefs_1): Change interface to use ao_ref references.
Richard Guenther [Tue, 30 Jun 2009 09:55:34 +0000 (09:55 +0000)]
tree-ssa-alias.c (walk_aliased_vdefs_1): Change interface to use ao_ref references.

2009-06-30  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (walk_aliased_vdefs_1): Change interface to
use ao_ref references.
(walk_aliased_vdefs): Likewise.
* tree-ssa-alias.h (walk_aliased_vdefs): Adjust prototype.
* tree-ssa-dce.c (struct ref_data): Remove.
(mark_aliased_reaching_defs_necessary_1): Use the ao_ref argument.
(mark_aliased_reaching_defs_necessary): Adjust.
(mark_all_reaching_defs_necessary_1): Likewise.

From-SVN: r149086

15 years agoFix typo
Eric Botcazou [Tue, 30 Jun 2009 09:52:48 +0000 (09:52 +0000)]
Fix typo

From-SVN: r149085

15 years ago* raise-gcc: Include dwarf2.h conditionally.
Eric Botcazou [Tue, 30 Jun 2009 09:50:52 +0000 (09:50 +0000)]
* raise-gcc: Include dwarf2.h conditionally.

From-SVN: r149084

15 years agore PR bootstrap/40597 (Powerpc bootstrap is broken due to changes in expmed.c)
Paolo Bonzini [Tue, 30 Jun 2009 07:59:01 +0000 (07:59 +0000)]
re PR bootstrap/40597 (Powerpc bootstrap is broken due to changes in expmed.c)

2009-06-30  Paolo Bonzini  <bonzini@gnu.org>

PR boostrap/40597
* expmed.c (emit_cstore): New name of emit_store_flag_1.
(emit_store_flag_1): Extract from emit_store_flag, adjust
calls to (what now is) emit_cstore.
(emit_store_flag): Call emit_store_flag_1 and also use it
for what used to be recursive calls.

From-SVN: r149083

15 years agotree-ssa-sink.c (statement_sink_location): Stop sinking expression if the target...
Wei Guozhi [Tue, 30 Jun 2009 06:51:29 +0000 (06:51 +0000)]
tree-ssa-sink.c (statement_sink_location): Stop sinking expression if the target bb post dominates from bb.

* tree-ssa-sink.c (statement_sink_location): Stop sinking expression
if the target bb post dominates from bb.

* config/i386/i386.c (memory_address_length): Check existence of base
register before using it.

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

From-SVN: r149082

15 years agoMAINTAINERS: Add my name to Write After Approval list.
Wei Guozhi [Tue, 30 Jun 2009 03:42:16 +0000 (03:42 +0000)]
MAINTAINERS: Add my name to Write After Approval list.

        * MAINTAINERS: Add my name to Write After Approval list.

From-SVN: r149080

15 years ago* doc/install.texi (mep-x-elf): Correct chip's full name.
DJ Delorie [Tue, 30 Jun 2009 01:36:27 +0000 (21:36 -0400)]
* doc/install.texi (mep-x-elf): Correct chip's full name.

From-SVN: r149079

15 years ago2009-06-29 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Tue, 30 Jun 2009 01:25:52 +0000 (01:25 +0000)]
2009-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/random.tcc
(linear_congruential_engine<>::seed(seed_seq&)): Use uint_least32_t
as array type.

From-SVN: r149078

15 years agoextend.texi: Fix typo.
H.J. Lu [Tue, 30 Jun 2009 00:48:50 +0000 (00:48 +0000)]
extend.texi: Fix typo.

2009-06-29  H.J. Lu  <hongjiu.lu@intel.com>

* doc/extend.texi: Fix typo.

From-SVN: r149076

15 years agore PR fortran/40576 (Endless loop in internal write)
Jerry DeLisle [Tue, 30 Jun 2009 00:46:35 +0000 (00:46 +0000)]
re PR fortran/40576 (Endless loop in internal write)

2009-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/40576
* io/transfer.c (sset): Adjust exit condition for loop.

From-SVN: r149075

15 years agorandom.h (__mod(_Tp)): Use defaults.
Paolo Carlini [Tue, 30 Jun 2009 00:43:21 +0000 (00:43 +0000)]
random.h (__mod(_Tp)): Use defaults.

2009-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/random.h (__mod(_Tp)): Use defaults.
(struct _Mod): Adjust template parameters.
(linear_congruential_engine<>::operator()()): Adjust.
(typedef _UInt32Type): Remove.
(mersenne_twister_engine<>::initialization_multiplier): Fix type.
* include/bits/random.tcc (struct _Mod): Adjust template parameters.
(linear_congruential_engine<>::seed(result_type)): Adjust __mod
calls.
(mersenne_twister_engine<>::seed(result_type)): Likewise.
(mersenne_twister_engine<>::seed(seed_seq&)): Likewise.
(subtract_with_carry_engine<>::seed(result_type)): Likewise.
(subtract_with_carry_engine<>::seed(seed_seq&)): Likewise.
(seed_seq::seed_seq(std::initializer_list<>)): Likewise.
(seed_seq::seed_seq(_InputIterator, _InputIterator)): Likewise.
(seed_seq::generate(_RandomAccessIterator, _RandomAccessIterator)):
Likewise.

* include/bits/random.tcc
(mersenne_twister_engine<>::seed(result_type)): Fix i usage in the
formula (i mod n).
(mersenne_twister_engine<>::seed(seed_seq&)): Use uint_least32_t
as array type.
(subtract_with_carry_engine<>::seed(seed_seq&)): Likewise; fix array
size.
(subtract_with_carry_engine<>::seed(result_type)): Fix; also use
uint_least32_t.

From-SVN: r149074

15 years agoDaily bump.
GCC Administrator [Tue, 30 Jun 2009 00:16:37 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r149073

15 years agodwarf2.h: Remove.
Tom Tromey [Tue, 30 Jun 2009 00:02:10 +0000 (00:02 +0000)]
dwarf2.h: Remove.

gcc
* dwarf2.h: Remove.
* Makefile.in (DWARF2_H): New variable.
(except.o): Use it.
(dwarf2out.o): Likewise.
(dwarf2asm.o): Likewise.
* config/i386/t-i386: Use DWARF2_H.
* except.c: Include elf/dwarf2.h.
* unwind-dw2.c: Include elf/dwarf2.h.
* dwarf2out.c: Include elf/dwarf2.h.
(dw_loc_descr_struct) <dw_loc_opc>: Now a bitfield.
<dtprel>: New field.
(dwarf_stack_op_name): Don't handle INTERNAL_DW_OP_tls_addr.
(size_of_loc_descr): Likewise.
(output_loc_operands_raw): Likewise.
(output_loc_operands): Handle new dtprel field.
(loc_checksum): Update.
(loc_descriptor_from_tree_1) <VAR_DDECL>: Set dtprel field.
* unwind-dw2-fde-glibc.c: Include elf/dwarf2.h.
* unwind-dw2-fde.c: Include elf/dwarf2.h.
* dwarf2asm.c: Include elf/dwarf2.h.
* unwind-dw2-fde-darwin.c: Include elf/dwarf2.h.
* config/mmix/mmix.c: Include elf/dwarf2.h.
* config/rs6000/darwin-fallback.c: Include elf/dwarf2.h.
* config/xtensa/unwind-dw2-xtensa.c: Include elf/dwarf2.h.
* config/sh/sh.c: Include elf/dwarf2.h.
* config/i386/i386.c: Include elf/dwarf2.h.
gcc/ada
* raise-gcc.c: Include elf/dwarf2.h.
include
* elf/dwarf2.h: New file.  Merged with gdb.

From-SVN: r149070

15 years ago* config/mep/mep.h (CPP_SPEC): Remove __cop macro.
DJ Delorie [Mon, 29 Jun 2009 23:24:39 +0000 (19:24 -0400)]
* config/mep/mep.h (CPP_SPEC): Remove __cop macro.

From-SVN: r149069

15 years agoextend.texi: Add MeP attributes and pragmas.
DJ Delorie [Mon, 29 Jun 2009 23:21:49 +0000 (19:21 -0400)]
extend.texi: Add MeP attributes and pragmas.

* doc/extend.texi: Add MeP attributes and pragmas.
* doc/invoke.text: Add MeP Options.
* doc/contrib.texi: Add MeP contribution.
* doc/md.texi: Add MeP constraints.
* doc/install.texi: Add MeP target.

From-SVN: r149068

15 years agore PR c++/40274 (Revision 145566 caused ICE in tsubst, at cp/pt.c:9289)
Jason Merrill [Mon, 29 Jun 2009 23:18:46 +0000 (19:18 -0400)]
re PR c++/40274 (Revision 145566 caused ICE in tsubst, at cp/pt.c:9289)

PR c++/40274
* error.c (dump_template_parms): Pass all args to
count_non_default_template_args.
(count_non_default_template_args): Pull out the inner ones.

From-SVN: r149067

15 years agore PR c++/40274 (Revision 145566 caused ICE in tsubst, at cp/pt.c:9289)
Jason Merrill [Mon, 29 Jun 2009 23:15:43 +0000 (19:15 -0400)]
re PR c++/40274 (Revision 145566 caused ICE in tsubst, at cp/pt.c:9289)

PR c++/40274
* error.c (dump_template_parms): Pass all args to
count_non_default_template_args.
(count_non_default_template_args): Pull out the inner ones.

From-SVN: r149066

15 years agotarget.h (struct gcc_target): Add frame_pointer_required field.
Anatoly Sokolov [Mon, 29 Jun 2009 22:51:04 +0000 (02:51 +0400)]
target.h (struct gcc_target): Add frame_pointer_required field.

* target.h (struct gcc_target): Add frame_pointer_required field.
* target-def.h (TARGET_FRAME_POINTER_REQUIRED): New.
(TARGET_INITIALIZER): Use TARGET_FRAME_POINTER_REQUIRED.
* ira.c (setup_eliminable_regset): Use frame_pointer_required target
hook.
* reload1.c (update_eliminables): (Ditto.).
* gcc/system.h (FRAME_POINTER_REQUIRED): Poison.
* doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation.
(INITIAL_FRAME_POINTER_OFFSET): (Ditto.).

* config/arc/arc.h (FRAME_POINTER_REQUIRED): Remove macro.

* config/arm/arm.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/arm/arm.c (TARGET_FRAME_POINTER_REQUIRED): Define.
(arm_frame_pointer_required): New function.

* config/avr/avr.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/avr/avr.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
(avr_frame_pointer_required_p): Declare as static.
* config/avr/avr-protos.h (avr_frame_pointer_required_p): Remove.

* config/bfin/bfin.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/bfin/bfin.c (TARGET_FRAME_POINTER_REQUIRED): Define.
(bfin_frame_pointer_required): Make as static, change return type
to bool.
* config/bfin/bfin-protos.h (bfin_frame_pointer_required): Remove.

* config/cris/cris.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/cris/cris.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
(cris_frame_pointer_required): New function.

* config/crx/crx.h (FRAME_POINTER_REQUIRED): Remove macro.

* config/fr30/fr30.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/fr30/fr30.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
(fr30_frame_pointer_required): New function.

* config/frv/frv.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/frv/frv.c (TARGET_FRAME_POINTER_REQUIRED): Define.
(frv_frame_pointer_required): Make as static, change return type
to bool.
* config/bfin/bfin-protos.h (frv_frame_pointer_required): Remove.

* config/i386/i386.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/i386/i386.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
(ix86_frame_pointer_required): Make as static, change return type to
bool.
* config/i386/i386-protos.h (ix86_frame_pointer_required): Remove.

* config/m32c/m32c.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/m32c/m32c.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.

* config/m32r/m32r.h (FRAME_POINTER_REQUIRED): Remove macro.

* config/mcore/mcore.h (CAN_ELIMINATE): Remove macro.

* config/mep/mep.h (FRAME_POINTER_REQUIRED): Remove macro.

* config/mips/mips.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/mips/mips.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
(mips_frame_pointer_required): Make as static.
* config/mips/mips-protos.h (mips_frame_pointer_required): Remove.

* config/mmix/mmix.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/mmix/mmix.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
(mmix_frame_pointer_required): Mew function.

* config/moxie/moxie.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/moxie/moxie.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.

* config/pa/pa.h (FRAME_POINTER_REQUIRED): Remove macro.

* config/score/score.h (FRAME_POINTER_REQUIRED): Remove macro.

* config/sh/sh.h (CAN_ELIMINATE): Remove macro.

* config/sparc/sparc.h (FRAME_POINTER_REQUIRED): Remove macro.
(CAN_ELIMINATE): Redefine.
* config/sparc/sparc.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
(sparc_frame_pointer_required): New function.
(sparc_can_eliminate): New function.
* config/sparc/sparc-protos.h (sparc_can_eliminate): Declare.

* config/vax/vax.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/vax/vax.c (TARGET_FRAME_POINTER_REQUIRED): Define.

* config/xtensa/xtensa.h (FRAME_POINTER_REQUIRED): Remove macro.
* config/xtensa/xtensa.c (TARGET_FRAME_POINTER_REQUIRED): Define.
(xtensa_frame_pointer_required): Make as static, change return type
to bool.
* config/xtensa/xtensa-protos.h (xtensa_frame_pointer_required):
Remove.

From-SVN: r149065

15 years agoplugins.texi: Document PLUGIN_START_UNIT.
Olatunji Ruwase [Mon, 29 Jun 2009 21:17:40 +0000 (21:17 +0000)]
plugins.texi: Document PLUGIN_START_UNIT.

2009-06-29  Olatunji Ruwase   <tjruwase@google.com>

* doc/plugins.texi: Document PLUGIN_START_UNIT.
* toplev.c (compile_file): Call PLUGIN_START_UNIT.
* gcc-plugin.h (PLUGIN_START_UNIT): Added new event.
* plugin.c (plugin_event_name): Added PLUGIN_START_UNIT.
(register_callback): Handle PLUGIN_START_UNIT.
(invoke_plugin_callbacks): Handle PLUGIN_START_UNIT.

From-SVN: r149064

15 years agore PR fortran/40580 (Add -fcheck=pointer with runtime check for using an unallocated...
Tobias Burnus [Mon, 29 Jun 2009 21:02:17 +0000 (23:02 +0200)]
re PR fortran/40580 (Add -fcheck=pointer with runtime check for using an unallocated argument)

2009-06-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40580
        * trans-expr.c  (gfc_conv_procedure_call): Add -fcheck=pointer
        * check.
        * libgfortran.h: Add GFC_RTCHECK_POINTER.
        * invoke.texi (-fcheck): Document new pointer option.
        * options.c (gfc_handle_runtime_check_option): Handle pointer
        * option.

        * gfortran.texi (C Binding): Improve wording.
        * iso-c-binding.def: Remove obsolete comment.

2009-06-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40580
        * pointer_check_1.f90: New test.
        * pointer_check_2.f90: New test.
        * pointer_check_3.f90: New test.
        * pointer_check_4.f90: New test.
        * pointer_check_5.f90: New test.

From-SVN: r149063

15 years agore PR fortran/40551 (Optimizations possible using gfc_full_array_ref_p)
Paul Thomas [Mon, 29 Jun 2009 20:38:59 +0000 (20:38 +0000)]
re PR fortran/40551 (Optimizations possible using gfc_full_array_ref_p)

2009-06-29  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40551
* dependency.h : Add second bool* argument to prototype of
gfc_full_array_ref_p.
* dependency.c (gfc_full_array_ref_p): If second argument is
present, return true if last dimension of reference is an
element or has unity stride.
* trans-array.c : Add NULL second argument to references to
gfc_full_array_ref_p.
* trans-expr.c : The same, except for;
(gfc_trans_arrayfunc_assign): Return fail if lhs reference
is not a full array or a contiguous section.

2009-06-29  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40551
* gfortran.dg/func_assign_2.f90 : New test.

From-SVN: r149062

15 years agotree.c (process_call_operands): Propagate TREE_READONLY from the operands.
Eric Botcazou [Mon, 29 Jun 2009 18:02:41 +0000 (18:02 +0000)]
tree.c (process_call_operands): Propagate TREE_READONLY from the operands.

* tree.c (process_call_operands): Propagate TREE_READONLY from the
operands.
(PROCESS_ARG): Do not clear TREE_READONLY if CONSTANT_CLASS_P.
(build3_stat): Propagate TREE_READONLY for COND_EXPR.

From-SVN: r149060

15 years agore PR java/40590 (namespace namespace broken in CNI)
Andrew Haley [Mon, 29 Jun 2009 17:50:59 +0000 (17:50 +0000)]
re PR java/40590 (namespace namespace broken in CNI)

2009-06-29  Andrew Haley  <aph@redhat.com>

PR java/40590
* tools/gnu/classpath/tools/javah/FieldHelper.java (print):
Use printName().
* tools/gnu/classpath/tools/javah/MethodHelper.java (print):
Use printName().
* tools/gnu/classpath/tools/javah/CniStubPrinter.java (printDecl):
Use printName().
* tools/gnu/classpath/tools/javah/Keywords.java (words): Replace
with keywords list from  gcc/java/mangle.c.
* tools/gnu/classpath/tools/javah/ClassWrapper.java (printMethods):
Don't pre-convert a C++ keyword.
(print(CniPrintStream)): Call CniPrintStream.printName().
(printContents): Likewise.
* tools/gnu/classpath/tools/javah/CniPrintStream.java
(getClassName): Don't call replaceAll("/", "::").
(print(Type)): Add ""::" befor name, " *" after.  Use printName(), not
print.
(printName(PrintStream, String), printName(String), printlnName):
New methods.
(moveToPackage): Use printName().

2009-06-29  Andrew Haley  <aph@redhat.com>

PR java/40590
* java-tree.h (cxx_keyword_p): New declaration.
* mangle_name.c (utf8_cmp): Move here from mangle.c.
(cxx_keywords): Likewise.
(cxx_keyword_p): Likewise.
(MANGLE_CXX_KEYWORDS): New macro.
(append_gpp_mangled_name): Use MANGLE_CXX_KEYWORDS.
(append_gpp_mangled_name): Likewise.
* mangle.c: Move code to mangle_name.c.
(mangle_member_name): Don't call cxx_keyword_p.

From-SVN: r149059

15 years agoarm.h (REGISTER_MOVE_COST): Increase VFP register move cost.
Daniel Jacobowitz [Mon, 29 Jun 2009 16:55:56 +0000 (16:55 +0000)]
arm.h (REGISTER_MOVE_COST): Increase VFP register move cost.

* config/arm/arm.h (REGISTER_MOVE_COST): Increase VFP register
move cost.

From-SVN: r149057

15 years agoextend.texi (Additional Floating Types): __float128 is also supported on i386 targets.
Uros Bizjak [Mon, 29 Jun 2009 16:40:07 +0000 (18:40 +0200)]
extend.texi (Additional Floating Types): __float128 is also supported on i386 targets.

* doc/extend.texi (Additional Floating Types): __float128 is also
supported on i386 targets.

From-SVN: r149054

15 years agore PR middle-end/14187 ([tree-ssa] C restricted pointers are not properly implemented)
Richard Guenther [Mon, 29 Jun 2009 12:23:21 +0000 (12:23 +0000)]
re PR middle-end/14187 ([tree-ssa] C restricted pointers are not properly implemented)

2009-06-29  Richard Guenther  <rguenther@suse.de>

PR middle-end/14187
* tree-ssa-alias.h (struct pt_solution): Add vars_contains_restrict
flag.
(pt_solutions_same_restrict_base): Declare.
* tree-ssa-structalias.c (struct variable_info): Add is_restrict_var
flag.
(new_var_info): Initialize is_global_var properly for SSA_NAMEs.
(make_constraint_from, make_copy_constraint): Move earlier.
(make_constraint_from_heapvar): New function.
(make_constraint_from_restrict): Likewise.
(handle_lhs_call): Use it.
(find_func_aliases): Use it to track conversions to restrict
qualified pointers.
(struct fieldoff): Add only_restrict_pointers flag.
(push_fields_onto_fieldstack): Initialize it.
(create_variable_info_for): Track global restrict qualified pointers.
(intra_create_variable_infos): Use make_constraint_from_heapvar.
Track restrict qualified pointer arguments.
(set_uids_in_ptset): Use varinfo is_global_var flag.
(find_what_var_points_to): Set the vars_contains_restrict flag.
Always create the points-to solution for sets including restrict tags.
(pt_solutions_same_restrict_base): New function.
* tree-ssa-alias.c (ptr_derefs_may_alias_p): For two restrict
qualified pointers use pt_solutions_same_restrict_base as
additional source for disambiguation.

* gcc.dg/tree-ssa/restrict-1.c: New testcase.
* gcc.dg/tree-ssa/restrict-2.c: Likewise.
* gcc.dg/tree-ssa/restrict-3.c: Likewise.
* gcc.c-torture/execute/20090623-1.c: Likewise.
* gcc.dg/tree-ssa/ldist-13.c: Likewise.
* gcc.dg/tree-ssa/ldist-14.c: Likewise.

From-SVN: r149048

15 years agore PR middle-end/38212 (restrict implementation causes wrong-code)
Richard Guenther [Mon, 29 Jun 2009 12:20:39 +0000 (12:20 +0000)]
re PR middle-end/38212 (restrict implementation causes wrong-code)

2009-06-29  Richard Guenther  <rguenther@suse.de>

PR middle-end/38212
* alias.c (find_base_decl): Remove.
(get_deref_alias_set_1): Remove restrict handling.
* c-common.c (c_apply_type_quals_to_decl): Do not set
DECL_POINTER_ALIAS_SET.
* gimplify.c (find_single_pointer_decl_1): Remove.
(find_single_pointer_decl): Likewise.
(internal_get_tmp_var): Remove restrict handling.
(gimple_regimplify_operands): Likewise.
* omp-low.c (expand_omp_atomic_pipeline): Do not set
DECL_POINTER_ALIAS_SET. Use ref-all pointers.
* print-tree.c (print_node): Do not print DECL_POINTER_ALIAS_SET.
* tree.c (restrict_base_for_decl): Remove.
(init_ttree): Do not allocate it.
(make_node_stat): Do not set DECL_POINTER_ALIAS_SET.  Set
LABEL_DECL_UID for label decls.
(copy_node_stat): Do not copy restrict information.
(decl_restrict_base_lookup): Remove.
(decl_restrict_base_insert): Likewise.
(print_restrict_base_statistics): Likewise.
(dump_tree_statistics): Do not call print_restrict_base_statistics.
* tree.h (DECL_POINTER_ALIAS_SET): Remove.
(DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
(struct tree_decl_common): Rename pointer_alias_set to label_decl_uid.
(LABEL_DECL_UID): Adjust.
(DECL_BASED_ON_RESTRICT_P): Remove.
(DECL_GET_RESTRICT_BASE): Likewise.
(SET_DECL_RESTRICT_BASE): Likewise.
(struct tree_decl_with_vis): Remove based_on_restrict_p flag.

* config/i386/i386.c (ix86_gimplify_va_arg): Use ref-all pointers
instead of DECL_POINTER_ALIAS_SET.
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise.
* config/s390/s390.c (s390_gimplify_va_arg): Likewise.
* config/spu/spu.c (spu_gimplify_va_arg_expr): Likewise.

* gcc.c-torture/execute/pr38212.c: New testcase.

From-SVN: r149047

15 years agore PR tree-optimization/40579 (gcc -O2 optimization causes infinite loop and wrong...
Richard Guenther [Mon, 29 Jun 2009 11:57:15 +0000 (11:57 +0000)]
re PR tree-optimization/40579 (gcc -O2 optimization causes infinite loop and wrong output)

2009-06-29  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40579
* tree-vrp.c (vrp_evaluate_conditional): Bail out early if
the IL to simplify has constants that overflowed.

* gcc.c-torture/execute/pr40579.c: New testcase.

From-SVN: r149046

15 years agoDaily bump.
GCC Administrator [Mon, 29 Jun 2009 00:16:53 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r149043

15 years agore PR tree-optimization/40550 (Segmentation fault caused by alignment error in sse...
Uros Bizjak [Sun, 28 Jun 2009 18:33:54 +0000 (20:33 +0200)]
re PR tree-optimization/40550 (Segmentation fault caused by alignment error in sse code)

PR tree-optimization/40550
* tree-vect-generic.c (expand_vector_operations_1): Compute in
vector_compute_type only when the size of vector_compute_type is
less than the size of type.

testsuite/ChangeLog:

PR tree-optimization/40550
* gcc.dg/pr40550.c: New test.

From-SVN: r149038

15 years agofold-const.c (contains_label_1): Fix comments.
Eric Botcazou [Sun, 28 Jun 2009 18:17:47 +0000 (18:17 +0000)]
fold-const.c (contains_label_1): Fix comments.

* fold-const.c (contains_label_1): Fix comments.
(contains_label_p): Do not walk trees multiple time.

From-SVN: r149037

15 years agore PR fortran/34112 (Add $!DEC ATTRIBUTE support for 32bit Windows' STDCALL)
Tobias Burnus [Sun, 28 Jun 2009 17:56:41 +0000 (19:56 +0200)]
re PR fortran/34112 (Add $!DEC ATTRIBUTE support for 32bit Windows' STDCALL)

2009-06-28  Tobias Burnus  <burnus@net-b.de>
    Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

PR fortran/34112
* symbol.c (gfc_add_ext_attribute): New function.
(gfc_get_sym_tree): New argument allow_subroutine.
(gfc_get_symbol,gfc_get_ha_sym_tree,gen_cptr_param,gen_fptr_param
gen_shape_param,generate_isocbinding_symbol): Use it.
* decl.c (find_special): New argument allow_subroutine.
(add_init_expr_to_sym,add_hidden_procptr_result,attr_decl1,
match_procedure_in_type,gfc_match_final_decl): Use it.
(gfc_match_gcc_attributes): New function.
* gfortran.texi (Mixed-Language Programming): New section
"GNU Fortran Compiler Directives".
* gfortran.h (ext_attr_t): New struct.
(symbol_attributes): Use it.
(gfc_add_ext_attribute): New prototype.
(gfc_get_sym_tree): Update pototype.
* expr.c (gfc_check_pointer_assign): Check whether call
convention is the same.
* module.c (import_iso_c_binding_module, create_int_parameter,
use_iso_fortran_env_module): Update gfc_get_sym_tree call.
* scanner.c (skip_gcc_attribute): New function.
(skip_free_comments,skip_fixed_comments): Use it.
(gfc_next_char_literal): Support !GCC$ lines.
* resolve.c (check_host_association): Update
gfc_get_sym_tree call.
* match.c (gfc_match_sym_tree,gfc_match_call): Update
gfc_get_sym_tree call.
* trans-decl.c (add_attributes_to_decl): New function.
(gfc_get_symbol_decl,get_proc_pointer_decl,
gfc_get_extern_function_decl,build_function_decl: Use it.
* match.h (gfc_match_gcc_attributes): Add prototype.
* parse.c (decode_gcc_attribute): New function.
(next_free,next_fixed): Support !GCC$ lines.
* primary.c (match_actual_arg,check_for_implicit_index,
gfc_match_rvalue,gfc_match_rvalue): Update
gfc_get_sym_tree call.

2009-06-28  Tobias Burnus  <burnus@net-b.de>

PR fortran/34112
* gfortran.dg/compiler-directive_1.f90: New test.
* gfortran.dg/compiler-directive_2.f: New test.

Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
From-SVN: r149036

15 years agoi386.h (enum ix86_fpcmp_strategy): New.
Paolo Bonzini [Sun, 28 Jun 2009 17:06:11 +0000 (17:06 +0000)]
i386.h (enum ix86_fpcmp_strategy): New.

2009-06-28  Paolo Bonzini  <bonzini@gnu.org>

        * config/i386/i386.h (enum ix86_fpcmp_strategy): New.
        * config/i386/i386.md (cbranchxf4, cstorexf4, cbranch<MODEF>4,
        cstore<MODEF>4, mov<X87MODEF>cc): Change predicate to
        ix86_fp_comparison_operator.
        (*fp_jcc_1_mixed, *fp_jcc_1_sse, *fp_jcc_1_387, *fp_jcc_2_mixed,
        *fp_jcc_2_sse, *fp_jcc_2_387): Delete
        (*fp_jcc_3_387, *fp_jcc_4_387, *fp_jcc_5_387, *fp_jcc_6_387,
        *fp_jcc_7_387, *fp_jcc_8<MODEF>_387): Eliminate call to
        !ix86_use_fcomi_compare, change ix86_fp_jump_nontrivial_p call
        to !TARGET_CMOVE, change predicate to ix86_fp_comparison_operator.
        (related splits): Change predicate to ix86_fp_comparison_operator.
        * config/i386/predicates.md: Use ix86_trivial_fp_comparison_operator
        instead of ix86_fp_comparison_codes.
        (ix86_trivial_fp_comparison_operator,
        ix86_fp_comparison_operator): New.
        * config/i386/i386-protos.h (ix86_fp_comparison_strategy): New.
        (ix86_expand_compare): Eliminate last two parameters.
        (ix86_fp_jump_nontrivial_p): Kill.
        * config/i386/i386.c (put_condition_code): Eliminate call to
        ix86_fp_comparison_codes and subsequent assertion.
        (ix86_fp_comparison_codes): Eliminate.
        (ix86_fp_swap_condition): New.
        (ix86_fp_comparison_arithmetics_cost, ix86_fp_comparison_fcomi_cost,
        ix86_fp_comparison_sahf_cost, ix86_use_fcomi_compare): Consolidate
        into ix86_fp_comparison_cost and ix86_fp_comparison_strategy.
        (ix86_prepare_fp_compare_args): Use ix86_fp_comparison_strategy
        and ix86_fp_swap_condition.
        (ix86_expand_fp_compare): Eliminate code for second jump/bypass jump.
        Use ix86_fp_comparison_strategy.
        (ix86_expand_compare): Likewise.  Eliminate last two arguments.
        (ix86_fp_jump_nontrivial_p): Eliminate.
        (ix86_expand_branch): Treat SFmode/DFmode/XFmode as simple.  Adjust
        call to ix86_expand_compare.
        (ix86_split_fp_branch, ix86_expand_setcc,
        ix86_expand_carry_flag_compare, ix86_expand_int_movcc,
        ix86_expand_fp_movcc): Eliminate code for second jump/bypass jump.

From-SVN: r149035

15 years agoarm.c (arm_final_prescan_ins): Eliminate code related to jump_clobbers.
Paolo Bonzini [Sun, 28 Jun 2009 17:04:13 +0000 (17:04 +0000)]
arm.c (arm_final_prescan_ins): Eliminate code related to jump_clobbers.

2009-06-28  Paolo Bonzini  <bonzini@gnu.org>

        * config/arm/arm.c (arm_final_prescan_ins): Eliminate code
        related to jump_clobbers.
        * config/arm/arm.md (conds): Remove jump_clob case.
        (addsi3_cbranch, addsi3_cbranch_scratch, subsi3_cbranch, two
        splits): Change comparison_operator to arm_comparison_operator.
        (*arm_buneq, *arm_bltgt, *arm_buneq_reversed, *arm_bltgt_reversed):
        Eliminate.

From-SVN: r149034

15 years agodojump.c (do_compare_rtx_and_jump): Try swapping the condition for floating point...
Paolo Bonzini [Sun, 28 Jun 2009 17:03:03 +0000 (17:03 +0000)]
dojump.c (do_compare_rtx_and_jump): Try swapping the condition for floating point modes.

2009-06-28  Paolo Bonzini  <bonzini@gnu.org>

        * dojump.c (do_compare_rtx_and_jump): Try swapping the
        condition for floating point modes.
        * expmed.c (emit_store_flag_1): Move here a bigger part
        of emit_store_flag.
        (emit_store_flag): Try swapping the condition for floating point
        modes.
        * optabs.c (emit_cmp_and_jump_insns): Cope with constant op0 better.

From-SVN: r149033

15 years agoexpr.c (expand_expr_real_1): Just use do_store_flag.
Paolo Bonzini [Sun, 28 Jun 2009 17:01:16 +0000 (17:01 +0000)]
expr.c (expand_expr_real_1): Just use do_store_flag.

2009-06-28  Paolo Bonzini  <bonzini@gnu.org>

        * expr.c (expand_expr_real_1): Just use do_store_flag.
        (do_store_flag): Drop support for TRUTH_NOT_EXPR.  Use
        emit_store_flag_force.
        * expmed.c (emit_store_flag_force): Copy here trick
        previously in expand_expr_real_1.  Try reversing the comparison.
        (emit_store_flag_1): Work if target is NULL.
        (emit_store_flag): Work if target is NULL, using the result mode
        from the comparison.  Use split_comparison, restructure final part
        to simplify conditionals.

From-SVN: r149032

15 years agobuiltins.c (expand_errno_check): Use do_compare_rtx_and_jump.
Paolo Bonzini [Sun, 28 Jun 2009 16:53:18 +0000 (16:53 +0000)]
builtins.c (expand_errno_check): Use do_compare_rtx_and_jump.

2009-06-28  Paolo Bonzini  <bonzini@gnu.org>

        * builtins.c (expand_errno_check): Use do_compare_rtx_and_jump.
        * dojump.c (do_jump): Change handling of floating-point
        ops to use just do_compare_and_jump.
        (split_comparison): New.
        (do_compare_rtx_and_jump): Add here logic coming previously
        in do_jump, using split_comparison.

From-SVN: r149031

15 years agogfortran.h: Define HAVE_mpc_pow.
Kaveh R. Ghazi [Sun, 28 Jun 2009 06:06:28 +0000 (06:06 +0000)]
gfortran.h: Define HAVE_mpc_pow.

gcc/fortran:

* gfortran.h: Define HAVE_mpc_pow.
* arith.c (complex_reciprocal, complex_pow): If HAVE_mpc_pow,
don't define these functions.
(arith_power): If HAVE_mpc_pow, use mpc_pow.

gcc/testsuite:
* gfortran.dg/integer_exponentiation_4.f90: Temporarily
comment out some values and add some cases.

From-SVN: r149023

15 years agoDaily bump.
GCC Administrator [Sun, 28 Jun 2009 00:16:36 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r149022

15 years agotb-gcc.c (trace_callback): Add casts to silence warning.
Laurent GUERBY [Sat, 27 Jun 2009 20:48:40 +0000 (20:48 +0000)]
tb-gcc.c (trace_callback): Add casts to silence warning.

2009-06-27  Laurent GUERBY  <laurent@guerby.net>

* tb-gcc.c (trace_callback): Add casts to silence warning.

From-SVN: r149018

15 years ago* tb-gcc.c: Fix copyright notice.
Eric Botcazou [Sat, 27 Jun 2009 19:44:23 +0000 (19:44 +0000)]
* tb-gcc.c: Fix copyright notice.

From-SVN: r149017

15 years agore PR target/40489 (gcc.dg/builtin-unreachable-3.c doesn't work on ia64)
H.J. Lu [Sat, 27 Jun 2009 16:43:28 +0000 (09:43 -0700)]
re PR target/40489 (gcc.dg/builtin-unreachable-3.c doesn't work on ia64)

2009-06-27  H.J. Lu  <hongjiu.lu@intel.com>

PR target/40489
* config/ia64/ia64.c (ia64_reorg): Check NULL insn.

From-SVN: r149014

15 years agotree-ssa-alias.c: Fix unintentional commit.
Paolo Bonzini [Sat, 27 Jun 2009 15:52:26 +0000 (15:52 +0000)]
tree-ssa-alias.c: Fix unintentional commit.

2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

* tree-ssa-alias.c: Fix unintentional commit.

From-SVN: r149013

15 years agopasses.c (execute_one_pass): Fix unintentional commit.
Paolo Bonzini [Sat, 27 Jun 2009 15:46:03 +0000 (15:46 +0000)]
passes.c (execute_one_pass): Fix unintentional commit.

2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

* passes.c (execute_one_pass): Fix unintentional commit.

From-SVN: r149012

15 years agodf-problems.c (df_set_seen, [...]): Delete.
Paolo Bonzini [Sat, 27 Jun 2009 14:50:00 +0000 (14:50 +0000)]
df-problems.c (df_set_seen, [...]): Delete.

2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

        * df-problems.c (df_set_seen, df_unset_seen): Delete.
        (df_rd_local_compute, df_md_local_compute): Inline them.

        (df_md_scratch): New.
        (df_md_alloc, df_md_free): Allocate/free it.
        (df_md_local_compute): Only include live registers in init.
        (df_md_transfer_function): Prune the in-set computed by
        the confluence function, and the gen-set too.

From-SVN: r149011

15 years agore PR tree-optimization/26854 (Inordinate compile times on large routines)
Paolo Bonzini [Sat, 27 Jun 2009 14:48:34 +0000 (14:48 +0000)]
re PR tree-optimization/26854 (Inordinate compile times on large routines)

2009-06-07  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/26854
        * timevar.def: Remove TV_DF_RU, add TV_DF_MD.
        * df-problems.c (df_rd_add_problem): Fix comment.
        (df_md_set_bb_info, df_md_free_bb_info, df_md_alloc,
        df_md_simulate_artificial_defs_at_top,
        df_md_simulate_one_insn, df_md_bb_local_compute_process_def,
        df_md_bb_local_compute, df_md_local_compute, df_md_reset,
        df_md_transfer_function, df_md_init, df_md_confluence_0,
        df_md_confluence_n, df_md_free, df_md_top_dump, df_md_bottom_dump,
        problem_MD, df_md_add_problem): New.
        * df.h (DF_MD, DF_MD_BB_INFO, struct df_md_bb_info, df_md,
        df_md_get_bb_info): New.
        DF_LAST_PROBLEM_PLUS1): Adjust.

        * Makefile.in (fwprop.o): Include domwalk.h.
        * fwprop.c: Include domwalk.h.
        (reg_defs, reg_defs_stack): New.
        (bitmap_only_bit_between): Remove.
        (process_defs): New.
        (process_uses): Use reg_defs and local_md instead of
        bitmap_only_bit_between and local_rd.
        (single_def_use_enter_block): New, from build_single_def_use_links.
        (single_def_use_leave_block): New.
        (build_single_def_use_links): Remove code moved to
        single_def_use_enter_block, invoke domwalk.
        (use_killed_between): Adjust comment.

From-SVN: r149010

15 years agobitmap.h (bitmap_ior_and_into): New.
Paolo Bonzini [Sat, 27 Jun 2009 14:46:56 +0000 (14:46 +0000)]
bitmap.h (bitmap_ior_and_into): New.

2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

* bitmap.h (bitmap_ior_and_into): New.
* bitmap.c (bitmap_ior_and_into): New.

From-SVN: r149009

15 years agodomwalk.h (struct dom_walk_data): Remove all callbacks except before_dom_children_bef...
Paolo Bonzini [Sat, 27 Jun 2009 14:45:51 +0000 (14:45 +0000)]
domwalk.h (struct dom_walk_data): Remove all callbacks except before_dom_children_before_stmts and...

2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

        * domwalk.h (struct dom_walk_data): Remove all callbacks except
        before_dom_children_before_stmts and after_dom_children_after_stmts.
        Rename the two remaining callbacks to just before_dom_children and
        after_dom_children. Remove other GIMPLE statement walking bits.
        * domwalk.c (walk_dominator_tree): Remove now unsupported features.
        * graphite.c: Do not include domwalk.h.
        * tree-into-ssa.c (interesting_blocks): New global.
        (struct mark_def_sites_global_data): Remove it and names_to_rename.
        (mark_def_sites, rewrite_stmt, rewrite_add_phi_arguments,
        rewrite_update_stmt, rewrite_update_phi_arguments): Simplify
        now that they're not domwalk callbacks.
        (rewrite_initialize_block): Rename to...
        (rewrite_enter_block): ... this, place after called functions.  Test
        interesting_blocks, call rewrite_stmt and rewrite_add_phi_arguments.
        (rewrite_finalize_block): Rename to...
        (rewrite_leave_block): ... this, place after called functions.
        (rewrite_update_init_block): Rename to...
        (rewrite_update_enter_block): ... this, place after called functions.
        Test interesting_blocks, call rewrite_update_stmt and
        rewrite_update_phi_arguments.
        (rewrite_update_fini_block): Rename to...
        (rewrite_leave_block): ... this, place after called functions.
        (rewrite_blocks): Remove last argument, simplify initialization of
        walk_data.
        (mark_def_sites_initialize_block): Rename to...
        (mark_def_sites_block): ... this, call mark_def_sites.
        (mark_def_sites_blocks): Remove argument, simplify initialization of
        walk_data.
        (rewrite_into_ssa): Adjust for interesting_blocks_being a global.
        (update_ssa): Likewise.
        * tree-ssa-dom.c (optimize_stmt): Simplify now that it's not a domwalk
        callback.
        (tree_ssa_dominator_optimize): Simplify initialization of walk_data.
        (dom_opt_initialize_block): Rename to...
        (dom_opt_enter_block): ... this, place after called functions.  Walk
        statements here, inline propagate_to_outgoing_edges.
        (dom_opt_finalize_block): Rename to...
        (dom_opt_leave_block): ... this, place after called functions.
        * tree-ssa-dse.c (dse_optimize_stmt): Simplify now that it's not a
        domwalk callback.
        (dse_enter_block, dse_record_phi): New.
        (dse_record_phis): Delete.
        (dse_finalize_block): Rename to...
        (dse_leave_block): ... this.
        (tree_ssa_dse): Simplify initialization of walk_data.
        * tree-ssa-loop-im.c (determine_invariantness, move_computations):
        Adjust initialization of walk_data.
        * tree-ssa-loop-unswitch.c: Do not include domwalk.h.
        * tree-ssa-loop-phiopt.c (get_non_trapping):
        Adjust initialization of walk_data.
        * tree-ssa-loop-threadedge.c: Do not include domwalk.h.
        * tree-ssa-uncprop.c (uncprop_into_successor_phis): Simplify now that
        it's not a domwalk callback.
        (uncprop_initialize_block): Rename to...
        (dse_enter_block): ... this, call uncprop_into_successor_phis.
        (dse_finalize_block): Rename to...
        (dse_leave_block): ... this.
        (tree_ssa_uncprop): Simplify initialization of walk_data.
        * Makefile.in: Adjust dependencies.

From-SVN: r149008

15 years agoinit.c (__gnat_set_globals): Add prototype.
Eric Botcazou [Sat, 27 Jun 2009 14:44:17 +0000 (14:44 +0000)]
init.c (__gnat_set_globals): Add prototype.

* init.c (__gnat_set_globals): Add prototype.
* adaint.c (__gnat_binder_supports_auto_init): Likewise.
(__gnat_sals_init_using_constructors): Likewise.
* gcc-interface/utils.c (gnat_pushlevel): Likewise.
(get_block_jmpbuf_decl): Likewise.
(gnat_poplevel): Likewise.
(merge_sizes): Rename local variable.
(copy_type): Likewise.
(build_vms_descriptor32): Likewise.
(build_vms_descriptor): Likewise.
(convert_vms_descriptor64): Likewise.
(convert_vms_descriptor32): Likewise.
(convert_to_fat_pointer): Likewise.
(maybe_unconstrained_array): Likewise.
(def_fn_type): Use promoted type with va_arg.
* gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
(substitute_in_type): Rename local variable.
* gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.

From-SVN: r149007

15 years agore PR testsuite/40567 (Revision 149002 caused many failures)
Paolo Bonzini [Sat, 27 Jun 2009 14:40:29 +0000 (14:40 +0000)]
re PR testsuite/40567 (Revision 149002 caused many failures)

2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

PR testsuite/40567
* gcc.dg/vect/vect.exp: Fix lappend syntax.

From-SVN: r149006

15 years agoarm.md (casesi): Fix test for Thumb1.
Richard Earnshaw [Sat, 27 Jun 2009 11:15:04 +0000 (11:15 +0000)]
arm.md (casesi): Fix test for Thumb1.

* arm.md (casesi): Fix test for Thumb1.
(thumb1_casesi_internal_pic): Likewise.
(thumb1_casesi_dispatch): Likewise.

From-SVN: r149005

15 years agoFix nits
Eric Botcazou [Sat, 27 Jun 2009 10:02:58 +0000 (10:02 +0000)]
Fix nits

From-SVN: r149004

15 years agore PR testsuite/40565 (Extra failures)
Richard Henderson [Sat, 27 Jun 2009 01:13:11 +0000 (18:13 -0700)]
re PR testsuite/40565 (Extra failures)

PR testsuite/40565
* gcc.dg/vect/vect.exp: Add -fno-ipa-cp-clone to -O3 tests.
* gcc.target/i386/local.c: Pass a non-constant to T.

From-SVN: r149002

15 years agoDaily bump.
GCC Administrator [Sat, 27 Jun 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r148999

15 years agore PR fortran/39997 (Procedure(), pointer & implicit typing: rejects-valid / accepts...
Janus Weil [Fri, 26 Jun 2009 22:11:15 +0000 (00:11 +0200)]
re PR fortran/39997 (Procedure(), pointer  & implicit typing: rejects-valid / accepts-invalid?)

2009-06-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39997
PR fortran/40541
* decl.c (add_hidden_procptr_result): Copy the typespec to the hidden
result.
* expr.c (gfc_check_pointer_assign): Enable interface check for
procedure pointer assignments where the rhs is a function returning a
procedure pointer.
* resolve.c (resolve_symbol): If an external procedure with unspecified
return type can not be implicitly typed, it must be a subroutine.

2009-06-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39997
PR fortran/40541
* gfortran.dg/proc_ptr_15.f90: Fixed and extended.
* gfortran.dg/proc_ptr_common_1.f90: Fixed invalid test case.
* gfortran.dg/proc_ptr_result_1.f90: Ditto.
* gfortran.dg/proc_ptr_result_5.f90: New.

From-SVN: r148996

15 years agoarm-cores.def: Added core cortex-m0.
Daniel Gutson [Fri, 26 Jun 2009 21:46:40 +0000 (21:46 +0000)]
arm-cores.def: Added core cortex-m0.

2009-06-26  Daniel Gutson  <dgutson@codesourcery.com>

* config/arm/arm-cores.def: Added core cortex-m0.
* config/arm/arm-tune.md: Regenerated.
* doc/invoke.texi: Added entry for cpu ARM Cortex-M0.

From-SVN: r148987

15 years agomep.opt (mfar): Remove -mfar as it doesn't do anything.
DJ Delorie [Fri, 26 Jun 2009 20:36:05 +0000 (16:36 -0400)]
mep.opt (mfar): Remove -mfar as it doesn't do anything.

* config/mep/mep.opt (mfar): Remove -mfar as it doesn't do anything.

* config/mep/mep.c (mep_bundle_insns): Account for the fact that
the scheduler doesn't tag jump insns.

From-SVN: r148986

15 years agoc-decl.c (merge_decls): Re-indent.
H.J. Lu [Fri, 26 Jun 2009 19:05:22 +0000 (19:05 +0000)]
c-decl.c (merge_decls): Re-indent.

2009-06-26  H.J. Lu  <hongjiu.lu@intel.com>

* c-decl.c (merge_decls): Re-indent.

From-SVN: r148984

15 years agodecl.c (duplicate_decls): Re-indent.
H.J. Lu [Fri, 26 Jun 2009 18:52:29 +0000 (18:52 +0000)]
decl.c (duplicate_decls): Re-indent.

2009-06-26  H.J. Lu  <hongjiu.lu@intel.com>

* decl.c (duplicate_decls): Re-indent.

From-SVN: r148983

15 years agore PR c/39902 (x * 1.0DF gets wrong value)
Janis Johnson [Fri, 26 Jun 2009 18:27:30 +0000 (18:27 +0000)]
re PR c/39902 (x * 1.0DF gets wrong value)

PR c/39902
* tree.c (real_zerop, real_onep, real_twop, real_minus_onep):
Special-case decimal float constants.

* gcc.dg/dfp/pr39902.c: New test.

From-SVN: r148982

15 years agofunction.h (struct function): Add cannot_be_copied_reason, and cannot_be_copied_set.
Richard Henderson [Fri, 26 Jun 2009 18:23:32 +0000 (11:23 -0700)]
function.h (struct function): Add cannot_be_copied_reason, and cannot_be_copied_set.

* function.h (struct function): Add cannot_be_copied_reason,
and cannot_be_copied_set.
* tree-inline.c (has_label_address_in_static_1): Rename from
inline_forbidden_p_2; don't set inline_forbidden_reason here.
(cannot_copy_type_1): Rename from inline_forbidden_p_op; likewise
don't set inline_forbidden_reason.
(copy_forbidden): New function, split out of inline_forbidden_p.
(inline_forbidden_p_stmt): Don't check for nonlocal labels here.
(inline_forbidden_p): Use copy_forbidden.
(tree_versionable_function_p): Likewise.
(inlinable_function_p): Merge into tree_inlinable_function_p.
(tree_function_versioning): Remap cfun->nonlocal_goto_save_area.
* ipa-cp.c (ipcp_versionable_function_p): New function.
(ipcp_cloning_candidate_p): Use it.
(ipcp_node_modifiable_p): Likewise.

From-SVN: r148981

15 years agobuiltins.c (expand_builtin_alloca): Handle builtin alloca that is marked not to be...
Olatunji Ruwase [Fri, 26 Jun 2009 18:10:03 +0000 (18:10 +0000)]
builtins.c (expand_builtin_alloca): Handle builtin alloca that is marked not to be inlined.

* builtins.c (expand_builtin_alloca): Handle builtin alloca
that is marked not to be inlined. Remove flag_mudflap use.
* tree-mudflap.c: Rename mf_xform_derefs to mf_xfrom_statements.
(mf_xform_statements): Mark builtin alloca calls as un-inlineable.

From-SVN: r148980

15 years agore PR bootstrap/40338 (bootstrap comparision fails on 32 bit PA when comparing libgcc...
Steve Ellcey [Fri, 26 Jun 2009 17:30:55 +0000 (17:30 +0000)]
re PR bootstrap/40338 (bootstrap comparision fails on 32 bit PA when comparing libgcc objects)

2009-06-26  Steve Ellcey  <sje@cup.hp.com>

PR bootstrap/40338
* config/pa/t-pa-hpux10 (TARGET_LIBGCC2_CFLAGS): Add -frandom-seed.
* config/pa/t-pa-hpux11 (TARGET_LIBGCC2_CFLAGS): Ditto.

From-SVN: r148979

15 years agore PR bootstrap/40338 (bootstrap comparision fails on 32 bit PA when comparing libgcc...
Steve Ellcey [Fri, 26 Jun 2009 17:28:40 +0000 (17:28 +0000)]
re PR bootstrap/40338 (bootstrap comparision fails on 32 bit PA when comparing libgcc objects)

2009-06-26  Steve Ellcey  <sje@cup.hp.com>

PR bootstrap/40338
* configure.ac (comparestring): Create new variable.
* Makefile.tpl (comparestring): Use to skip some comparisions.
* configure: Regenerate.
* Makefile.in: Regenerate.

From-SVN: r148978

15 years agochangelog for:
Doug Evans [Fri, 26 Jun 2009 17:12:35 +0000 (17:12 +0000)]
changelog for:

* Makefile.def (host_modules): Add cgen.
* Makefile.in: Regenerate.
* configure.ac (host_tools): Add cgen.
* configure: Regenerate.

From-SVN: r148977

15 years agoMakefile.def (host_modules): Add cgen.
Doug Evans [Fri, 26 Jun 2009 17:11:35 +0000 (17:11 +0000)]
Makefile.def (host_modules): Add cgen.

* Makefile.def (host_modules): Add cgen.
* Makefile.in: Regenerate.
* configure.ac (host_tools): Add cgen.
* configure: Regenerate.

From-SVN: r148976

15 years agotb-gcc.c (trace_callback): Use char* instead of void*.
Laurent GUERBY [Fri, 26 Jun 2009 17:06:52 +0000 (17:06 +0000)]
tb-gcc.c (trace_callback): Use char* instead of void*.

2009-06-26  Laurent GUERBY  <laurent@guerby.net>

* tb-gcc.c (trace_callback): Use char* instead of void*.
* gcc-interface/misc.c (enumerate_modes): Make loop compatible
with C++.
* gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
Change all uses.
* gcc-interface/utils.c (new, class, template): Rename to be
compatible with C++. Change all uses.
* gcc-interface/decl.c (new): Likewise.

From-SVN: r148975

15 years agomingw-tls.c (__mingwthr_key_dtor): Remove for none shared libgcc.
Kai Tietz [Fri, 26 Jun 2009 13:39:36 +0000 (13:39 +0000)]
mingw-tls.c (__mingwthr_key_dtor): Remove for none shared libgcc.

2009-06-26  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/mingw-tls.c (__mingwthr_key_dtor): Remove for none
        shared libgcc.
        (__mingwthr_remove_key_dtor): Likewise.

From-SVN: r148971

15 years agotree-ssa-structalias.c (do_ds_constraint): Simplify escape handling.
Richard Guenther [Fri, 26 Jun 2009 12:25:32 +0000 (12:25 +0000)]
tree-ssa-structalias.c (do_ds_constraint): Simplify escape handling.

2009-06-26  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (do_ds_constraint): Simplify escape
handling.

From-SVN: r148968

15 years agore PR testsuite/40532 (FAIL: gcc.dg/builtins-65.c (test for excess errors))
Uros Bizjak [Fri, 26 Jun 2009 09:02:04 +0000 (11:02 +0200)]
re PR testsuite/40532 (FAIL: gcc.dg/builtins-65.c (test for excess errors))

PR testsuite/40532
* gcc.dg/builtins-65.c: Require c99 runtime.

From-SVN: r148967

15 years agodecl.c (cannot_be_superflat_p): New predicate.
Eric Botcazou [Fri, 26 Jun 2009 08:54:26 +0000 (08:54 +0000)]
decl.c (cannot_be_superflat_p): New predicate.

* gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
(gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
of the upper bound of the index types.

From-SVN: r148966

15 years agoFix oversight
Eric Botcazou [Fri, 26 Jun 2009 08:41:59 +0000 (08:41 +0000)]
Fix oversight

From-SVN: r148965

15 years agodecl.c (gnat_to_gnu_entity): Factor out common predicate.
Eric Botcazou [Fri, 26 Jun 2009 08:38:38 +0000 (08:38 +0000)]
decl.c (gnat_to_gnu_entity): Factor out common predicate.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
out common predicate.  Use the maximum to compute the upper bound of
the index type only when it is not wider than sizetype.  Perform the
comparison in the index type for the generic expression.  Use real
precision to decide whether to generate special types for debugging
information.

From-SVN: r148964

15 years ago[multiple changes]
Arnaud Charlet [Fri, 26 Jun 2009 08:33:56 +0000 (10:33 +0200)]
[multiple changes]

2009-06-26  Matthew Gingell  <gingell@adacore.com>

* adaint.c: Do not use the dummy version of convert_addresses on LynxOS

2009-06-26  Vincent Celier  <celier@adacore.com>

* prj.ads (No_Language_Config): Value of Dependency_Kind is None by
default.

2009-06-26  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting

From-SVN: r148963

15 years agodecl.c (gnat_to_gnu_entity): Pass correct arguments to create_field_decl.
Eric Botcazou [Fri, 26 Jun 2009 08:05:31 +0000 (08:05 +0000)]
decl.c (gnat_to_gnu_entity): Pass correct arguments to create_field_decl.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
correct arguments to create_field_decl.  Remove redundant iteration.
Rewrite computation of the maximum size.
<E_Array_Subtype>: Reorder and simplify handling of special cases.
Rewrite computation of the maximum size.  Use consistent naming.
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
comparison order for consistency.  Use generic integer node to
build the operator and fold the result.

From-SVN: r148962

15 years agore PR middle-end/40525 (if conversion (in dead_or_predicable) fails for targets with...
Steven Bosscher [Fri, 26 Jun 2009 06:06:04 +0000 (06:06 +0000)]
re PR middle-end/40525 (if conversion (in dead_or_predicable) fails for targets with limited conditional execution support)

PR middle-end/40525
* ifcvt.c (dead_or_predicable): If predicating MERGE_BB fails,
try the non-cond_exec path also.

From-SVN: r148961

15 years agore PR target/40468 (FAIL: gcc.c-torture/execute/20061031-1.c execution, -Os)
John David Anglin [Fri, 26 Jun 2009 00:40:55 +0000 (00:40 +0000)]
re PR target/40468 (FAIL: gcc.c-torture/execute/20061031-1.c execution,  -Os)

PR target/40468
* pa.c (branch_to_delay_slot_p, branch_needs_nop_p): New functions.
(output_cbranch): Use new functions.
(output_lbranch, output_bb, output_bvb, output_dbra, output_movb):
Likewise.

From-SVN: r148959

15 years agoDaily bump.
GCC Administrator [Fri, 26 Jun 2009 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r148958