macro [Wed, 1 Jul 2009 01:23:54 +0000 (01:23 +0000)]
* config/vax/vax.h (TARGET_BSD_DIVMOD): New macro. Set to 1.
* config/vax/linux.h (TARGET_BSD_DIVMOD): New macro. Redefine the
to 0.
* config/vax/vax.c (vax_init_libfuncs): Only redefine udiv_optab
and umod_optab if TARGET_BSD_DIVMOD.
* config/vax/lib1funcs.asm: New file.
* config/vax/t-linux: New file.
* config.gcc (vax-*-linux*): Set tmake_file to vax/t-linux.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149128
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 1 Jul 2009 00:16:57 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149126
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 30 Jun 2009 22:04:36 +0000 (22:04 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149121
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 30 Jun 2009 22:03:27 +0000 (22:03 +0000)]
PR debug/40573
* dwarf2out.c (gen_formal_parameter_die): Call
equate_decl_number_to_die if node is different from origin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149120
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Tue, 30 Jun 2009 21:10:14 +0000 (21:10 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149119
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 30 Jun 2009 19:36:36 +0000 (19:36 +0000)]
PR c++/40595
* pt.c (tsubst_pack_expansion): Handle unexpanded packs in an
EXPR_PACK_EXPANSION.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149117
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 30 Jun 2009 19:20:24 +0000 (19:20 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149115
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Tue, 30 Jun 2009 18:59:41 +0000 (18:59 +0000)]
Enable building with g++.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149114
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 30 Jun 2009 18:37:57 +0000 (18:37 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149113
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 30 Jun 2009 17:26:32 +0000 (17:26 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149112
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Tue, 30 Jun 2009 17:10:06 +0000 (17:10 +0000)]
2009-06-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/40576
* gfortran.dg/internal_write_1.f90: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149109
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Tue, 30 Jun 2009 17:06:27 +0000 (17:06 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149108
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 30 Jun 2009 15:23:39 +0000 (15:23 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149103
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 30 Jun 2009 14:57:54 +0000 (14:57 +0000)]
Revert accidental commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149102
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 30 Jun 2009 14:56:37 +0000 (14:56 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149101
138bc75d-0d04-0410-961f-
82ee72b054a4
bstarynk [Tue, 30 Jun 2009 14:36:55 +0000 (14:36 +0000)]
2009-06-30 Basile Starynkevitch <basile@starynkevitch.net>
* gcc/Makefile.in (PLUGIN_HEADERS): added ggc, tree-dump, pretty-print.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149100
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 30 Jun 2009 13:58:43 +0000 (13:58 +0000)]
Remove testsuite in filenames.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149098
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 30 Jun 2009 12:09:57 +0000 (12:09 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149094
138bc75d-0d04-0410-961f-
82ee72b054a4
carrot [Tue, 30 Jun 2009 12:01:40 +0000 (12:01 +0000)]
* gcc.dg/tree-ssa/ssa-sink-5.c: Change the compiler option "-O2 -Os"
to "-Os".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149093
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Tue, 30 Jun 2009 11:33:27 +0000 (11:33 +0000)]
PR tree-optimization/40542
* tree-vect-stmts.c (vect_analyze_stmt): Don't vectorize volatile
types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149090
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 30 Jun 2009 10:45:54 +0000 (10:45 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149089
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Tue, 30 Jun 2009 10:10:29 +0000 (10:10 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149088
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Tue, 30 Jun 2009 10:03:26 +0000 (10:03 +0000)]
2009-06-30 Martin Jambor <mjambor@suse.cz>
PR middle-end/40554
* tree-sra.c (sra_modify_expr): Add access->offset to start_offset.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149087
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 30 Jun 2009 09:55:34 +0000 (09:55 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149086
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 30 Jun 2009 09:52:48 +0000 (09:52 +0000)]
Fix typo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149085
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 30 Jun 2009 09:50:52 +0000 (09:50 +0000)]
* raise-gcc: Include dwarf2.h conditionally.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149084
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Tue, 30 Jun 2009 07:59:01 +0000 (07:59 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149083
138bc75d-0d04-0410-961f-
82ee72b054a4
carrot [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.
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149082
138bc75d-0d04-0410-961f-
82ee72b054a4
carrot [Tue, 30 Jun 2009 03:42:16 +0000 (03:42 +0000)]
* MAINTAINERS: Add my name to Write After Approval list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149080
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Tue, 30 Jun 2009 01:36:27 +0000 (01:36 +0000)]
* doc/install.texi (mep-x-elf): Correct chip's full name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149079
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149078
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 30 Jun 2009 00:48:50 +0000 (00:48 +0000)]
2009-06-29 H.J. Lu <hongjiu.lu@intel.com>
* doc/extend.texi: Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149076
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Tue, 30 Jun 2009 00:46:35 +0000 (00:46 +0000)]
2009-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/40576
* io/transfer.c (sset): Adjust exit condition for loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149075
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 30 Jun 2009 00:43:21 +0000 (00:43 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149074
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 30 Jun 2009 00:16:37 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149073
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Tue, 30 Jun 2009 00:02:10 +0000 (00:02 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149070
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Mon, 29 Jun 2009 23:24:39 +0000 (23:24 +0000)]
* config/mep/mep.h (CPP_SPEC): Remove __cop macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149069
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Mon, 29 Jun 2009 23:21:49 +0000 (23:21 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149068
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 29 Jun 2009 23:18:46 +0000 (23:18 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149067
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 29 Jun 2009 23:15:43 +0000 (23:15 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149066
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Mon, 29 Jun 2009 22:51:04 +0000 (22:51 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149065
138bc75d-0d04-0410-961f-
82ee72b054a4
espindola [Mon, 29 Jun 2009 21:17:40 +0000 (21:17 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149064
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Mon, 29 Jun 2009 21:02:17 +0000 (21:02 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149063
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Mon, 29 Jun 2009 20:38:59 +0000 (20:38 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149062
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 29 Jun 2009 18:02:41 +0000 (18:02 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149060
138bc75d-0d04-0410-961f-
82ee72b054a4
aph [Mon, 29 Jun 2009 17:50:59 +0000 (17:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149059
138bc75d-0d04-0410-961f-
82ee72b054a4
drow [Mon, 29 Jun 2009 16:55:56 +0000 (16:55 +0000)]
* config/arm/arm.h (REGISTER_MOVE_COST): Increase VFP register
move cost.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149057
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 29 Jun 2009 16:40:07 +0000 (16:40 +0000)]
* doc/extend.texi (Additional Floating Types): __float128 is also
supported on i386 targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149054
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 29 Jun 2009 12:23:21 +0000 (12:23 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149048
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 29 Jun 2009 12:20:39 +0000 (12:20 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149047
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 29 Jun 2009 11:57:15 +0000 (11:57 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149046
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 29 Jun 2009 00:16:53 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149043
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 28 Jun 2009 18:33:54 +0000 (18:33 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149038
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 28 Jun 2009 18:17:47 +0000 (18:17 +0000)]
* fold-const.c (contains_label_1): Fix comments.
(contains_label_p): Do not walk trees multiple time.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149037
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sun, 28 Jun 2009 17:56:41 +0000 (17:56 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149036
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sun, 28 Jun 2009 17:06:11 +0000 (17:06 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149035
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sun, 28 Jun 2009 17:04:13 +0000 (17:04 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149034
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sun, 28 Jun 2009 17:03:03 +0000 (17:03 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149033
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sun, 28 Jun 2009 17:01:16 +0000 (17:01 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149032
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sun, 28 Jun 2009 16:53:18 +0000 (16:53 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149031
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Sun, 28 Jun 2009 06:06:28 +0000 (06:06 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149023
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 28 Jun 2009 00:16:36 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149022
138bc75d-0d04-0410-961f-
82ee72b054a4
guerby [Sat, 27 Jun 2009 20:48:40 +0000 (20:48 +0000)]
2009-06-27 Laurent GUERBY <laurent@guerby.net>
* tb-gcc.c (trace_callback): Add casts to silence warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149018
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 27 Jun 2009 19:44:23 +0000 (19:44 +0000)]
* tb-gcc.c: Fix copyright notice.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149017
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Sat, 27 Jun 2009 16:43:28 +0000 (16:43 +0000)]
2009-06-27 H.J. Lu <hongjiu.lu@intel.com>
PR target/40489
* config/ia64/ia64.c (ia64_reorg): Check NULL insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149014
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sat, 27 Jun 2009 15:52:26 +0000 (15:52 +0000)]
2009-06-27 Paolo Bonzini <bonzini@gnu.org>
* tree-ssa-alias.c: Fix unintentional commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149013
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sat, 27 Jun 2009 15:46:03 +0000 (15:46 +0000)]
2009-06-27 Paolo Bonzini <bonzini@gnu.org>
* passes.c (execute_one_pass): Fix unintentional commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149012
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sat, 27 Jun 2009 14:50:00 +0000 (14:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149011
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sat, 27 Jun 2009 14:48:34 +0000 (14:48 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149010
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sat, 27 Jun 2009 14:46:56 +0000 (14:46 +0000)]
2009-06-27 Paolo Bonzini <bonzini@gnu.org>
* bitmap.h (bitmap_ior_and_into): New.
* bitmap.c (bitmap_ior_and_into): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149009
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sat, 27 Jun 2009 14:45:51 +0000 (14:45 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149008
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 27 Jun 2009 14:44:17 +0000 (14:44 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149007
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sat, 27 Jun 2009 14:40:29 +0000 (14:40 +0000)]
2009-06-27 Paolo Bonzini <bonzini@gnu.org>
PR testsuite/40567
* gcc.dg/vect/vect.exp: Fix lappend syntax.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149006
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Sat, 27 Jun 2009 11:15:04 +0000 (11:15 +0000)]
* arm.md (casesi): Fix test for Thumb1.
(thumb1_casesi_internal_pic): Likewise.
(thumb1_casesi_dispatch): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149005
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 27 Jun 2009 10:02:58 +0000 (10:02 +0000)]
Fix nits
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149004
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sat, 27 Jun 2009 01:13:11 +0000 (01:13 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149002
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 27 Jun 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148999
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Fri, 26 Jun 2009 22:11:15 +0000 (22:11 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148996
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Fri, 26 Jun 2009 21:46:40 +0000 (21:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148987
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Fri, 26 Jun 2009 20:36:05 +0000 (20:36 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148986
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 26 Jun 2009 19:05:22 +0000 (19:05 +0000)]
2009-06-26 H.J. Lu <hongjiu.lu@intel.com>
* c-decl.c (merge_decls): Re-indent.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148984
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 26 Jun 2009 18:52:29 +0000 (18:52 +0000)]
2009-06-26 H.J. Lu <hongjiu.lu@intel.com>
* decl.c (duplicate_decls): Re-indent.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148983
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Fri, 26 Jun 2009 18:27:30 +0000 (18:27 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148982
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 26 Jun 2009 18:23:32 +0000 (18:23 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148981
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [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. 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148980
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Fri, 26 Jun 2009 17:30:55 +0000 (17:30 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148979
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Fri, 26 Jun 2009 17:28:40 +0000 (17:28 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148978
138bc75d-0d04-0410-961f-
82ee72b054a4
devans [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148977
138bc75d-0d04-0410-961f-
82ee72b054a4
devans [Fri, 26 Jun 2009 17:11:35 +0000 (17:11 +0000)]
* Makefile.def (host_modules): Add cgen.
* Makefile.in: Regenerate.
* configure.ac (host_tools): Add cgen.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148976
138bc75d-0d04-0410-961f-
82ee72b054a4
guerby [Fri, 26 Jun 2009 17:06:52 +0000 (17:06 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148975
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Fri, 26 Jun 2009 13:39:36 +0000 (13:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148971
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 26 Jun 2009 12:25:32 +0000 (12:25 +0000)]
2009-06-26 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (do_ds_constraint): Simplify escape
handling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148968
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 26 Jun 2009 09:02:04 +0000 (09:02 +0000)]
PR testsuite/40532
* gcc.dg/builtins-65.c: Require c99 runtime.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148967
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 26 Jun 2009 08:54:26 +0000 (08:54 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148966
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 26 Jun 2009 08:41:59 +0000 (08:41 +0000)]
Fix oversight
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148965
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 26 Jun 2009 08:38:38 +0000 (08:38 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148964
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Fri, 26 Jun 2009 08:33:56 +0000 (08:33 +0000)]
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148963
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 26 Jun 2009 08:05:31 +0000 (08:05 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148962
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Fri, 26 Jun 2009 06:06:04 +0000 (06:06 +0000)]
PR middle-end/40525
* ifcvt.c (dead_or_predicable): If predicating MERGE_BB fails,
try the non-cond_exec path also.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148961
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Fri, 26 Jun 2009 00:40:55 +0000 (00:40 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148959
138bc75d-0d04-0410-961f-
82ee72b054a4