gccadmin [Fri, 3 Jul 2009 00:16:38 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149204
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 2 Jul 2009 22:56:21 +0000 (22:56 +0000)]
* tree-ssa-dce.c (bb_contains_live_stmts): New bitmap.
(mark_stmt_necessary): Set it.
(mark_operand_necessary): Set it.
(mark_control_dependent_edges_necessary): Set it.
(mark_virtual_phi_result_for_renaming): New function.
(get_live_post_dom): New function.
(forward_edge_to_pdom): New function.
(remove_dead_stmt): Fix handling of control dependences.
(tree_dce_init): Init new bitmap.
(tree_dce_done): Free it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149199
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 2 Jul 2009 20:55:23 +0000 (20:55 +0000)]
libgomp/
* testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
options when choosing a multilib.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149195
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Thu, 2 Jul 2009 17:52:37 +0000 (17:52 +0000)]
2009-07-02 Mark Mitchell <mark@codesourcery.com>
* typeck.c (cp_build_binary_op): Move warnings about use of NULL
in arithmetic earlier and allow comparisions of NULL with
pointers-to-members.
2009-07-02 Mark Mitchell <mark@codesourcery.com>
* g++.dg/warn/null4.C: Extend.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149190
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 2 Jul 2009 17:28:07 +0000 (17:28 +0000)]
Use hash tables for template specialization lookup.
* pt.c (struct spec_entry): New type.
(decl_specializations, type_specializations): New hash tables.
(register_specialization, retrieve_specialization): Use them.
(reregister_specialization, lookup_template_class): Use them.
(eq_specializations, hash_tmpl_and_args, hash_specialization): New.
(iterative_hash_template_arg): New.
(init_template_processing): New
(process_partial_specialization): Don't look to see if we already
have this partial specialization.
(maybe_process_partial_specialization): Handle reassigning
full specializations when we get an explicit specialization
of the partial instantiation.
(tsubst_friend_function): Adjust specialization reassignment code.
(instantiate_template): Only do one lookup.
(instantiate_decl): Don't do any lookup.
* cp-tree.h: Declare init_template_processing.
* decl.c (duplicate_decls): Pass args to reregister_specialization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149188
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 2 Jul 2009 16:10:25 +0000 (16:10 +0000)]
* tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149182
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 2 Jul 2009 15:50:26 +0000 (15:50 +0000)]
2009-07-02 Richard Guenther <rguenther@suse.de>
PR bootstrap/40617
* tree-ssa-structalias.c (new_var_info): Initialize
is_restrict_var.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149179
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Thu, 2 Jul 2009 15:31:28 +0000 (15:31 +0000)]
fortran/
PR fortran/32131
* trans-array.c (gfc_conv_descriptor_stride_get): Return
constant one for strides in the first dimension of ALLOCATABLE
arrays.
testsuite/
PR fortran/32131
* gfortran.dg/pr32921.f: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149178
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 2 Jul 2009 15:16:08 +0000 (15:16 +0000)]
* gcc.dg/tree-ssa/local-pure-const.c: New testcase.
* ipa-pure-const.c (check_op): Use PTA info to see if indirect_ref is
local.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149176
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Thu, 2 Jul 2009 11:23:23 +0000 (11:23 +0000)]
2009-07-02 Paolo Bonzini <bonzini@gnu.org>
* expmed.c (emit_cstore, emit_store_flag_1): Accept target_mode
instead of recomputing it. Adjust calls.
(emit_store_flag): Adjust recursive calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149171
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 2 Jul 2009 10:18:24 +0000 (10:18 +0000)]
2009-07-02 Richard Guenther <rguenther@suse.de>
* tree-ssa-live.c (remove_unused_locals): Do not remove
heap variables.
* tree-ssa-structalias.c (handle_lhs_call): Delay setting
of DECL_EXTERNAL for HEAP variables.
(compute_points_to_sets): Set DECL_EXTERNAL for escaped
HEAP variables. Do not adjust RESTRICT vars.
(find_what_var_points_to): Nobody cares if something
points to READONLY.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149170
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Thu, 2 Jul 2009 07:20:22 +0000 (07:20 +0000)]
remove sanitzation leakage
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149169
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Thu, 2 Jul 2009 04:50:20 +0000 (04:50 +0000)]
* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Move
pc_low and pc_high declarations to the top of the function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149167
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 2 Jul 2009 03:51:04 +0000 (03:51 +0000)]
* cp-tree.h (DECL_CLASS_TEMPLATE_P): Use DECL_IMPLICIT_TYPEDEF_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149166
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 2 Jul 2009 03:50:57 +0000 (03:50 +0000)]
* pt.c (register_specialization): Use duplicate_decls to merge
the argument with a previous specialization.
(check_explicit_specialization): Call register_specialization to
merge the TEMPLATE_DECL with a previous version.
(determine_specialization): Return the args even if fn is a template.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149165
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Thu, 2 Jul 2009 02:16:32 +0000 (02:16 +0000)]
* config/mep/mep.c (mep_handle_option): Leave IVC2 control
registers as fixed.
(mep_interrupt_saved_reg): Save appropriate IVC2 control
registers.
* config/mep/mep-ivc2.cpu: Add VOLATILE to insns that make
unspecified accesses to control registers.
* config/mep/intrinsics.md: Regenerate.
* config/mep/intrinsics.h: Regenerate.
* config/mep/mep-intrin.h: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149164
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Thu, 2 Jul 2009 01:18:42 +0000 (01:18 +0000)]
Tweak moxie prologue and epilogue code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149163
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 2 Jul 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149162
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 1 Jul 2009 23:21:17 +0000 (23:21 +0000)]
PR bootstrap/40347
* function.c (reposition_prologue_and_epilogue_notes): If epilogue
contained no insns, reposition note before last insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149158
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 1 Jul 2009 23:16:06 +0000 (23:16 +0000)]
PR debug/40431
* dwarf2out.c (def_cfa_1): Revert 2009-06-11 change for
DW_CFA_def_cfa_offset and DW_CFA_def_cfa.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149157
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Wed, 1 Jul 2009 22:34:26 +0000 (22:34 +0000)]
Fix PR 40558, undo part of June 25th patch
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149155
138bc75d-0d04-0410-961f-
82ee72b054a4
nemet [Wed, 1 Jul 2009 21:34:58 +0000 (21:34 +0000)]
* combine.c (force_to_mode): Handle TRUNCATE. Factor out
truncation from operands in binary operations.
testsuite/
* gcc.target/mips/truncate-4.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149154
138bc75d-0d04-0410-961f-
82ee72b054a4
nemet [Wed, 1 Jul 2009 21:22:28 +0000 (21:22 +0000)]
Revert:
2009-01-11 Adam Nemet <anemet@caviumnetworks.com>
* expmed.c (store_bit_field_1): Properly truncate the paradoxical
subreg of op0 to the original op0.
* expmed.c (store_bit_field_1): Use a temporary as the destination
instead of a paradoxical subreg when we need to truncate the result.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149153
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 1 Jul 2009 20:20:25 +0000 (20:20 +0000)]
Fix nits
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149152
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Wed, 1 Jul 2009 20:07:41 +0000 (20:07 +0000)]
* config/mep/mep-ivc2.cpu (cmov, cmovc, cmovh): Add intrinsic names to VLIW variants.
(ivc2rm, ivc2crn): Make data type consistent with non-VLIW variants.
* config/mep/intrinsics.md: Regenerate.
* config/mep/intrinsics.h: Regenerate.
* config/mep/mep-intrin.h: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149151
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 1 Jul 2009 19:25:52 +0000 (19:25 +0000)]
PR debug/40462
* jump.c (returnjump_p): Revert last patch.
* dwarf2out.c (dwarf2out_begin_epilogue): Handle SEQUENCEs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149150
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 1 Jul 2009 19:15:33 +0000 (19:15 +0000)]
libffi/
* testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
to "" before adding paths. (This reinstates an assignment that
was removed by my 2009-06-30 commit, but changes the initial
value from "." to "".)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149149
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 1 Jul 2009 19:13:03 +0000 (19:13 +0000)]
* gnu/javax/swing/text/html/parser/HTML_401F.java (defineElements):
Split this huge method into...
(defineElements1, defineElements2, defineElements3, defineElements4,
defineElements5, defineElements6): ... these smaller methods.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149148
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 1 Jul 2009 18:46:09 +0000 (18:46 +0000)]
* g++spec.c (lang_specific_driver): Bump num_args by 1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149147
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Wed, 1 Jul 2009 18:10:45 +0000 (18:10 +0000)]
PR ada/40609
init.c (__gnat_error_handler): Add ATTRIBUTE_UNUSED to ucontext
argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149146
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 1 Jul 2009 17:07:31 +0000 (17:07 +0000)]
2009-07-01 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/40601
* testsuite/lib/libffi-dg.exp (libffi-init): Properly set
gccdir. Adjust ld_library_path for gcc only if gccdir isn't
empty.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149145
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Wed, 1 Jul 2009 16:53:26 +0000 (16:53 +0000)]
PR target/40575
* pa.md (casesi32p): Use jump table label to determine the offset
of the jump table.
(casesi64p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149144
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Wed, 1 Jul 2009 15:47:33 +0000 (15:47 +0000)]
* pa.c (forward_branch_p): Return bool type. Use instruction addresses
when available. Assert that INSN has a jump label.
(pa_adjust_insn_length): Don't call forward_branch_p if INSN doesn't
have a jump label.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149141
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 1 Jul 2009 12:27:33 +0000 (12:27 +0000)]
2009-07-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/19831
* tree-ssa-dce.c (propagate_necessity): Calls to functions
that only act as barriers do not make any previous stores
necessary.
* tree-ssa-structalias.c (handle_lhs_call): Delay making
HEAP variables global, do not add a constraint from nonlocal.
(find_func_aliases): Handle escapes through return statements.
(compute_points_to_sets): Make escaped HEAP variables global.
* gcc.dg/tree-ssa/
20041122-1.c: Enable TBAA, scan FRE dump,
make allocated memory escape. Un-XFAIL.
* gcc.dg/vect/pr21591.c: Make allocated memory escape.
* gcc.dg/vect/pr31699.c: Likewise.
* gcc.dg/tree-ssa/ssa-dce-7.c: New testcase.
libmudflap/
* testsuite/libmudflap.c/fail11-frag.c: Make allocated memory
escape.
* testsuite/libmudflap.c/fail12-frag.c: Likewise.
* testsuite/libmudflap.c/fail16-frag.c: Likewise.
* testsuite/libmudflap.c/fail31-frag.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149140
138bc75d-0d04-0410-961f-
82ee72b054a4
grosser [Wed, 1 Jul 2009 12:13:57 +0000 (12:13 +0000)]
2009-07-01 Tobias Grosser <grosser@fim.uni-passau.de>
* MAINTAINERS: Move myself to the Graphite Reviewers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149138
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Wed, 1 Jul 2009 12:05:56 +0000 (12:05 +0000)]
2009-07-01 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/40597
* expmed.c (emit_store_flag): Perform a conversion if necessary,
after reducing a DImode cstore to SImode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149137
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Wed, 1 Jul 2009 11:50:12 +0000 (11:50 +0000)]
2009-07-01 Paolo Bonzini <bonzini@gnu.org>
* expr.c (expand_expr_real_1): Reinstate fallthrough to
TRUTH_ANDIF_EXPR if do_store_flag returns NULL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149136
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 1 Jul 2009 09:08:27 +0000 (09:08 +0000)]
* init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149135
138bc75d-0d04-0410-961f-
82ee72b054a4
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