GCC Administrator [Wed, 1 Jul 2009 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149126
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
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
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
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
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
Anthony Green [Tue, 30 Jun 2009 18:59:41 +0000 (18:59 +0000)]
Enable building with g++.
From-SVN: r149114
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
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
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
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
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
Jan Hubicka [Tue, 30 Jun 2009 14:57:54 +0000 (14:57 +0000)]
Revert accidental commit.
From-SVN: r149102
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
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
H.J. Lu [Tue, 30 Jun 2009 13:58:43 +0000 (06:58 -0700)]
Remove testsuite in filenames.
From-SVN: r149098
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
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
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
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
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
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
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
Eric Botcazou [Tue, 30 Jun 2009 09:52:48 +0000 (09:52 +0000)]
Fix typo
From-SVN: r149085
Eric Botcazou [Tue, 30 Jun 2009 09:50:52 +0000 (09:50 +0000)]
* raise-gcc: Include dwarf2.h conditionally.
From-SVN: r149084
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 30 Jun 2009 00:16:37 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149073
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Mon, 29 Jun 2009 00:16:53 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149043
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
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
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
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
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
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
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
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
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
GCC Administrator [Sun, 28 Jun 2009 00:16:36 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149022
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
Eric Botcazou [Sat, 27 Jun 2009 19:44:23 +0000 (19:44 +0000)]
* tb-gcc.c: Fix copyright notice.
From-SVN: r149017
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
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
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
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
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
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
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
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
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
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
Eric Botcazou [Sat, 27 Jun 2009 10:02:58 +0000 (10:02 +0000)]
Fix nits
From-SVN: r149004
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
GCC Administrator [Sat, 27 Jun 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r148999
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Eric Botcazou [Fri, 26 Jun 2009 08:41:59 +0000 (08:41 +0000)]
Fix oversight
From-SVN: r148965
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
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
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
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
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
GCC Administrator [Fri, 26 Jun 2009 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r148958