Richard Guenther [Mon, 29 Jun 2009 12:23:21 +0000 (12:23 +0000)]
re PR middle-end/14187 ([tree-ssa] C restricted pointers are not properly implemented)
2009-06-29 Richard Guenther <rguenther@suse.de>
PR middle-end/14187
* tree-ssa-alias.h (struct pt_solution): Add vars_contains_restrict
flag.
(pt_solutions_same_restrict_base): Declare.
* tree-ssa-structalias.c (struct variable_info): Add is_restrict_var
flag.
(new_var_info): Initialize is_global_var properly for SSA_NAMEs.
(make_constraint_from, make_copy_constraint): Move earlier.
(make_constraint_from_heapvar): New function.
(make_constraint_from_restrict): Likewise.
(handle_lhs_call): Use it.
(find_func_aliases): Use it to track conversions to restrict
qualified pointers.
(struct fieldoff): Add only_restrict_pointers flag.
(push_fields_onto_fieldstack): Initialize it.
(create_variable_info_for): Track global restrict qualified pointers.
(intra_create_variable_infos): Use make_constraint_from_heapvar.
Track restrict qualified pointer arguments.
(set_uids_in_ptset): Use varinfo is_global_var flag.
(find_what_var_points_to): Set the vars_contains_restrict flag.
Always create the points-to solution for sets including restrict tags.
(pt_solutions_same_restrict_base): New function.
* tree-ssa-alias.c (ptr_derefs_may_alias_p): For two restrict
qualified pointers use pt_solutions_same_restrict_base as
additional source for disambiguation.
* gcc.dg/tree-ssa/restrict-1.c: New testcase.
* gcc.dg/tree-ssa/restrict-2.c: Likewise.
* gcc.dg/tree-ssa/restrict-3.c: Likewise.
* gcc.c-torture/execute/
20090623-1.c: Likewise.
* gcc.dg/tree-ssa/ldist-13.c: Likewise.
* gcc.dg/tree-ssa/ldist-14.c: Likewise.
From-SVN: r149048
Richard Guenther [Mon, 29 Jun 2009 12:20:39 +0000 (12:20 +0000)]
re PR middle-end/38212 (restrict implementation causes wrong-code)
2009-06-29 Richard Guenther <rguenther@suse.de>
PR middle-end/38212
* alias.c (find_base_decl): Remove.
(get_deref_alias_set_1): Remove restrict handling.
* c-common.c (c_apply_type_quals_to_decl): Do not set
DECL_POINTER_ALIAS_SET.
* gimplify.c (find_single_pointer_decl_1): Remove.
(find_single_pointer_decl): Likewise.
(internal_get_tmp_var): Remove restrict handling.
(gimple_regimplify_operands): Likewise.
* omp-low.c (expand_omp_atomic_pipeline): Do not set
DECL_POINTER_ALIAS_SET. Use ref-all pointers.
* print-tree.c (print_node): Do not print DECL_POINTER_ALIAS_SET.
* tree.c (restrict_base_for_decl): Remove.
(init_ttree): Do not allocate it.
(make_node_stat): Do not set DECL_POINTER_ALIAS_SET. Set
LABEL_DECL_UID for label decls.
(copy_node_stat): Do not copy restrict information.
(decl_restrict_base_lookup): Remove.
(decl_restrict_base_insert): Likewise.
(print_restrict_base_statistics): Likewise.
(dump_tree_statistics): Do not call print_restrict_base_statistics.
* tree.h (DECL_POINTER_ALIAS_SET): Remove.
(DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
(struct tree_decl_common): Rename pointer_alias_set to label_decl_uid.
(LABEL_DECL_UID): Adjust.
(DECL_BASED_ON_RESTRICT_P): Remove.
(DECL_GET_RESTRICT_BASE): Likewise.
(SET_DECL_RESTRICT_BASE): Likewise.
(struct tree_decl_with_vis): Remove based_on_restrict_p flag.
* config/i386/i386.c (ix86_gimplify_va_arg): Use ref-all pointers
instead of DECL_POINTER_ALIAS_SET.
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise.
* config/s390/s390.c (s390_gimplify_va_arg): Likewise.
* config/spu/spu.c (spu_gimplify_va_arg_expr): Likewise.
* gcc.c-torture/execute/pr38212.c: New testcase.
From-SVN: r149047
Richard Guenther [Mon, 29 Jun 2009 11:57:15 +0000 (11:57 +0000)]
re PR tree-optimization/40579 (gcc -O2 optimization causes infinite loop and wrong output)
2009-06-29 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40579
* tree-vrp.c (vrp_evaluate_conditional): Bail out early if
the IL to simplify has constants that overflowed.
* gcc.c-torture/execute/pr40579.c: New testcase.
From-SVN: r149046
GCC Administrator [Mon, 29 Jun 2009 00:16:53 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149043
Uros Bizjak [Sun, 28 Jun 2009 18:33:54 +0000 (20:33 +0200)]
re PR tree-optimization/40550 (Segmentation fault caused by alignment error in sse code)
PR tree-optimization/40550
* tree-vect-generic.c (expand_vector_operations_1): Compute in
vector_compute_type only when the size of vector_compute_type is
less than the size of type.
testsuite/ChangeLog:
PR tree-optimization/40550
* gcc.dg/pr40550.c: New test.
From-SVN: r149038
Eric Botcazou [Sun, 28 Jun 2009 18:17:47 +0000 (18:17 +0000)]
fold-const.c (contains_label_1): Fix comments.
* fold-const.c (contains_label_1): Fix comments.
(contains_label_p): Do not walk trees multiple time.
From-SVN: r149037
Tobias Burnus [Sun, 28 Jun 2009 17:56:41 +0000 (19:56 +0200)]
re PR fortran/34112 (Add $!DEC ATTRIBUTE support for 32bit Windows' STDCALL)
2009-06-28 Tobias Burnus <burnus@net-b.de>
Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/34112
* symbol.c (gfc_add_ext_attribute): New function.
(gfc_get_sym_tree): New argument allow_subroutine.
(gfc_get_symbol,gfc_get_ha_sym_tree,gen_cptr_param,gen_fptr_param
gen_shape_param,generate_isocbinding_symbol): Use it.
* decl.c (find_special): New argument allow_subroutine.
(add_init_expr_to_sym,add_hidden_procptr_result,attr_decl1,
match_procedure_in_type,gfc_match_final_decl): Use it.
(gfc_match_gcc_attributes): New function.
* gfortran.texi (Mixed-Language Programming): New section
"GNU Fortran Compiler Directives".
* gfortran.h (ext_attr_t): New struct.
(symbol_attributes): Use it.
(gfc_add_ext_attribute): New prototype.
(gfc_get_sym_tree): Update pototype.
* expr.c (gfc_check_pointer_assign): Check whether call
convention is the same.
* module.c (import_iso_c_binding_module, create_int_parameter,
use_iso_fortran_env_module): Update gfc_get_sym_tree call.
* scanner.c (skip_gcc_attribute): New function.
(skip_free_comments,skip_fixed_comments): Use it.
(gfc_next_char_literal): Support !GCC$ lines.
* resolve.c (check_host_association): Update
gfc_get_sym_tree call.
* match.c (gfc_match_sym_tree,gfc_match_call): Update
gfc_get_sym_tree call.
* trans-decl.c (add_attributes_to_decl): New function.
(gfc_get_symbol_decl,get_proc_pointer_decl,
gfc_get_extern_function_decl,build_function_decl: Use it.
* match.h (gfc_match_gcc_attributes): Add prototype.
* parse.c (decode_gcc_attribute): New function.
(next_free,next_fixed): Support !GCC$ lines.
* primary.c (match_actual_arg,check_for_implicit_index,
gfc_match_rvalue,gfc_match_rvalue): Update
gfc_get_sym_tree call.
2009-06-28 Tobias Burnus <burnus@net-b.de>
PR fortran/34112
* gfortran.dg/compiler-directive_1.f90: New test.
* gfortran.dg/compiler-directive_2.f: New test.
Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
From-SVN: r149036
Paolo Bonzini [Sun, 28 Jun 2009 17:06:11 +0000 (17:06 +0000)]
i386.h (enum ix86_fpcmp_strategy): New.
2009-06-28 Paolo Bonzini <bonzini@gnu.org>
* config/i386/i386.h (enum ix86_fpcmp_strategy): New.
* config/i386/i386.md (cbranchxf4, cstorexf4, cbranch<MODEF>4,
cstore<MODEF>4, mov<X87MODEF>cc): Change predicate to
ix86_fp_comparison_operator.
(*fp_jcc_1_mixed, *fp_jcc_1_sse, *fp_jcc_1_387, *fp_jcc_2_mixed,
*fp_jcc_2_sse, *fp_jcc_2_387): Delete
(*fp_jcc_3_387, *fp_jcc_4_387, *fp_jcc_5_387, *fp_jcc_6_387,
*fp_jcc_7_387, *fp_jcc_8<MODEF>_387): Eliminate call to
!ix86_use_fcomi_compare, change ix86_fp_jump_nontrivial_p call
to !TARGET_CMOVE, change predicate to ix86_fp_comparison_operator.
(related splits): Change predicate to ix86_fp_comparison_operator.
* config/i386/predicates.md: Use ix86_trivial_fp_comparison_operator
instead of ix86_fp_comparison_codes.
(ix86_trivial_fp_comparison_operator,
ix86_fp_comparison_operator): New.
* config/i386/i386-protos.h (ix86_fp_comparison_strategy): New.
(ix86_expand_compare): Eliminate last two parameters.
(ix86_fp_jump_nontrivial_p): Kill.
* config/i386/i386.c (put_condition_code): Eliminate call to
ix86_fp_comparison_codes and subsequent assertion.
(ix86_fp_comparison_codes): Eliminate.
(ix86_fp_swap_condition): New.
(ix86_fp_comparison_arithmetics_cost, ix86_fp_comparison_fcomi_cost,
ix86_fp_comparison_sahf_cost, ix86_use_fcomi_compare): Consolidate
into ix86_fp_comparison_cost and ix86_fp_comparison_strategy.
(ix86_prepare_fp_compare_args): Use ix86_fp_comparison_strategy
and ix86_fp_swap_condition.
(ix86_expand_fp_compare): Eliminate code for second jump/bypass jump.
Use ix86_fp_comparison_strategy.
(ix86_expand_compare): Likewise. Eliminate last two arguments.
(ix86_fp_jump_nontrivial_p): Eliminate.
(ix86_expand_branch): Treat SFmode/DFmode/XFmode as simple. Adjust
call to ix86_expand_compare.
(ix86_split_fp_branch, ix86_expand_setcc,
ix86_expand_carry_flag_compare, ix86_expand_int_movcc,
ix86_expand_fp_movcc): Eliminate code for second jump/bypass jump.
From-SVN: r149035
Paolo Bonzini [Sun, 28 Jun 2009 17:04:13 +0000 (17:04 +0000)]
arm.c (arm_final_prescan_ins): Eliminate code related to jump_clobbers.
2009-06-28 Paolo Bonzini <bonzini@gnu.org>
* config/arm/arm.c (arm_final_prescan_ins): Eliminate code
related to jump_clobbers.
* config/arm/arm.md (conds): Remove jump_clob case.
(addsi3_cbranch, addsi3_cbranch_scratch, subsi3_cbranch, two
splits): Change comparison_operator to arm_comparison_operator.
(*arm_buneq, *arm_bltgt, *arm_buneq_reversed, *arm_bltgt_reversed):
Eliminate.
From-SVN: r149034
Paolo Bonzini [Sun, 28 Jun 2009 17:03:03 +0000 (17:03 +0000)]
dojump.c (do_compare_rtx_and_jump): Try swapping the condition for floating point modes.
2009-06-28 Paolo Bonzini <bonzini@gnu.org>
* dojump.c (do_compare_rtx_and_jump): Try swapping the
condition for floating point modes.
* expmed.c (emit_store_flag_1): Move here a bigger part
of emit_store_flag.
(emit_store_flag): Try swapping the condition for floating point
modes.
* optabs.c (emit_cmp_and_jump_insns): Cope with constant op0 better.
From-SVN: r149033
Paolo Bonzini [Sun, 28 Jun 2009 17:01:16 +0000 (17:01 +0000)]
expr.c (expand_expr_real_1): Just use do_store_flag.
2009-06-28 Paolo Bonzini <bonzini@gnu.org>
* expr.c (expand_expr_real_1): Just use do_store_flag.
(do_store_flag): Drop support for TRUTH_NOT_EXPR. Use
emit_store_flag_force.
* expmed.c (emit_store_flag_force): Copy here trick
previously in expand_expr_real_1. Try reversing the comparison.
(emit_store_flag_1): Work if target is NULL.
(emit_store_flag): Work if target is NULL, using the result mode
from the comparison. Use split_comparison, restructure final part
to simplify conditionals.
From-SVN: r149032
Paolo Bonzini [Sun, 28 Jun 2009 16:53:18 +0000 (16:53 +0000)]
builtins.c (expand_errno_check): Use do_compare_rtx_and_jump.
2009-06-28 Paolo Bonzini <bonzini@gnu.org>
* builtins.c (expand_errno_check): Use do_compare_rtx_and_jump.
* dojump.c (do_jump): Change handling of floating-point
ops to use just do_compare_and_jump.
(split_comparison): New.
(do_compare_rtx_and_jump): Add here logic coming previously
in do_jump, using split_comparison.
From-SVN: r149031
Kaveh R. Ghazi [Sun, 28 Jun 2009 06:06:28 +0000 (06:06 +0000)]
gfortran.h: Define HAVE_mpc_pow.
gcc/fortran:
* gfortran.h: Define HAVE_mpc_pow.
* arith.c (complex_reciprocal, complex_pow): If HAVE_mpc_pow,
don't define these functions.
(arith_power): If HAVE_mpc_pow, use mpc_pow.
gcc/testsuite:
* gfortran.dg/integer_exponentiation_4.f90: Temporarily
comment out some values and add some cases.
From-SVN: r149023
GCC Administrator [Sun, 28 Jun 2009 00:16:36 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149022
Laurent GUERBY [Sat, 27 Jun 2009 20:48:40 +0000 (20:48 +0000)]
tb-gcc.c (trace_callback): Add casts to silence warning.
2009-06-27 Laurent GUERBY <laurent@guerby.net>
* tb-gcc.c (trace_callback): Add casts to silence warning.
From-SVN: r149018
Eric Botcazou [Sat, 27 Jun 2009 19:44:23 +0000 (19:44 +0000)]
* tb-gcc.c: Fix copyright notice.
From-SVN: r149017
H.J. Lu [Sat, 27 Jun 2009 16:43:28 +0000 (09:43 -0700)]
re PR target/40489 (gcc.dg/builtin-unreachable-3.c doesn't work on ia64)
2009-06-27 H.J. Lu <hongjiu.lu@intel.com>
PR target/40489
* config/ia64/ia64.c (ia64_reorg): Check NULL insn.
From-SVN: r149014
Paolo Bonzini [Sat, 27 Jun 2009 15:52:26 +0000 (15:52 +0000)]
tree-ssa-alias.c: Fix unintentional commit.
2009-06-27 Paolo Bonzini <bonzini@gnu.org>
* tree-ssa-alias.c: Fix unintentional commit.
From-SVN: r149013
Paolo Bonzini [Sat, 27 Jun 2009 15:46:03 +0000 (15:46 +0000)]
passes.c (execute_one_pass): Fix unintentional commit.
2009-06-27 Paolo Bonzini <bonzini@gnu.org>
* passes.c (execute_one_pass): Fix unintentional commit.
From-SVN: r149012
Paolo Bonzini [Sat, 27 Jun 2009 14:50:00 +0000 (14:50 +0000)]
df-problems.c (df_set_seen, [...]): Delete.
2009-06-27 Paolo Bonzini <bonzini@gnu.org>
* df-problems.c (df_set_seen, df_unset_seen): Delete.
(df_rd_local_compute, df_md_local_compute): Inline them.
(df_md_scratch): New.
(df_md_alloc, df_md_free): Allocate/free it.
(df_md_local_compute): Only include live registers in init.
(df_md_transfer_function): Prune the in-set computed by
the confluence function, and the gen-set too.
From-SVN: r149011
Paolo Bonzini [Sat, 27 Jun 2009 14:48:34 +0000 (14:48 +0000)]
re PR tree-optimization/26854 (Inordinate compile times on large routines)
2009-06-07 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/26854
* timevar.def: Remove TV_DF_RU, add TV_DF_MD.
* df-problems.c (df_rd_add_problem): Fix comment.
(df_md_set_bb_info, df_md_free_bb_info, df_md_alloc,
df_md_simulate_artificial_defs_at_top,
df_md_simulate_one_insn, df_md_bb_local_compute_process_def,
df_md_bb_local_compute, df_md_local_compute, df_md_reset,
df_md_transfer_function, df_md_init, df_md_confluence_0,
df_md_confluence_n, df_md_free, df_md_top_dump, df_md_bottom_dump,
problem_MD, df_md_add_problem): New.
* df.h (DF_MD, DF_MD_BB_INFO, struct df_md_bb_info, df_md,
df_md_get_bb_info): New.
DF_LAST_PROBLEM_PLUS1): Adjust.
* Makefile.in (fwprop.o): Include domwalk.h.
* fwprop.c: Include domwalk.h.
(reg_defs, reg_defs_stack): New.
(bitmap_only_bit_between): Remove.
(process_defs): New.
(process_uses): Use reg_defs and local_md instead of
bitmap_only_bit_between and local_rd.
(single_def_use_enter_block): New, from build_single_def_use_links.
(single_def_use_leave_block): New.
(build_single_def_use_links): Remove code moved to
single_def_use_enter_block, invoke domwalk.
(use_killed_between): Adjust comment.
From-SVN: r149010
Paolo Bonzini [Sat, 27 Jun 2009 14:46:56 +0000 (14:46 +0000)]
bitmap.h (bitmap_ior_and_into): New.
2009-06-27 Paolo Bonzini <bonzini@gnu.org>
* bitmap.h (bitmap_ior_and_into): New.
* bitmap.c (bitmap_ior_and_into): New.
From-SVN: r149009
Paolo Bonzini [Sat, 27 Jun 2009 14:45:51 +0000 (14:45 +0000)]
domwalk.h (struct dom_walk_data): Remove all callbacks except before_dom_children_before_stmts and...
2009-06-27 Paolo Bonzini <bonzini@gnu.org>
* domwalk.h (struct dom_walk_data): Remove all callbacks except
before_dom_children_before_stmts and after_dom_children_after_stmts.
Rename the two remaining callbacks to just before_dom_children and
after_dom_children. Remove other GIMPLE statement walking bits.
* domwalk.c (walk_dominator_tree): Remove now unsupported features.
* graphite.c: Do not include domwalk.h.
* tree-into-ssa.c (interesting_blocks): New global.
(struct mark_def_sites_global_data): Remove it and names_to_rename.
(mark_def_sites, rewrite_stmt, rewrite_add_phi_arguments,
rewrite_update_stmt, rewrite_update_phi_arguments): Simplify
now that they're not domwalk callbacks.
(rewrite_initialize_block): Rename to...
(rewrite_enter_block): ... this, place after called functions. Test
interesting_blocks, call rewrite_stmt and rewrite_add_phi_arguments.
(rewrite_finalize_block): Rename to...
(rewrite_leave_block): ... this, place after called functions.
(rewrite_update_init_block): Rename to...
(rewrite_update_enter_block): ... this, place after called functions.
Test interesting_blocks, call rewrite_update_stmt and
rewrite_update_phi_arguments.
(rewrite_update_fini_block): Rename to...
(rewrite_leave_block): ... this, place after called functions.
(rewrite_blocks): Remove last argument, simplify initialization of
walk_data.
(mark_def_sites_initialize_block): Rename to...
(mark_def_sites_block): ... this, call mark_def_sites.
(mark_def_sites_blocks): Remove argument, simplify initialization of
walk_data.
(rewrite_into_ssa): Adjust for interesting_blocks_being a global.
(update_ssa): Likewise.
* tree-ssa-dom.c (optimize_stmt): Simplify now that it's not a domwalk
callback.
(tree_ssa_dominator_optimize): Simplify initialization of walk_data.
(dom_opt_initialize_block): Rename to...
(dom_opt_enter_block): ... this, place after called functions. Walk
statements here, inline propagate_to_outgoing_edges.
(dom_opt_finalize_block): Rename to...
(dom_opt_leave_block): ... this, place after called functions.
* tree-ssa-dse.c (dse_optimize_stmt): Simplify now that it's not a
domwalk callback.
(dse_enter_block, dse_record_phi): New.
(dse_record_phis): Delete.
(dse_finalize_block): Rename to...
(dse_leave_block): ... this.
(tree_ssa_dse): Simplify initialization of walk_data.
* tree-ssa-loop-im.c (determine_invariantness, move_computations):
Adjust initialization of walk_data.
* tree-ssa-loop-unswitch.c: Do not include domwalk.h.
* tree-ssa-loop-phiopt.c (get_non_trapping):
Adjust initialization of walk_data.
* tree-ssa-loop-threadedge.c: Do not include domwalk.h.
* tree-ssa-uncprop.c (uncprop_into_successor_phis): Simplify now that
it's not a domwalk callback.
(uncprop_initialize_block): Rename to...
(dse_enter_block): ... this, call uncprop_into_successor_phis.
(dse_finalize_block): Rename to...
(dse_leave_block): ... this.
(tree_ssa_uncprop): Simplify initialization of walk_data.
* Makefile.in: Adjust dependencies.
From-SVN: r149008
Eric Botcazou [Sat, 27 Jun 2009 14:44:17 +0000 (14:44 +0000)]
init.c (__gnat_set_globals): Add prototype.
* init.c (__gnat_set_globals): Add prototype.
* adaint.c (__gnat_binder_supports_auto_init): Likewise.
(__gnat_sals_init_using_constructors): Likewise.
* gcc-interface/utils.c (gnat_pushlevel): Likewise.
(get_block_jmpbuf_decl): Likewise.
(gnat_poplevel): Likewise.
(merge_sizes): Rename local variable.
(copy_type): Likewise.
(build_vms_descriptor32): Likewise.
(build_vms_descriptor): Likewise.
(convert_vms_descriptor64): Likewise.
(convert_vms_descriptor32): Likewise.
(convert_to_fat_pointer): Likewise.
(maybe_unconstrained_array): Likewise.
(def_fn_type): Use promoted type with va_arg.
* gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
(substitute_in_type): Rename local variable.
* gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
From-SVN: r149007
Paolo Bonzini [Sat, 27 Jun 2009 14:40:29 +0000 (14:40 +0000)]
re PR testsuite/40567 (Revision 149002 caused many failures)
2009-06-27 Paolo Bonzini <bonzini@gnu.org>
PR testsuite/40567
* gcc.dg/vect/vect.exp: Fix lappend syntax.
From-SVN: r149006
Richard Earnshaw [Sat, 27 Jun 2009 11:15:04 +0000 (11:15 +0000)]
arm.md (casesi): Fix test for Thumb1.
* arm.md (casesi): Fix test for Thumb1.
(thumb1_casesi_internal_pic): Likewise.
(thumb1_casesi_dispatch): Likewise.
From-SVN: r149005
Eric Botcazou [Sat, 27 Jun 2009 10:02:58 +0000 (10:02 +0000)]
Fix nits
From-SVN: r149004
Richard Henderson [Sat, 27 Jun 2009 01:13:11 +0000 (18:13 -0700)]
re PR testsuite/40565 (Extra failures)
PR testsuite/40565
* gcc.dg/vect/vect.exp: Add -fno-ipa-cp-clone to -O3 tests.
* gcc.target/i386/local.c: Pass a non-constant to T.
From-SVN: r149002
GCC Administrator [Sat, 27 Jun 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r148999
Janus Weil [Fri, 26 Jun 2009 22:11:15 +0000 (00:11 +0200)]
re PR fortran/39997 (Procedure(), pointer & implicit typing: rejects-valid / accepts-invalid?)
2009-06-26 Janus Weil <janus@gcc.gnu.org>
PR fortran/39997
PR fortran/40541
* decl.c (add_hidden_procptr_result): Copy the typespec to the hidden
result.
* expr.c (gfc_check_pointer_assign): Enable interface check for
procedure pointer assignments where the rhs is a function returning a
procedure pointer.
* resolve.c (resolve_symbol): If an external procedure with unspecified
return type can not be implicitly typed, it must be a subroutine.
2009-06-26 Janus Weil <janus@gcc.gnu.org>
PR fortran/39997
PR fortran/40541
* gfortran.dg/proc_ptr_15.f90: Fixed and extended.
* gfortran.dg/proc_ptr_common_1.f90: Fixed invalid test case.
* gfortran.dg/proc_ptr_result_1.f90: Ditto.
* gfortran.dg/proc_ptr_result_5.f90: New.
From-SVN: r148996
Daniel Gutson [Fri, 26 Jun 2009 21:46:40 +0000 (21:46 +0000)]
arm-cores.def: Added core cortex-m0.
2009-06-26 Daniel Gutson <dgutson@codesourcery.com>
* config/arm/arm-cores.def: Added core cortex-m0.
* config/arm/arm-tune.md: Regenerated.
* doc/invoke.texi: Added entry for cpu ARM Cortex-M0.
From-SVN: r148987
DJ Delorie [Fri, 26 Jun 2009 20:36:05 +0000 (16:36 -0400)]
mep.opt (mfar): Remove -mfar as it doesn't do anything.
* config/mep/mep.opt (mfar): Remove -mfar as it doesn't do anything.
* config/mep/mep.c (mep_bundle_insns): Account for the fact that
the scheduler doesn't tag jump insns.
From-SVN: r148986
H.J. Lu [Fri, 26 Jun 2009 19:05:22 +0000 (19:05 +0000)]
c-decl.c (merge_decls): Re-indent.
2009-06-26 H.J. Lu <hongjiu.lu@intel.com>
* c-decl.c (merge_decls): Re-indent.
From-SVN: r148984
H.J. Lu [Fri, 26 Jun 2009 18:52:29 +0000 (18:52 +0000)]
decl.c (duplicate_decls): Re-indent.
2009-06-26 H.J. Lu <hongjiu.lu@intel.com>
* decl.c (duplicate_decls): Re-indent.
From-SVN: r148983
Janis Johnson [Fri, 26 Jun 2009 18:27:30 +0000 (18:27 +0000)]
re PR c/39902 (x * 1.0DF gets wrong value)
PR c/39902
* tree.c (real_zerop, real_onep, real_twop, real_minus_onep):
Special-case decimal float constants.
* gcc.dg/dfp/pr39902.c: New test.
From-SVN: r148982
Richard Henderson [Fri, 26 Jun 2009 18:23:32 +0000 (11:23 -0700)]
function.h (struct function): Add cannot_be_copied_reason, and cannot_be_copied_set.
* function.h (struct function): Add cannot_be_copied_reason,
and cannot_be_copied_set.
* tree-inline.c (has_label_address_in_static_1): Rename from
inline_forbidden_p_2; don't set inline_forbidden_reason here.
(cannot_copy_type_1): Rename from inline_forbidden_p_op; likewise
don't set inline_forbidden_reason.
(copy_forbidden): New function, split out of inline_forbidden_p.
(inline_forbidden_p_stmt): Don't check for nonlocal labels here.
(inline_forbidden_p): Use copy_forbidden.
(tree_versionable_function_p): Likewise.
(inlinable_function_p): Merge into tree_inlinable_function_p.
(tree_function_versioning): Remap cfun->nonlocal_goto_save_area.
* ipa-cp.c (ipcp_versionable_function_p): New function.
(ipcp_cloning_candidate_p): Use it.
(ipcp_node_modifiable_p): Likewise.
From-SVN: r148981
Olatunji Ruwase [Fri, 26 Jun 2009 18:10:03 +0000 (18:10 +0000)]
builtins.c (expand_builtin_alloca): Handle builtin alloca that is marked not to be inlined.
* builtins.c (expand_builtin_alloca): Handle builtin alloca
that is marked not to be inlined. Remove flag_mudflap use.
* tree-mudflap.c: Rename mf_xform_derefs to mf_xfrom_statements.
(mf_xform_statements): Mark builtin alloca calls as un-inlineable.
From-SVN: r148980
Steve Ellcey [Fri, 26 Jun 2009 17:30:55 +0000 (17:30 +0000)]
re PR bootstrap/40338 (bootstrap comparision fails on 32 bit PA when comparing libgcc objects)
2009-06-26 Steve Ellcey <sje@cup.hp.com>
PR bootstrap/40338
* config/pa/t-pa-hpux10 (TARGET_LIBGCC2_CFLAGS): Add -frandom-seed.
* config/pa/t-pa-hpux11 (TARGET_LIBGCC2_CFLAGS): Ditto.
From-SVN: r148979
Steve Ellcey [Fri, 26 Jun 2009 17:28:40 +0000 (17:28 +0000)]
re PR bootstrap/40338 (bootstrap comparision fails on 32 bit PA when comparing libgcc objects)
2009-06-26 Steve Ellcey <sje@cup.hp.com>
PR bootstrap/40338
* configure.ac (comparestring): Create new variable.
* Makefile.tpl (comparestring): Use to skip some comparisions.
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r148978
Doug Evans [Fri, 26 Jun 2009 17:12:35 +0000 (17:12 +0000)]
changelog for:
* Makefile.def (host_modules): Add cgen.
* Makefile.in: Regenerate.
* configure.ac (host_tools): Add cgen.
* configure: Regenerate.
From-SVN: r148977
Doug Evans [Fri, 26 Jun 2009 17:11:35 +0000 (17:11 +0000)]
Makefile.def (host_modules): Add cgen.
* Makefile.def (host_modules): Add cgen.
* Makefile.in: Regenerate.
* configure.ac (host_tools): Add cgen.
* configure: Regenerate.
From-SVN: r148976
Laurent GUERBY [Fri, 26 Jun 2009 17:06:52 +0000 (17:06 +0000)]
tb-gcc.c (trace_callback): Use char* instead of void*.
2009-06-26 Laurent GUERBY <laurent@guerby.net>
* tb-gcc.c (trace_callback): Use char* instead of void*.
* gcc-interface/misc.c (enumerate_modes): Make loop compatible
with C++.
* gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
Change all uses.
* gcc-interface/utils.c (new, class, template): Rename to be
compatible with C++. Change all uses.
* gcc-interface/decl.c (new): Likewise.
From-SVN: r148975
Kai Tietz [Fri, 26 Jun 2009 13:39:36 +0000 (13:39 +0000)]
mingw-tls.c (__mingwthr_key_dtor): Remove for none shared libgcc.
2009-06-26 Kai Tietz <kai.tietz@onevision.com>
* config/i386/mingw-tls.c (__mingwthr_key_dtor): Remove for none
shared libgcc.
(__mingwthr_remove_key_dtor): Likewise.
From-SVN: r148971
Richard Guenther [Fri, 26 Jun 2009 12:25:32 +0000 (12:25 +0000)]
tree-ssa-structalias.c (do_ds_constraint): Simplify escape handling.
2009-06-26 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (do_ds_constraint): Simplify escape
handling.
From-SVN: r148968
Uros Bizjak [Fri, 26 Jun 2009 09:02:04 +0000 (11:02 +0200)]
re PR testsuite/40532 (FAIL: gcc.dg/builtins-65.c (test for excess errors))
PR testsuite/40532
* gcc.dg/builtins-65.c: Require c99 runtime.
From-SVN: r148967
Eric Botcazou [Fri, 26 Jun 2009 08:54:26 +0000 (08:54 +0000)]
decl.c (cannot_be_superflat_p): New predicate.
* gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
(gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
of the upper bound of the index types.
From-SVN: r148966
Eric Botcazou [Fri, 26 Jun 2009 08:41:59 +0000 (08:41 +0000)]
Fix oversight
From-SVN: r148965
Eric Botcazou [Fri, 26 Jun 2009 08:38:38 +0000 (08:38 +0000)]
decl.c (gnat_to_gnu_entity): Factor out common predicate.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
out common predicate. Use the maximum to compute the upper bound of
the index type only when it is not wider than sizetype. Perform the
comparison in the index type for the generic expression. Use real
precision to decide whether to generate special types for debugging
information.
From-SVN: r148964
Arnaud Charlet [Fri, 26 Jun 2009 08:33:56 +0000 (10:33 +0200)]
[multiple changes]
2009-06-26 Matthew Gingell <gingell@adacore.com>
* adaint.c: Do not use the dummy version of convert_addresses on LynxOS
2009-06-26 Vincent Celier <celier@adacore.com>
* prj.ads (No_Language_Config): Value of Dependency_Kind is None by
default.
2009-06-26 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
From-SVN: r148963
Eric Botcazou [Fri, 26 Jun 2009 08:05:31 +0000 (08:05 +0000)]
decl.c (gnat_to_gnu_entity): Pass correct arguments to create_field_decl.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
correct arguments to create_field_decl. Remove redundant iteration.
Rewrite computation of the maximum size.
<E_Array_Subtype>: Reorder and simplify handling of special cases.
Rewrite computation of the maximum size. Use consistent naming.
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
comparison order for consistency. Use generic integer node to
build the operator and fold the result.
From-SVN: r148962
Steven Bosscher [Fri, 26 Jun 2009 06:06:04 +0000 (06:06 +0000)]
re PR middle-end/40525 (if conversion (in dead_or_predicable) fails for targets with limited conditional execution support)
PR middle-end/40525
* ifcvt.c (dead_or_predicable): If predicating MERGE_BB fails,
try the non-cond_exec path also.
From-SVN: r148961
John David Anglin [Fri, 26 Jun 2009 00:40:55 +0000 (00:40 +0000)]
re PR target/40468 (FAIL: gcc.c-torture/execute/
20061031-1.c execution, -Os)
PR target/40468
* pa.c (branch_to_delay_slot_p, branch_needs_nop_p): New functions.
(output_cbranch): Use new functions.
(output_lbranch, output_bb, output_bvb, output_dbra, output_movb):
Likewise.
From-SVN: r148959
GCC Administrator [Fri, 26 Jun 2009 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r148958
Michael Meissner [Thu, 25 Jun 2009 23:07:07 +0000 (23:07 +0000)]
power7 patch #2: add bswap64; add preliminary VSX register support; add more -mdebug=* support
Co-Authored-By: Pat Haugen <pthaugen@us.ibm.com>
Co-Authored-By: Revital Eres <eres@il.ibm.com>
From-SVN: r148955
Eric Botcazou [Thu, 25 Jun 2009 19:24:01 +0000 (19:24 +0000)]
Fix formatting
From-SVN: r148953
Ian Lance Taylor [Thu, 25 Jun 2009 19:20:59 +0000 (19:20 +0000)]
call.c (avoid_sign_compare_warnings): New static function.
cp/:
* call.c (avoid_sign_compare_warnings): New static function.
(build_new_op): Call it.
* typeck.c (cp_build_binary_op): Don't call warn_sign_compare if
TREE_NO_WARNING is set on either operand.
testsuite/:
* g++.dg/warn/Wsign-compare-3.C: New testcase.
From-SVN: r148952
Ian Lance Taylor [Thu, 25 Jun 2009 19:17:07 +0000 (19:17 +0000)]
g++spec.c (SKIPOPT): define.
cp/:
* g++spec.c (SKIPOPT): define.
(lang_specific_driver): Handle -static-libstdc++. Only add
LIBSTDCXX_STATIC if we add LIBSTDCXX.
./: * doc/invoke.texi (Option Summary): Mention -static-libstdc++.
(Link Options): Document -static-libstdc++.
From-SVN: r148951
Ian Lance Taylor [Thu, 25 Jun 2009 19:07:49 +0000 (19:07 +0000)]
cvt.c (convert_to_void): Only warn about COND_EXPR if neither the second nor third operand has side effects.
cp/:
* cvt.c (convert_to_void): Only warn about COND_EXPR if neither
the second nor third operand has side effects.
testsuite/:
* g++.dg/warn/Wunused-16.C: New testcase.
From-SVN: r148950
Ian Lance Taylor [Thu, 25 Jun 2009 19:03:28 +0000 (19:03 +0000)]
parser.c (cp_parser_binary_expression): Increment c_inhibit_evaluation_warnings while parsing the right hand side of...
cp/:
* parser.c (cp_parser_binary_expression): Increment
c_inhibit_evaluation_warnings while parsing the right hand side of
"true || x" or "false && x".
* typeck.c (cp_build_binary_op): Only call warn_for_sign_compare
if c_inhibit_evaluation_warnings is zero.
testsuite/:
* g++.dg/warn/skip-2.C: New testcase.
From-SVN: r148949
Andrew Pinski [Thu, 25 Jun 2009 19:00:26 +0000 (19:00 +0000)]
re PR target/38731 (Local strings on the stack not aligned)
2009-06-25 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR target/38731
* config/rs6000/rs6000.c (LOCAL_ALIGNMENT): Redefine to just use
DATA_ALIGNMENT instead.
From-SVN: r148948
Richard Guenther [Thu, 25 Jun 2009 15:19:45 +0000 (15:19 +0000)]
tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Disambiguate indirect references against the callused/escaped solutions.
2009-06-25 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Disambiguate
indirect references against the callused/escaped solutions.
(call_may_clobber_ref_p_1): Likewise.
From-SVN: r148947
Steve Ellcey [Thu, 25 Jun 2009 14:55:44 +0000 (14:55 +0000)]
20090618-1.c: add dg-run and dg-skip-if and move to ...
2009-06-25 Steve Ellcey <sje@cup.hp.com>
* gcc.c-torture/execute/
20090618-1.c: add dg-run and
dg-skip-if and move to ...
* gcc.dg/torture/
20090618-1.c.
From-SVN: r148946
Olivier Hainque [Thu, 25 Jun 2009 12:10:04 +0000 (12:10 +0000)]
mh-ppc-aix (BOOT_ADAFLAGS): Remove -mminimal-toc.
* config/mh-ppc-aix (BOOT_ADAFLAGS): Remove -mminimal-toc.
From-SVN: r148942
Martin Jambor [Thu, 25 Jun 2009 10:38:13 +0000 (12:38 +0200)]
re PR middle-end/40493 (New SRA miscompiled binutils)
2009-06-25 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/40493
* tree-sra.c (sra_modify_expr): Correct BIT_FIELD_REF argument numbers.
(enum unscalarized_data_handling): New type.
(handle_unscalarized_data_in_subtree): Return what has been done.
(load_assign_lhs_subreplacements): Handle left flushes differently.
(sra_modify_assign): Use unscalarized_data_handling, simplified
condition determining whether to remove the statement.
* testsuite/gcc.c-torture/execute/pr40493.c: New test.
From-SVN: r148941
Arnaud Charlet [Thu, 25 Jun 2009 09:34:02 +0000 (11:34 +0200)]
[multiple changes]
2009-06-25 Vincent Celier <celier@adacore.com>
* vms_data.ads: Minor comment change
2009-06-25 Gary Dismukes <dismukes@adacore.com>
* exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
assignment statement to targeting a caller-provided object when the
result type is an interface type.
* exp_ch6.adb (Expand_Call): Remove redundant test of
Is_Limited_Interface (Is_Inherently_Limited is sufficient).
(Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
* sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
to OK_For_Limited_Init.
* sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
condition so that True is returned for all limited interfaces, not
just synchronized ones. Ignore components of an interface type when
checking for limited components (such a component can be a parent
component).
* sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
(OK_For_Limited_Init): Add type parameter.
* sem_ch3.adb (Check_Initialization): Add type in call to
OK_For_Limited_Init.
(OK_For_Limited_Init): Add new type param in call to
OK_For_Limited_Init_In_05.
(OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
nonlimited type when the context type is a limited interface. Add type
on recursive calls.
* sem_ch4.adb (Analyze_Allocator): Add type in call to
OK_For_Limited_Init.
* sem_ch6.adb (Check_Limited_Return): Add type in call to
OK_For_Limited_Init.
* sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
OK_For_Limited_Init.
(Instantiate_Object): Add type in call to OK_For_Limited_Init.
* sem_type.adb (Interface_Present_In_Ancestor): In the case of a
class-wide interface, get the base type before applying Etype, in order
to account for class-wide subtypes.
From-SVN: r148938
Arnaud Charlet [Thu, 25 Jun 2009 09:26:07 +0000 (11:26 +0200)]
[multiple changes]
2009-06-25 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
between gnatmake and gprbuild.
(Naming_Data): Removed, no longer used
(Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
needed locally in one subprogram, no need to store forever in the
structure.
(Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
a similar role.
(Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
Spec_Suffix_Id_Of): removed, no longer used.
2009-06-25 Javier Miranda <miranda@adacore.com>
* sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
types on qualified expression in calls to imported C++ constructors.
* exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
imported C++ constructors.
2009-06-25 Sergey Rybin <rybin@adacore.com>
* vms_data.ads: Add qualifier for new gnatcheck '-t' option.
From-SVN: r148937
Arnaud Charlet [Thu, 25 Jun 2009 09:18:43 +0000 (11:18 +0200)]
[multiple changes]
2009-06-25 Vincent Celier <celier@adacore.com>
* s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
provided, on Windows change all '/' to '\'.
* fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
used. Minor comment changes
* prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
Remove_Forbidden_File_Name.
2009-06-25 Quentin Ochem <ochem@adacore.com>
* prj.ads (Unit_Index): Now general access type.
From-SVN: r148936
Pascal Obry [Thu, 25 Jun 2009 09:04:31 +0000 (09:04 +0000)]
a-stwise.adb, [...]: Fix confusion between 'Length and 'Last.
2009-06-25 Pascal Obry <obry@adacore.com>
* a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
From-SVN: r148935
Emmanuel Briot [Thu, 25 Jun 2009 09:00:52 +0000 (09:00 +0000)]
fmap.ads, [...] (Source_Data.Get_Object): Field removed, since it can be computed efficiently from the other fields.
2009-06-25 Emmanuel Briot <briot@adacore.com>
* fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
computed efficiently from the other fields.
(Object_To_Global_Archive): New subprogram
(Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
(Override_Kind): Fix handling of separates in Ada.
(Create_Mapping_File): Remove duplicate code
(Naming_Data.Implementation_Exception, Specification_Exception):
field removed, since never used.
(Naming_Data.Specs, .Bodies): field removed, since this is only
used while processing the project and is not needed once the tree
is in memory. This brings Naming_Data and Lang_Naming_Data
closer (same content now, but different use still).
From-SVN: r148934
Pascal Obry [Thu, 25 Jun 2009 08:42:46 +0000 (08:42 +0000)]
sem_ch4.adb: Minor reformatting.
2009-06-25 Pascal Obry <obry@adacore.com>
* sem_ch4.adb: Minor reformatting.
* a-strsea.adb: Fix confusion between 'Length and 'Last.
From-SVN: r148933
Arnaud Charlet [Thu, 25 Jun 2009 08:36:28 +0000 (10:36 +0200)]
[multiple changes]
2009-06-25 Ed Schonberg <schonberg@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
Unchecked_Access): If the context is an interface type, and the prefix
is of the corresponding class-wide type, do not insert a conversion
because the pointer displacement has already taken place, and we must
retain the class-wide type in a dispatching context.
2009-06-25 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
the previous source file.
(Create_Mapping): Iterate on sources rather than on units.
From-SVN: r148932
Arnaud Charlet [Thu, 25 Jun 2009 08:33:02 +0000 (10:33 +0200)]
[multiple changes]
2009-06-25 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
prj-env.adb, prj-env.ads (Slash): removed, no longer used
(Source_Data): no longer use Path.Name to point to a locally removed
file. Instead we use the field Locally_Removed which is clearer
2009-06-25 Arnaud Charlet <charlet@adacore.com>
* gcc-interface/Make-lang.in: Remove references to sem_maps.o
* sem_maps.adb, sem_maps.ads: Removed, not used.
From-SVN: r148931
Arnaud Charlet [Thu, 25 Jun 2009 08:24:34 +0000 (10:24 +0200)]
[multiple changes]
2009-06-25 Ed Falis <falis@adacore.com>
* s-vxwext-rtp.ads: Add missing declaration
2009-06-25 Matthew Gingell <gingell@adacore.com>
* a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
speed up unmapped case.
2009-06-25 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check): Change error message for illegal abstract
projects.
2009-06-25 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add note on use of -gnatct for ASIS
2009-06-25 Emmanuel Briot <briot@adacore.com>
* fmap.ads: Add documentation on mapping files
From-SVN: r148930
Basile Starynkevitch [Thu, 25 Jun 2009 08:22:21 +0000 (08:22 +0000)]
plugins.texi (Building GCC plugins): Corrected typo in Makefile excerpt - @ should be doubled for texinfo.
2009-06-25 Basile Starynkevitch <basile@starynkevitch.net>
* doc/plugins.texi (Building GCC plugins): Corrected typo in
Makefile excerpt - @ should be doubled for texinfo.
From-SVN: r148929
Robert Dewar [Thu, 25 Jun 2009 08:17:18 +0000 (08:17 +0000)]
exp_ch6.adb, [...]: Minor reformatting
2009-06-25 Robert Dewar <dewar@adacore.com>
* exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
reformatting
From-SVN: r148928
Ian Lance Taylor [Thu, 25 Jun 2009 06:16:11 +0000 (06:16 +0000)]
arc.c: Include "df.h".
* config/arc/arc.c: Include "df.h".
(arc_attribute_table): Make static. Move higher in file.
(arc_address_cost): Call SMALL_INT on INTVAL, not rtx.
(output_shift): Initialize n later to avoid warning.
* config/arm/arm.c (arm_attribute_table): Make static. Move
higher in file.
* config/avr/avr.c (avr_attribute_table): Make static. Move
higher in file.
(reg_class_tab): Change array type from int to enum reg_class.
(avr_jump_mode): Change GET_MODE to GET_CODE when checking for
LABEL_REF.
(out_tsthi, ashlhi3_out): Don't use AS2 with "or" or "and".
(lshrhi3_out): Likewise.
(class_likely_spilled_p): Change return type to bool.
(avr_rtx_costs): Use local code variable with enum type.
* config/avr/avr.md (movmemhi): Use add_reg_note.
(andhi3, andsi3): Don't use AS2 with "and".
(iorhi3, iorsi3): Don't use AS2 with "or".
* config/avr/avr-protos.h (class_likely_spilled_p): Update
declaration.
* config/crx/crx.c: Include "df.h".
(crx_attribute_table): Make static.
* config/m32r/m32r.c: Include "df.h".
(m32r_attribute_table): Make static. Move higher in file.
(pop): Use add_reg_note.
(block_move_call): Change 0 to LCT_NORMAL in function call.
* config/m32r/m32r.md (movsi_insn): Remove unused local value.
* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Likewise.
* config/m32r/m32r-protos.h (m32r_compute_function_type): Always
declare, not just when TREE_CODE is defined.
* config/m68hc11/m68hc11.c: Include "expr.h".
(m68hc11_attribute_table): Make static. Move higher in file.
(m68hc11_small_indexed_indirect_p): Change 0 to VOIDmode in
function call.
(m68hc11_register_indirect_p): Likewise.
(m68hc11_function_arg_padding): Change return type to enum
direction.
(emit_move_after_reload): Use add_reg_note.
(m68hc11_emit_logical): Change code parameter to enum rtx_code.
(m68hc11_split_logical): Likewise.
(m68hc11_rtx_costs): Add local code_and outer_code variables with
enum type.
* config/m68hc11/predicates.md (reg_or_some_mem_operand): Change 0
to VOIDmode in function call.
* config/m68hc11/m68hc11-protos.h: Don't check TREE_CODE to see if
tree is defined.
(m68hc11_split_logical): Update declaration.
(m68hc11_function_arg_padding): Update declaration.
* config/mcore/mcore.c (regno_reg_class): Change form array of int
to array of enum reg_class.
(mcore_attribute_table): Make static. Move higher in file.
(mcore_rtx_costs): Add cast to enum type.
* config/mcore/mcore.h (regno_reg_class): Update declaration.
(GO_IF_LEGITIMATE_INDEX): Add cast to avoid warning.
* config/sh/sh.c (sh_attribute_table): Make static. Move higher
in file.
* config/sh/predicates.md (trapping_target_operand): Rename and to
and_expr.
* config/sparc/sparc.c (sparc_attribute_table): Make static. Move
higher in file.
* config/spu/spu.c (spu_attribute_table): Make static. Move
higher in file.
* config/v850/v850.c (v850_attribute_table): Make static. Move
higher in file.
(v850_rtx_costs): Use local code with enum type.
(expand_epilogue): Add cast.
* config/v850/v850-c.c (ghs_pragma_section): Initialize repeat.
From-SVN: r148927
Takashi YOSHII [Thu, 25 Jun 2009 03:41:53 +0000 (03:41 +0000)]
invoke.texi (SH Options): Document -m2a, -m2a-single, -m2a-single-only and -m2a-nofpu.
* doc/invoke.texi (SH Options): Document -m2a, -m2a-single,
-m2a-single-only and -m2a-nofpu.
* config/sh/sh.opt: Document m2a generates FPU code.
From-SVN: r148926
GCC Administrator [Thu, 25 Jun 2009 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r148925
Anatoly Sokolov [Wed, 24 Jun 2009 21:16:25 +0000 (01:16 +0400)]
defaults.h (CAN_ELIMINATE): Provide default.
* defaults.h (CAN_ELIMINATE): Provide default.
* doc/tm.texi (CAN_ELIMINATE): Revise documentation.
* config/alpha/alpha.h (CAN_ELIMINATE): Delete.
* config/m32c/m32c.h (CAN_ELIMINATE): Delete.
* config/spu/spu.h (CAN_ELIMINATE): Delete.
* config/xtensa/xtensa.h (CAN_ELIMINATE): Delete.
* config/moxie/moxie.h (CAN_ELIMINATE): Delete.
* config/cris/cris.h (CAN_ELIMINATE): Delete.
* config/mn10300/mn10300.h (CAN_ELIMINATE): Delete.
* config/pa/pa64-linux.h (CAN_ELIMINATE): Delete.
* config/mmix/mmix.h (CAN_ELIMINATE): Delete.
From-SVN: r148919
DJ Delorie [Wed, 24 Jun 2009 20:34:48 +0000 (16:34 -0400)]
Update copyright year
From-SVN: r148917
Jason Merrill [Wed, 24 Jun 2009 18:47:43 +0000 (14:47 -0400)]
* error.c (dump_decl): Do say "typedef" for the injected class name.
From-SVN: r148916
Jason Merrill [Wed, 24 Jun 2009 18:47:36 +0000 (14:47 -0400)]
pt.c (lookup_template_class): Use currently_open_class, compare template args later.
* pt.c (lookup_template_class): Use currently_open_class,
compare template args later.
From-SVN: r148915
DJ Delorie [Wed, 24 Jun 2009 18:09:54 +0000 (14:09 -0400)]
Oops, missed deletion.
From-SVN: r148914
DJ Delorie [Wed, 24 Jun 2009 17:52:52 +0000 (13:52 -0400)]
mep-ext-cop.cpu: Fix copyright notice.
* mep-ext-cop.cpu: Fix copyright notice.
* mep-default: Fix copyright notice.
* mep-core: Fix copyright notice.
* mep: Fix copyright notice.
* mep-ivc2: Fix copyright notice.
* mep-c5: Fix copyright notice.
From-SVN: r148913
Jason Merrill [Wed, 24 Jun 2009 16:25:52 +0000 (12:25 -0400)]
re PR c++/40342 (ambiguous overload not diagnosed)
PR c++/40342
* decl.c (decls_match): Check DECL_TI_TEMPLATE too.
* class.c (resolve_address_of_overloaded_function): Fix typo.
From-SVN: r148910
Denis Chertykov [Wed, 24 Jun 2009 14:55:07 +0000 (18:55 +0400)]
contrib.texi (Contributors):
* doc/contrib.texi (Contributors):
From-SVN: r148909
Janus Weil [Wed, 24 Jun 2009 10:59:56 +0000 (12:59 +0200)]
re PR fortran/40427 ([F03] Procedure Pointer Components with OPTIONAL arguments)
2009-06-24 Janus Weil <janus@gcc.gnu.org>
PR fortran/40427
* gfortran.h (gfc_component): New member 'formal_ns'.
(gfc_copy_formal_args_ppc,void gfc_ppc_use): New.
* interface.c (gfc_ppc_use): New function, analogous to
gfc_procedure_use, but for procedure pointer components.
* module.c (MOD_VERSION): Bump module version.
(mio_component): Treat formal arguments.
(mio_formal_arglist): Changed argument from gfc_symbol to
gfc_formal_arglist.
(mio_symbol): Changed argument of mio_formal_arglist.
* resolve.c (resolve_ppc_call,resolve_expr_ppc): Call gfc_ppc_use,
to check actual arguments and treat formal args correctly.
(resolve_fl_derived): Copy formal args of procedure pointer components
from their interface.
* symbol.c (gfc_copy_formal_args_ppc): New function, analogous to
gfc_copy_formal_args, but for procedure pointer components.
2009-06-24 Janus Weil <janus@gcc.gnu.org>
PR fortran/40427
* gfortran.dg/proc_ptr_comp_11.f90: New.
From-SVN: r148906
Arnaud Charlet [Wed, 24 Jun 2009 10:11:52 +0000 (12:11 +0200)]
[multiple changes]
2009-06-24 Robert Dewar <dewar@adacore.com>
* prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
* a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
case.
(Index): Ditto.
2009-06-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
present when checking whether a call may be interpreted as an indexing
of the result of a call.
* exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
body for a null procedure on the freeze actions for the procedure, so
that it will be analyzed at the proper place without premature freezing
of actuals.
* sem_ch3.adb (Check_Completion): Code cleanup.
Do not diagnose a null procedure without a body, if previous errors
have disabled expansion.
2009-06-24 Doug Rupp <rupp@adacore.com>
* init.c [VMS] Resignal C$_SIGKILL
2009-06-24 Ed Falis <falis@adacore.com>
* s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
Define ERROR in body for VxWorks 6 kernel
2009-06-24 Pascal Obry <obry@adacore.com>
* g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
in [Send/Receive]_Socket.
From-SVN: r148905
Emmanuel Briot [Wed, 24 Jun 2009 09:57:13 +0000 (09:57 +0000)]
prj-proc.adb, [...] (Allow_Duplicate_Basenames): New parameter to several subprograms.
2009-06-24 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
to several subprograms.
(Source_Data.Other_Part): Removed, since can be computed from the
language.
(Other_Part): New subprogram.
From-SVN: r148904
Emmanuel Briot [Wed, 24 Jun 2009 09:51:10 +0000 (09:51 +0000)]
gnat_ugn.texi, [...] (Suffix_Matches): A suffix can also match the full base name of the file when...
2009-06-24 Emmanuel Briot <briot@adacore.com>
* gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
the full base name of the file when the suffix doesn't start with a '.'.
From-SVN: r148903
Arnaud Charlet [Wed, 24 Jun 2009 09:41:39 +0000 (11:41 +0200)]
[multiple changes]
2009-06-24 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check): A project declared abstract is legal if no
attribute Source_Dirs, Source_Files, Source_List_File or Languages is
declared.
2009-06-24 Robert Dewar <dewar@adacore.com>
* clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
prj-env.adb: Minor reformatting
2009-06-24 Ed Falis <falis@adacore.com>
* s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
support for VxWorks SMP.
* gcc-interface/Make-lang.in: Update dependencies
From-SVN: r148902
Emmanuel Briot [Wed, 24 Jun 2009 09:27:21 +0000 (09:27 +0000)]
gnatcmd.adb, [...] (Units_Table): Removed, since no longer useful.
2009-06-24 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
no longer useful.
(Source_Data.Lang_Kind): Removed, since it duplicates information
already available through Language.Config.
(Source_Data.Compile): Removed, since information is already available
through the language.
(Is_Compilable): New subprogram.
(Source_Data.Dependency): Removed, since already available through
the language.
(Source_Data.Object_Exist, Object_Linked): Removed since available
through the language already.
(Unit_Data.File_Names): Is now also set in multi_language mode, to
bring the two modes closer in the resulting data structures.
(Source_Data.Unit): Now a direct pointer to the unit data, rather than
just the name that would point into a hash table.
(Get_Language_From_Name): New subprogram.
From-SVN: r148901
Arnaud Charlet [Wed, 24 Jun 2009 09:19:41 +0000 (11:19 +0200)]
[multiple changes]
2009-06-24 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
visible through limited-with context clauses. In addition, avoid an
extra tag check that is not required when the class-wide
designated types of the operand and target types are
the same entity.
(Tagged_Membership): Handle entities from the limited view.
2009-06-24 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
(Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
different vocabularies for similar concepts (Impl/Body_Part and
Spec/Specification).
(Unit_Data): now points directly to a Source_Id, rather than duplicating
some of the information in File_Name_Data. This also saves a bit of
memory. However, since we are now using a pointer we need to test
for null explicitly in several places of the code
From-SVN: r148900
Arnaud Charlet [Wed, 24 Jun 2009 09:15:17 +0000 (11:15 +0200)]
[multiple changes]
2009-06-24 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Expand_N_Type_Conversion): return immediately
from processing the type conversion when the node is
replaced by an N_Raise_Program_Error node.
2009-06-24 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch6.adb (Designates_From_With_Type): New routine.
(Process_Formals): Since anonymous access types are no longer flagged
as from with types, traverse the designated type to determine whether
it is coming from a limited view.
* sem_res.adb: Remove with and use clauses for Sem_Ch10.
(Full_Designated_Type): Use Available_View to extract the non-limited /
full view of a type.
From-SVN: r148899
Arnaud Charlet [Wed, 24 Jun 2009 09:11:43 +0000 (11:11 +0200)]
[multiple changes]
2009-06-24 Robert Dewar <dewar@adacore.com>
* exp_ch6.adb: Minor reformatting
* layout.adb: Minor reformatting
* make.adb: Minor reformatting
2009-06-24 Thomas Quinot <quinot@adacore.com>
* sem_ch10.adb: Minor code reorganization.
From-SVN: r148898
Arnaud Charlet [Wed, 24 Jun 2009 09:08:00 +0000 (11:08 +0200)]
[multiple changes]
2009-06-24 Eric Botcazou <ebotcazou@adacore.com>
* ttypes.ads: Minor editing.
2009-06-24 Robert Dewar <dewar@adacore.com>
* exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
in deciding to do call-by-copy code.
2009-06-24 Vincent Celier <celier@adacore.com>
* make.adb (Gnatmake): To decide if an executable should be rebuilt,
check if an externally built library file is more current than the
executable.
From-SVN: r148897
Eric Botcazou [Wed, 24 Jun 2009 08:06:27 +0000 (08:06 +0000)]
Fix nits
From-SVN: r148896
Jonathan Wakely [Wed, 24 Jun 2009 07:13:17 +0000 (07:13 +0000)]
future (shared_future): Adjust doxygen comment.
2009-06-24 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/future (shared_future): Adjust doxygen comment.
From-SVN: r148895
Jonathan Wakely [Wed, 24 Jun 2009 07:06:17 +0000 (07:06 +0000)]
re PR libstdc++/40297 ([C++0x] debug mode vs atomics)
2009-06-24 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/40297
* include/bits/atomic_0.h: Reverse debug assertions.
* include/bits/atomic_2.h: Likewise.
From-SVN: r148893
Andreas Krebbel [Wed, 24 Jun 2009 07:01:24 +0000 (07:01 +0000)]
re PR middle-end/40501 (error: invalid conversion in gimple call)
2009-06-24 Andreas Krebbel <krebbel1@de.ibm.com>
PR middle-end/40501
* tree-ssa-math-opts.c (execute_optimize_bswap): Convert the bswap
src and dst operands if necessary.
2009-06-24 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.dg/pr40501.c: New testcase.
From-SVN: r148892