Greta Yorsh [Wed, 11 Jul 2012 08:41:37 +0000 (09:41 +0100)]
re PR target/53859 (ICE when calculate insn latency for armv7e-m arch in O2 level)
2012-07-10 Greta Yorsh <Greta.Yorsh@arm.com>
gcc/
PR target/53859
* config/arm/arm.c (arm_early_load_addr_dep): Handle new
epilogue patterns.
gcc/testsuite
PR target/53859
* gcc.target/arm/pr53859.c: New test.
From-SVN: r189423
Jonathan Wakely [Wed, 11 Jul 2012 06:51:26 +0000 (06:51 +0000)]
* doc/extend.texi (Namespace Association): Alter cautionary text.
From-SVN: r189422
GCC Administrator [Wed, 11 Jul 2012 00:19:30 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r189420
Oleg Endo [Tue, 10 Jul 2012 22:07:29 +0000 (22:07 +0000)]
re PR target/53886 (Seg fault in sh_insn_length_adjustment)
PR target/53886
* gcc.c-torture/compile/pr53886.c: New.
From-SVN: r189417
Oleg Endo [Tue, 10 Jul 2012 22:01:44 +0000 (22:01 +0000)]
re PR target/53911 ([SH] Improve displacement addressing)
PR target/53911
* config/sh/sh.md: Remove displacement addresssing related splits.
From-SVN: r189416
Xinliang David Li [Tue, 10 Jul 2012 20:26:38 +0000 (20:26 +0000)]
Implement -freuse-stack= option
From-SVN: r189413
Julian Brown [Tue, 10 Jul 2012 13:15:26 +0000 (13:15 +0000)]
arm.md (movsi): Don't split symbol refs here.
2012-07-10 Julian Brown <julian@codesourcery.com>
* config/arm/arm.md (movsi): Don't split symbol refs here.
(define_split): New.
From-SVN: r189411
Andreas Schwab [Tue, 10 Jul 2012 11:48:00 +0000 (11:48 +0000)]
re PR bootstrap/53913 (resource.c:1179:5: error: 'current_function_decl' undeclared broke m68k bootstrap)
PR bootstrap/53913
* config/m68k/m68k.c (m68k_epilogue_uses): New.
* config/m68k/m68k.h (EPILOGUE_USES): Use it.
* config/m68k/m68k-protos.h (m68k_epilogue_uses): Add prototype.
From-SVN: r189410
Richard Henderson [Tue, 10 Jul 2012 08:26:00 +0000 (01:26 -0700)]
Zap now unused builtin_mul_widen_even/odd target hooks
* target.def (builtin_mul_widen_even, builtin_mul_widen_odd): Remove.
* system.h (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Poison.
(TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Poison.
* config/i386/i386.c (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI): Remove.
(IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V8SI): Remove.
(IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V4SI): Remove.
(IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V8SI): Remove.
(IX86_BUILTIN_VEC_WIDEN_SMUL_EVEN_V4SI): Remove.
(IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V4SI): Remove.
(IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V8SI): Remove.
(bdesc_args): Remove entries to match.
(ix86_builtin_mul_widen_even, ix86_builtin_mul_widen_odd): Remove.
(TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Remove.
(TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Remove.
* config/rs6000/rs6000.c (rs6000_builtin_mul_widen_even): Remove.
(rs6000_builtin_mul_widen_odd): Remove.
(TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Remove.
(TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Remove.
* config/spu/spu.c (spu_builtin_mul_widen_even): Remove.
(spu_builtin_mul_widen_odd): Remove.
(TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Remove.
(TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Remove.
* doc/tm.texi.in: Don't document the removed hooks.
From-SVN: r189409
Richard Henderson [Tue, 10 Jul 2012 08:25:39 +0000 (01:25 -0700)]
Use VEC_WIDEN_MULT_EVEN/ODD_EXPR in supportable_widening_operation
* tree-vect-stmts.c (supportable_widening_operation): Expand
WIDEN_MULT_EXPR via VEC_WIDEN_MULT_EVEN/ODD_EXPR if possible.
From-SVN: r189408
Richard Henderson [Tue, 10 Jul 2012 08:25:20 +0000 (01:25 -0700)]
Move vector highpart emulation to the optabs layer
* expmed.c (expmed_mult_highpart): Rename from expand_mult_highpart.
(expmed_mult_highpart_optab): Rename from expand_mult_highpart_optab.
* optabs.c (can_mult_highpart_p): New.
(expand_mult_highpart): New.
* expr.c (expand_expr_real_2) [MULT_HIGHPART_EXPR): Use it.
* tree-vect-generic.c (expand_vector_operations_1): Don't expand
by pieces if can_mult_highpart_p.
(expand_vector_divmod): Use can_mult_highpart_p and always
generate MULT_HIGHPART_EXPR.
* tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
* tree-vect-stmts.c (vectorizable_operation): Likewise.
From-SVN: r189407
Richard Henderson [Tue, 10 Jul 2012 08:24:51 +0000 (01:24 -0700)]
spu: Rename patterns for vec_widen_<s>mult_even/odd_<mode>
* config/spu/spu-builtins.md (spu_mpy): Move to spu.md.
(spu_mpyu, spu_mpyhhu, spu_mpyhh): Likewise.
* config/spu/spu.md (vec_widen_smult_odd_v8hi): Rename from spu_mpy.
(vec_widen_umult_odd_v8hi): Rename from spu_mpyu.
(vec_widen_smult_even_v8hi): Rename from spu_mpyhh.
(vec_widen_umult_even_v8hi): Rename from spu_mpyhhu.
* config/spu/spu-builtins.def: Update pattern names to match.
From-SVN: r189406
Richard Henderson [Tue, 10 Jul 2012 08:24:28 +0000 (01:24 -0700)]
rs6000: Rename patterns for vec_widen_<s>mult_even/odd_<mode>
* config/rs6000/altivec.md (vec_widen_umult_even_v16qi): Rename
from altivec_vmuleub.
(vec_widen_smult_even_v16qi): Rename from altivec_vmulesb.
(vec_widen_umult_even_v8hi): Rename from altivec_vmuleuh.
(vec_widen_smult_even_v8hi): Rename from altivec_vmulesh.
(vec_widen_umult_odd_v16qi): Rename from altivec_vmuloub.
(vec_widen_smult_odd_v16qi): Rename from altivec_vmulosb.
(vec_widen_umult_odd_v8hi): Rename from altivec_vmulouh.
(vec_widen_smult_odd_v8hi): Rename from altivec_vmulosh.
* config/rs6000/rs6000-builtin.def: Update pattern names to match.
From-SVN: r189405
Richard Henderson [Tue, 10 Jul 2012 08:24:05 +0000 (01:24 -0700)]
i386: Rename patterns for vec_widen_<s>mult_even/odd_<mode>
* config/i386/sse.md (vec_widen_umult_even_v8si): Rename from
avx2_umulv4siv4di3.
(vec_widen_umult_even_v4si): Rename from sse2_umulv2siv2di3.
(vec_widen_smult_even_v8si): Rename from avx2_mulv4siv4di3.
(mulv4si3): Remove XOP test shadowed by SSE4 test.
* config/i386/i386.c (bdesc_args): Update pattern names.
(ix86_expand_sse2_mulvxdi3): Likewise.
(ix86_expand_mul_widen_evenodd): Likewise. Remove XOP test
shadowed by SSE4 test.
From-SVN: r189404
Richard Henderson [Tue, 10 Jul 2012 08:23:39 +0000 (01:23 -0700)]
Add VEC_WIDEN_MULT_EVEN/ODD_EXPR
* tree.def (VEC_WIDEN_MULT_EVEN_EXPR, VEC_WIDEN_MULT_ODD_EXPR): New.
* cfgexpand.c (expand_debug_expr): Handle them.
* expr.c (expand_expr_real_2): Likewise.
* fold-const.c (fold_binary_loc): Likewise.
* gimple-pretty-print.c (dump_binary_rhs): Likewise.
* optabs.c (optab_for_tree_code): Likewise.
* tree-cfg.c (verify_gimple_assign_binary): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree.c (commutative_tree_code): Likewise.
* tree-vect-generic.c (expand_vector_operations_1): Likewise.
Handle type change before looking up optab.
* optabs.h (OTI_vec_widen_umult_even, OTI_vec_widen_umult_odd): New.
(OTI_vec_widen_smult_even, OTI_vec_widen_smult_odd): New.
(vec_widen_umult_even_optab, vec_widen_umult_odd_optab): New.
(vec_widen_smult_even_optab, vec_widen_smult_odd_optab): New.
* genopinit.c (optabs): Initialize them.
* doc/md.texi: Document them.
From-SVN: r189403
Dehao Chen [Tue, 10 Jul 2012 04:28:32 +0000 (04:28 +0000)]
tree.h (phi_arg_d): New field.
2012-07-10 Dehao Chen <dehao@google.com>
* tree.h (phi_arg_d): New field.
* tree-flow-inline.h (gimple_phi_arg_block): New function.
(gimple_phi_arg_block_from_edge): New function.
(gimple_phi_arg_set_block): New function.
(gimple_phi_arg_has_block): New function.
(redirect_edge_var_map_block): New function.
* tree-flow.h (_edge_var_map): New field.
* tree-ssa-live.c (remove_unused_locals): Mark phi_arg's block
as used.
* tree-eh.c (cleanup_empty_eh_merge_phis): Add block debug info for
redirect_edge_var_map_add.
* tree-outof-ssa.c (_elim_graph): New field.
(insert_partition_copy_on_edge): New parameter.
(insert_value_copy_on_edge): New parameter.
(insert_rtx_to_part_on_edge): New parameter.
(insert_part_to_rtx_on_edge): New parameter.
(elim_graph_add_edge): New parameter.
(elim_graph_remove_succ_edge): New parameter.
(FOR_EACH_ELIM_GRAPH_SUCC): New parameter.
(FOR_EACH_ELIM_GRAPH_PRED): New parameter.
(new_elim_graph): Add block debug info.
(clear_elim_graph): Likewise.
(delete_elim_graph): Likewise.
(elim_graph_add_node): Likewise.
(elim_graph_add_edge): Likewise.
(elim_graph_remove_succ_edge): Likewise.
(eliminate_build): Likewise.
(elim_forward): Likewise.
(elim_unvisited_predecessor): Likewise.
(elim_backward): Likewise.
(elim_create): Likewise.
(eliminate_phi): Likewise.
(insert_backedge_copies): Likewise.
* tree-into-ssa.c (insert_phi_nodes_for): Add block debug info for
add_phi_arg.
(rewrite_add_phi_arguments): Likewise.
* tree-ssa-loop-im.c (execute_sm_if_changed): Likewise.
* tree-ssa-tail-merge.c (replace_block_by): Likewise.
* tree-ssa-threadupdate.c (copy_phi_args): Likewise.
* tree-loop-distribution.c (update_phis_for_loop_copy): Likewise.
* tree-ssa-loop-manip.c (create_iv): Likewise.
(add_exit_phis_edge): Likewise.
(split_loop_exit_edge): Likewise.
(copy_phi_node_args): Likewise.
(tree_transform_and_unroll_loop): Likewise.
* value-prof.c (gimple_ic): Likewise.
(gimple_stringop_fixed_value): Likewise.
* tree-tailcall.c (add_successor_phi_arg): Likewise.
(eliminate_tail_call): Likewise.
(create_tailcall_accumulator): Likewise.
(tree_optimize_tail_calls_1): Likewise.
* tree-phinodes.c (add_phi_arg): Likewise.
(make_phi_node): Likewise.
(resize_phi_node): Likewise.
(remove_phi_arg_num): Likewise.
* omp-low.c (expand_parallel_call): Likewise.
(expand_omp_for_static_chunk): Likewise.
* tree-vect-loop-manip.c (slpeel_update_phis_for_duplicate_loop):
Likewise.
(slpeel_update_phi_nodes_for_guard1): Likewise.
(slpeel_update_phi_nodes_for_guard2): Likewise.
(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
(set_prologue_iterations): Likewise.
(slpeel_tree_peel_loop_to_edge): Likewise.
(vect_loop_versioning): Likewise.
* tree-parloops.c (create_phi_for_local_result): Likewise.
(transform_to_exit_first_loop): Likewise.
(create_parallel_loop): Likewise.
* ipa-split.c (split_function): Likewise.
* tree-vect-loop.c (get_initial_def_for_induction): Likewise.
(vect_create_epilog_for_reduction): Likewise.
* tree-vect-data-refs.c (vect_setup_realignment): Likewise.
* graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
* tree-ssa-phiopt.c (cond_store_replacement): Likewise.
(cond_if_else_store_replacement_1): Likewise.
* tree-cfgcleanup.c (remove_forwarder_block): Likewise.
(remove_forwarder_block_with_phi): Likewise.
* tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
* tree-predcom.c (initialize_root_vars): Likewise.
(initialize_root_vars_lm): Likewise.
* sese.c (sese_add_exit_phis_edge): Likewise.
* tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
* tree-ssa.c (flush_pending_stmts): Likewise.
(redirect_edge_var_map_add): Likewise.
(ssa_redirect_edge): Likewise.
* gimple-streamer-in.c (input_phi): Likewise.
* tree-vect-stmts.c (vectorizable_load): Likewise.
* tree-inline.c (copy_phis_for_bb): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
* tree-switch-conversion.c (fix_phi_nodes): Likewise.
* tree-cfg.c (reinstall_phi_args): Likewise.
(gimple_make_forwarder_block): Likewise.
(add_phi_args_after_copy_edge): Likewise.
(gimple_duplicate_sese_tail): Likewise.
From-SVN: r189402
GCC Administrator [Tue, 10 Jul 2012 00:17:26 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189401
Jason Merrill [Tue, 10 Jul 2012 00:03:23 +0000 (20:03 -0400)]
DR 1402 PR c++/53733
DR 1402
PR c++/53733
* cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
(struct lang_decl_fn): Add suppress_implicit_decl field.
* method.c (implicitly_declare_fn): Check it.
(process_subob_fn): Add no_implicit_p parm.
(walk_field_subobs, synthesized_method_walk): Likewise.
(maybe_explain_implicit_delete): Adjust.
(explain_implicit_non_constexpr): Adjust.
From-SVN: r189396
Jason Merrill [Tue, 10 Jul 2012 00:03:11 +0000 (20:03 -0400)]
method.c (synthesized_method_walk): Avoid changing EH spec based on cleanups in other places, too.
* method.c (synthesized_method_walk): Avoid changing
EH spec based on cleanups in other places, too.
From-SVN: r189395
Oleg Endo [Mon, 9 Jul 2012 22:39:25 +0000 (22:39 +0000)]
re PR target/53886 (Seg fault in sh_insn_length_adjustment)
PR target/53886
* config/sh/sh.c (sequence_insn_p): New function.
(find_barrier, sh_insn_length_adjustment): Use it.
From-SVN: r189394
Sterling Augustine [Mon, 9 Jul 2012 21:44:57 +0000 (21:44 +0000)]
error.c (lang_decl_name): Use TFF_UNQUALIFIED_NAME flag.
gcc/cp/ChangeLog
2012-07-09 Sterling Augustine <saugustine@google.com>
* error.c (lang_decl_name): Use TFF_UNQUALIFIED_NAME flag.
gcc/testsuite/ChangeLog
2012-07-09 Sterling Augustine <saugustine@google.com>
* g++.dg/debug/dwarf2/pubnames-2.C: New.
From-SVN: r189392
Iain Sandoe [Mon, 9 Jul 2012 19:21:59 +0000 (19:21 +0000)]
re PR target/53283 (Many failures on x86_64-apple-darwin10 after revision 186789)
PR target/53283
* config/i386/i386.c (ix86_fold_builtin): Call SUBTARGET_FOLD_BUILTIN
if defined.
* config/darwin.h: Rename TARGET_FOLD_BUILTIN to
SUBTARGET_FOLD_BUILTIN.
* config/rs6000/darwin.h: Map TARGET_FOLD_BUILTIN onto
SUBTARGET_FOLD_BUILTIN.
From-SVN: r189391
Iain Sandoe [Mon, 9 Jul 2012 19:16:37 +0000 (19:16 +0000)]
darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Move NeXT runtime exceptions model setting from here ...
* config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Move NeXT
runtime exceptions model setting from here ...
* config/darwin.c (darwin_override_options): ... to here.
From-SVN: r189390
Steven Bosscher [Mon, 9 Jul 2012 18:53:35 +0000 (18:53 +0000)]
re PR middle-end/53887 (ICE in hoist_edge_and_branch_if_true, at tree-switch-conversion.c:79)
gcc/
PR tree-optimization/53887
* tree-cfg.c (group_case_labels_stmt): Make non-static.
* tree-flow.h (group_case_labels_stmt): Add prototype.
* tree-switch-conversion.c (process_switch): Use group_case_labels_stmt
to pre-process every switch.
testsuite/
PR tree-optimization/53887
* gcc.dg/pr53887.c: New test.
From-SVN: r189389
Jason Merrill [Mon, 9 Jul 2012 14:11:01 +0000 (10:11 -0400)]
re PR c++/53882 (ICE in type_contains_placeholder_1, at tree.c:3015)
PR c++/53882
* tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
(type_hash_eq): Likewise.
From-SVN: r189386
Arnaud Charlet [Mon, 9 Jul 2012 13:29:10 +0000 (15:29 +0200)]
[multiple changes]
2012-07-09 Pascal Obry <obry@adacore.com>
* prj.adb (For_Every_Project_Imported_Context): Make sure we
callback with the project having sources.
Minor reformatting.
2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
* make.adb: Fix typo.
From-SVN: r189385
Tom de Vries [Mon, 9 Jul 2012 13:28:57 +0000 (13:28 +0000)]
builtin-unreachable-6.c: New test.
2012-07-09 Tom de Vries <tom@codesourcery.com>
Richard Guenther <rguenther@suse.de>
* gcc.dg/builtin-unreachable-6.c: New test.
* gcc.dg/builtin-unreachable-5.c: New test.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r189384
Tom de Vries [Mon, 9 Jul 2012 13:28:51 +0000 (13:28 +0000)]
tree-ssa-ccp.c (optimize_unreachable): New function.
2012-07-09 Tom de Vries <tom@codesourcery.com>
Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (optimize_unreachable): New function.
(execute_fold_all_builtins): Use optimize_unreachable to optimize
BUILT_IN_UNREACHABLE. Don't optimize after BUILT_IN_UNREACHABLE.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r189383
Eric Botcazou [Mon, 9 Jul 2012 13:27:47 +0000 (13:27 +0000)]
Remove duplicate entries.
From-SVN: r189381
Arnaud Charlet [Mon, 9 Jul 2012 13:27:22 +0000 (15:27 +0200)]
[multiple changes]
2012-07-09 Vincent Pucci <pucci@adacore.com>
* sem_ch9.adb (Check_Node): Allow attributes
that denote static function for lock-free implementation.
(Is_Static_Function): New routine.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* tracebak.c: Adjust skip_frames on Win64.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* init.c: Add __gnat_adjust_context_for_raise for ia64/hpux.
* raise-gcc.c: __gnat_cleanupunwind_handler: Do not call
_Unwind_GetGR on hpux when using libgcc unwinder. Part of
2012-07-09 Vincent Pucci <pucci@adacore.com>
* exp_attr.adb, sem_attr.adb: Minor reformatting.
* par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting
considering that internal attribute names are not defined anymore
in the main attribute names list.
* snames.adb-tmpl (Get_Attribute_Id): Special processinf
for names CPU, Dispatching_Domain and Interrupt_Priority.
(Is_Internal_Attribute_Name): Minor reformatting.
* snames.ads-tmpl: New list of internal attribute names. Internal
attributes moved at the end of the attribute Id list.
From-SVN: r189380
Arnaud Charlet [Mon, 9 Jul 2012 13:24:20 +0000 (15:24 +0200)]
[multiple changes]
2012-07-09 Robert Dewar <dewar@adacore.com>
* freeze.adb: Minor code reorganization (use Ekind_In).
* exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb,
sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb,
sem_ch13.adb, snames.ads-tmpl: Minor reformatting.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* raise-gcc.c: Adjust previous patch.
2012-07-09 Vincent Celier <celier@adacore.com>
* make.adb (Compilation_Phase): Do not build libraries in
Codepeer mode (do not call Library_Phase).
From-SVN: r189379
Arnaud Charlet [Mon, 9 Jul 2012 13:19:56 +0000 (15:19 +0200)]
[multiple changes]
2012-07-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb: Extend previous change to elementary types.
2012-07-09 Javier Miranda <miranda@adacore.com>
* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse
previous patch since unconditionally handling as renaming_as_body
renamings of predefined dispatching equality and unequality operator
cause visibility problems with private overridings of the equality
operator (see ACATS C854001).
2012-07-09 Vincent Pucci <pucci@adacore.com>
* exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in
case of internal attribute names (already rejected by the parser).
* par-ch13.adb (P_Representation_Clause): Complain if an internal
attribute name that comes from source occurs.
* par-ch4.adb (P_Name): Complain if an internal attribute name
occurs in the context of an attribute reference.
* par-util.adb (Signal_Bad_Attribute): Don't complain about
mispelling attribute with internal attributes.
* sem_attr.adb (Analyze_Attribute): Raise Program_Error in case
of internal attribute names (already rejected by the parser).
* snames.adb-tmpl (Is_Internal_Attribute_Name): New routine.
* snames.ads-tmpl: Attributes CPU, Dispatching_Domain and
Interrupt_Priority are marked as INT attributes since they
don't denote real attribute and are only used internally in
the compiler.
(Is_Internal_Attribute_Name): New routine.
From-SVN: r189378
Arnaud Charlet [Mon, 9 Jul 2012 13:14:52 +0000 (15:14 +0200)]
[multiple changes]
2012-07-09 Thomas Quinot <quinot@adacore.com>
* einfo.adb (Set_Reverse_Storage_Order): Update assertion,
flag is now valid for array types as well.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* tracebak.c: Implement __gnat_backtrace for Win64 SEH.
2012-07-09 Robert Dewar <dewar@adacore.com>
* einfo.ads: Minor reformatting.
2012-07-09 Javier Miranda <miranda@adacore.com>
* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as
renaming_as_body renamings of predefined dispatching equality
and unequality operators.
2012-07-09 Robert Dewar <dewar@adacore.com>
* rident.ads: Do not instantiate r-ident.ads, this is now an
independent unit.
2012-07-09 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Write_DT): Avoid runtime crash of this debugging
routine.
* sem_disp.adb (Find_Dispatching_Time): Protect this routine
against partially decorated entities.
2012-07-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Check_Size): Reject a size clause that specifies
a value greater than Int'Last for a scalar type.
2012-07-09 Vincent Pucci <pucci@adacore.com>
* sem_ch9.adb (Allows_Lock_Free_Implementation): type must support
atomic operation moved to the protected body case. No non-elementary
out parameter moved to the protected declaration case. Functions have
only one lock-free restriction.
(Analyze_Protected_Type_Declaration): Issue a warning when
Priority given with Lock_Free.
2012-07-09 Vincent Pucci <pucci@adacore.com>
* sem_dim.adb: Grammar of aspect Dimension fixed.
2012-07-09 Vincent Pucci <pucci@adacore.com>
* freeze.adb (Freeze_Record_Type): Code reorg in order to avoid
pushing and popping the scope stack whenever a delayed aspect occurs.
2012-07-09 Gary Dismukes <dismukes@adacore.com>
* s-os_lib.ads: Remove pragma Elaborate_Body, as
this is now unnecessary due to recently added pragma Preelaborate.
2012-07-09 Jose Ruiz <ruiz@adacore.com>
* s-taprop-mingw.adb (Set_Priority): Remove the code that was
previously in place to reorder the ready queue when a task drops
its priority due to the loss of inherited priority.
From-SVN: r189377
Arnaud Charlet [Mon, 9 Jul 2012 13:09:52 +0000 (15:09 +0200)]
[multiple changes]
2012-07-09 Robert Dewar <dewar@adacore.com>
* layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb,
s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor
reformatting.
2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
* raise-gcc.c: Update comments. Fix typo.
2012-07-09 Thomas Quinot <quinot@adacore.com>
* einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute
Scalar_Storage_Order can be defined or queried for array types as well
as record types.
From-SVN: r189376
Arnaud Charlet [Mon, 9 Jul 2012 13:04:59 +0000 (15:04 +0200)]
[multiple changes]
2012-07-09 Tristan Gingold <gingold@adacore.com>
* a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from
raise-gcc.c
* raise-gcc.c (__gnat_cleanupunwind_handler): Defined.
Strictly follow the ABI convention on ia64.
2012-07-09 Gary Dismukes <dismukes@adacore.com>
* a-ststio.ads: Add pragma Preelaborate, per AI05-0283.
* i-cstrea.ads (max_path_len): Change from variable to deferred
constant to allow it to be used as a bound in string component
in type System.File_IO.Temp_File_Record.
* s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma
Preelaborate.
* s-fileio.adb (Get_Case_Sensitive): Move function inside
procedure Open.
(File_Names_Case_Sensitive): Move variable inside
procedure Open, to avoid violation of Preelaborate restriction
(due to call to Get_Case_Sensitive).
2012-07-09 Ed Schonberg <schonberg@adacore.com>
* layout.adb (Set_Elem_Alignment): Protect against meaningless
size clause, to prevent overflow in internal computation of
alignment.
From-SVN: r189375
Richard Guenther [Mon, 9 Jul 2012 12:40:51 +0000 (12:40 +0000)]
re PR bootstrap/53898 (bootstrap failure: graphite-optimize-isl.c: ISO C forbids an empty translation unit)
2012-07-09 Richard Guenther <rguenther@suse.de>
PR bootstrap/53898
* graphite-optimize-isl.c: Make sure CU is not empty.
From-SVN: r189374
Ian Lance Taylor [Mon, 9 Jul 2012 11:13:49 +0000 (11:13 +0000)]
mksysinfo.sh: Fix handling of glibc 2.16 bits/resource.h.
From Jakub Jelinek.
From-SVN: r189372
Arnaud Charlet [Mon, 9 Jul 2012 10:50:32 +0000 (12:50 +0200)]
[multiple changes]
2012-07-09 Robert Dewar <dewar@adacore.com>
* freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor
reformatting.
2012-07-09 Gary Dismukes <dismukes@adacore.com>
* sem_cat.adb (Check_Categorization_Dependencies):
Allow dependence of both Remote_Types and Remote_Call_Interface
declarations (not just Remote_Types units) on preelaborated
units, but require that the dependence be made via a private
with_clause. Issue a specialized error message.
From-SVN: r189371
Pascal Obry [Mon, 9 Jul 2012 10:47:50 +0000 (10:47 +0000)]
prj-util.adb, [...] (For_Interface_Sources): New routine.
2012-07-09 Pascal Obry <obry@adacore.com>
* prj-util.adb, prj-util.ads (For_Interface_Sources): New routine.
From-SVN: r189370
Arnaud Charlet [Mon, 9 Jul 2012 10:46:00 +0000 (12:46 +0200)]
[multiple changes]
2012-07-09 Tristan Gingold <gingold@adacore.com>
* seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH,
return for unknown exceptions.
* raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler.
2012-07-09 Joel Brobecker <brobecker@adacore.com brobecker>
* exp_dbug.ads (No_Dollar_In_Label): Delete.
2012-07-09 Vincent Pucci <pucci@adacore.com>
* sem_ch13.adb (Check_Overloaded_Name): New routine.
2012-07-09 Vincent Pucci <pucci@adacore.com>
* freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the
components in a record type.
2012-07-09 Pascal Obry <obry@adacore.com>
* prj-util.ads: Minor reformatting.
From-SVN: r189369
Arnaud Charlet [Mon, 9 Jul 2012 10:41:16 +0000 (12:41 +0200)]
[multiple changes]
2012-07-09 Tristan Gingold <gingold@adacore.com>
* raise-gcc.c (db_indent): Simplify style, improve comments.
Remove !IN_RTS part (dead).
2012-07-09 Robert Dewar <dewar@adacore.com>
* usage.adb: Minor change to format of -gnatn line.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* a-exexpr-gcc.adb: Reorder routine.
From-SVN: r189368
Arnaud Charlet [Mon, 9 Jul 2012 10:36:42 +0000 (12:36 +0200)]
[multiple changes]
2012-07-09 Vincent Celier <celier@adacore.com>
* lib-writ.ads: Add documentation for the Z lines (implicitly
withed units) and Y lines (limited withed units).
2012-07-09 Robert Dewar <dewar@adacore.com>
* lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb,
sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb,
sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb,
sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups.
2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only
lightly in the summary and more thoroughly in inlining section.
(Performance Considerations): Document -gnatn[12] in inlining
section.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure.
(Unhandled_Others_Value): New const.
* raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define.
(action_descriptor): Remove ttype_entry.
(get_action_description_for): Do not assign ttype_entry.
(is_handled_by): Consider GNAT_UNHANDLED_OTHERS.
From-SVN: r189367
Steven Bosscher [Mon, 9 Jul 2012 08:45:12 +0000 (08:45 +0000)]
gensupport.c (init_rtx_reader_args_cb): Start counting code generating patterns from 1 to free up 0 for CODE_FOR_nothing.
* gensupport.c (init_rtx_reader_args_cb): Start counting code
generating patterns from 1 to free up 0 for CODE_FOR_nothing.
* gencodes.c (main): Give CODE_FOR_nothing the value 0. Add
the LAST_INSN_CODE marker at the end.
* genoutput.c (nothing): New static struct data.
(idata): Initialize to ¬hing.
(idata_end): Initialize to ¬hing.next.
(init_insn_for_nothing): New function to create dummy 'nothing' insn.
(main): Use it.
* genpeep.c (insn_code_number): Remove global variable.
(gen_peephole): Take it as an argument instead.
(main): Take insn_code_number from read_md_rtx.
* optabs.h: Revert r161809:
(optab_handlers): Change type of insn_code back to insn_code.
(optab_handler, widening_optab_handler, set_optab_handler,
set_widening_optab_handler, convert_optab_handler,
set_convert_optab_handler, direct_optab_handler,
set_direct_optab_handler): Remove int casts.
Revert to treating the insn_code field as "insn_code".
From-SVN: r189366
GCC Administrator [Mon, 9 Jul 2012 00:17:16 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189365
Oleg Endo [Sun, 8 Jul 2012 22:50:38 +0000 (22:50 +0000)]
sh.md (*return_i): Move trap_exit attribute check to ...
* config/sh/sh.md (*return_i): Move trap_exit attribute check to ...
* config/sh/sh.c (sh_cfun_trap_exit_p): ... this new function.
* config/sh/sh-protos.h: Declare it.
From-SVN: r189362
Steven Bosscher [Sun, 8 Jul 2012 18:13:19 +0000 (18:13 +0000)]
mcf.c: Do not include tm.h, tree.h, and langhooks.h.
* mcf.c: Do not include tm.h, tree.h, and langhooks.h.
(dump_fixup_graph): Use current_function_name.
(adjust_cfg_counts): Likewise.
* ira-conflicts.c: Do not include tree.h.
(ira_build_conflicts): Use REG_USERVAR_P instead of DECL_ARTIFICIAL.
From-SVN: r189361
Oleg Endo [Sun, 8 Jul 2012 15:03:21 +0000 (15:03 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244
* config/sh/sh.md (*branch_true_eq, *branch_false_ne, nott): New insns.
From-SVN: r189360
Steven Bosscher [Sun, 8 Jul 2012 10:06:14 +0000 (10:06 +0000)]
basic-block.h: Re-group most prototypes per file.
gcc/
* basic-block.h: Re-group most prototypes per file.
(struct edge_list): Remove num_blocks field.
(dump_bb_info): Adjust prototypes.
(dump_reg_info): Move prototype to regs.h.
* function.h: Do not include tree.h.
Include vec.h, vecir.h, input.h and machmode.h to compensate.
(function_name): New prototype.
* gimple.h: Include tree.h to compensate for basic-block.h change.
* langhooks.h: Note that tree.h is only necessary for enum tree_code.
* regs.h (dump_reg_info): Prototype here.
* regset.h: Adjust file reference in comment.
(debug_regset): Remove prototype.
* rtl.h: Include flags.h for flag_var_tracking_assignments.
(MAY_HAVE_DEBUG_INSNS): Define as flag_var_tracking_assignments
instead of no-longer-available tree.h's MAY_HAVE_DEBUG_STMTS.
(dump_reg_info, dump_flow_info): Remove prototypes.
* bb-reorder.c (set_edge_can_fallthru_flag): Move from cfganal.c
to here, the only user. Make static.
(reorder_basic_blocks): Call dump_reg_info before dump_flow_info.
* cfg.c: Do not include tm.h, tree.h, rtl.h, hard-reg-set.h, regs.h,
flags.h, function.h, except.h, diagnostic-core.h, tm_p.h, timevar.h,
tree-pass.h, cfgloop.h, and tree-flow.h.
Include basic-block.h, the first header I'd expect to be included.
(reg_obstack): Move to df-core.c.
(free_edge): Remove bogus ATTRIBUTE_UNUSED.
(remove_edge_raw): Do not call tree-ssa's redirect_edge_var_map_clear.
(redirect_edge_succ_nodup): Move to cfghooks.c.
(dump_regset, debug_regset): Move to df-core.c.
(dump_bb_info): Move to cfgrtl.c.
(dump_reg_info): Move to regstat.c.
(dump_flow_info): Move to cfgrtl.c.
(debug_flow_info): Likewise.
(dump_edge_info): Do not look at cfun, a CFG without cfun is nonsense.
* cfganal.c: Do not include tm.h, rtl.h, obstack.h, hard-reg-set.h,
insn-config.h, recog.h, diagnostic-core.h, tm_p.h, and cfgloop.h.
(flow_active_insn_p, forwarder_block_p, can_fallthru,
could_fall_through): Move to cfgrtl.c.
(set_edge_can_fallthru_flag): Moved to bb-reorder.c.
(create_edge_list): Do not set edge_list's removed num_blocks.
(print_edge_list): Look at n_basic_blocks instead of num_blocks.
(flow_nodes_print): Remove.
(flow_edge_list_print): Remove.
(inverted_post_order_compute): Use FOR_ALL_BB.
*cfgrtl.c (dump_flow_info): Moved from cfg.c.
Do not call dump_reg_info.
(debug_flow_info): Moved from cfg.c
(dump_bb_info): Moved from cfg.c. Take 'verbose' argument
to avoid looking at TDF_* flags from tree-pass.h.
(flow_active_insn_p, forwarder_block_p, can_fallthru,
could_fall_through): Moved from cfganal.c.
(print_rtl_with_bb): Adjust dump_bb_info calls.
* cfghooks.c (redirect_edge_succ_nodup): Moved from cfg.c.
(remove_edge): Call redirect_edge_var_map_clear if IR_GIMPLE.
(cfgcleanup.c): Look at MAY_HAVE_DEBUG_INSNS, not MAY_HAVE_DEBUG_STMTS.
* cselib.c: Include tree.h with a FIXME.
* df-core.c (reg_obstack): Moved from cfg.c.
(dump_regset): Likewise.
(debug_regset): Likewise. Make a DEBUG_FUNCTION.
* final.c (compute_alignments): Call dump_reg_info before
dump_flow_info.
* function.c (function_name): New function.
(current_function_name): Use it.
* ifcvt.c (rest_of_handle_if_conversion): Call dump_reg_info before
dump_flow_info.
* ira-conflicts.c: Include tree.h with a note.
* regstat.c (dump_reg_info): Moved here from cfg.c.
* loop-init.c: Include regs.h instead of hard-reg-set.h.
(rtl_loop_init): Call dump_reg_info before dump_flow_info.
(rtl_loop_done): Likewise.
* mcf.c: Include tree.h before langhooks.h.
* predict.c (maybe_hot_count_p): Assert we have cfun.
(probably_never_executed_bb_p): Likewise.
* profile.c (compute_branch_probabilities): Use gimple_dump_cfg
instead of dump_flow_info.
* sched-deps.c: Include tree.h with a FIXME.
(call_may_noreturn_p): Add FIXME note why this function has to
look at function decls instead of function decl flags.
* sched-vis.c: Include tree.h with a FIXME.
(print_rtl_slim): Adjust dump_bb_info uses.
* statistics.c (statistics_fini_pass_2): Use current_function_name
to avoid including tree.h.
(statistics_counter_event): Use function_name for the same reason.
(statistics_histogram_event): Likewise.
* tracer.c (tracer): Remove bogus gcc_assert. Use brief_dump_cfg
instead of dump_flow_info.
* var-tracking.c (variable_tracking_main_1): Call dump_reg_info
before dump_flow_info.
* doc/cfg.texi: Update CFG documentation.
* Makefile.in (RTL_H): Depend on FLAGS_H.
(GIMPLE_H): Depend on TREE_H.
(FUNCTION_H): Depend on VEC_H, vecir.h, INPUT_H and MACHMODE_H,
but no longer on TREE_H.
(C_COMMON_H): Depend on TREE_H.
(cselib.o, cse.o, cfganal.o, loop-init.o, ira-conflicts.o,
sched-deps.o, sched-vis.o): Fixup dependencies.
c-family/
* c-common.h: Include tree.h.
cp/
* decl.c (cp_finish_decl): Add FIXME at add_local_decl call site.
From-SVN: r189359
Steven Bosscher [Sun, 8 Jul 2012 09:57:36 +0000 (09:57 +0000)]
alias.h: Do not include coretypes.h in header files.
gcc/
* alias.h: Do not include coretypes.h in header files.
* cppbuiltin.h: Likewise.
* double-int.h: Likewise.
* gimple-fold.h: Likewise.
* flags.h: Likewise.
* tree-ssa-alias.h: Likewise.
* gengtype.h (obstack_chunk_alloc, obstack_chunk_free,
OBSTACK_CHUNK_SIZE): Define here to avoid dependency on coretypes.h.
* Makefile.in (RTL_BASE_H): Depend on coretypes.h.
(TREE_H): Likewise.
(ALIAS_H): Do not depend on coretypes.h.
(FLAGS_H): Likewise.
(realmpfr.o): Depend on coretypes.h.
java/
* verify.h: Do not include system.h and coretypes.h here.
* verify-impl.c: Include them here instead.
From-SVN: r189358
Steven Bosscher [Sun, 8 Jul 2012 09:55:02 +0000 (09:55 +0000)]
gfortran.h: Do not include coretypes.h here.
* gfortran.h: Do not include coretypes.h here.
Make it an error to include this before coretypes.h
* openmp.c: Include coretypes.h.
* interface.c: Likewise.
* intrinsic.c: Likewise.
* symbol.c: Likewise.
* class.c: Likewise.
* decl.c: Likewise.
* matchexp.c: Likewise.
* dump-parse-tree.c: Likewise.
* array.c: Likewise.
* constructor.c: Likewise.
* error.c: Likewise.
* data.c: Likewise.
* expr.c: Likewise.
* module.c: Likewise.
* scanner.c: Likewise.
* bbt.c: Likewise.
* io.c: Likewise.
* frontend-passes.c: Likewise.
* resolve.c: Likewise.
* st.c: Likewise.
* target-memory.c: Likewise.
* match.c: Likewise.
* arith.c: Likewise.
* parse.c: Likewise.
* check.c: Likewise.
* dependency.c: Likewise.
* primary.c: Likewise.
* misc.c: Likewise.
* simplify.c: Likewise.
From-SVN: r189357
Steven Bosscher [Sun, 8 Jul 2012 09:45:39 +0000 (09:45 +0000)]
Makefile.in (gengtype-lex.o, [...]): Add -DGENERATOR_FILE manually for host gengtype objects.
* Makefile.in (gengtype-lex.o, gengtype-parse.o, gengtype-state.o,
gengtype.o): Add -DGENERATOR_FILE manually for host gengtype objects.
From-SVN: r189356
GCC Administrator [Sun, 8 Jul 2012 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189355
Richard Earnshaw [Sat, 7 Jul 2012 16:38:46 +0000 (16:38 +0000)]
arm.h (TARGET_CPU_CPP_BUILTINS): Remove Maverick support.
* arm.h (TARGET_CPU_CPP_BUILTINS): Remove Maverick support.
(TARGET_FPA): Delete definition.
(TARGET_MAVERICK): Likewise.
(TARGET_FPA_EMU2): Likewise.
(arm_fp_model): Remove FPA and Maverick models.
(arm_arch_cirrus): Delete declaration.
(FLOAT_WORDS_BIG_ENDIAN): Delete definition.
(FIXED_REGISTERS): Remove FPA and Maverick support. Reorganize.
(CALL_USED_REGISTERS): Likewise.
(FIRST_FPA_REGNUM, LAST_FPA_REGNUM): Delete definition.
(FIRST_VFP_REGNUM): Renumbered.
(D7_VFP_REGNUM): Chain definition.
(LAST_LO_VFP_REGNUM): Likewise.
(FIRST_HI_VFP_REGNUM): Likewise.
(LAST_HI_VFP_REGNUM): Likewise.
(FIRST_IWMMXT_GR_REGNUM): Likewise.
(LAST_IWMMXT_GR_REGNUM): Likewise.
(FIRST_IWMMXT_REGNUM): Likewise.
(LAST_IWMMXT_REGNUM): Likewise.
(FRAME_POINTER_REGNUM): Renumbered.
(ARG_POINTER_REGNUM): Renumbered.
(FIRST_PSEUDO_REGISTER): Remove FPA and Maverick registers.
(FIRST_CIRRUS_FP_REGNUM, LAST_CIRRUS_FP_REGNUM): Delete definitions.
(HARD_REGNO_REGNUM): Remove FPA support.
(REG_ALLOC_ORDER): Remove FPA and Maverick registers. Reorganize.
(reg_class): Likewise.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(CANNOT_CHANGE_MODE_CLASS): Never true. Update comment.
(SECONDARY_INPUT_RELOAD_CLASS): Remove Maverick support.
(CLASS_MAX_NREGS): Remove FPA and Maverick support.
* aout.h (REGISTER_NAMES): Remove FPA and Maverick registers.
Reorganize. Use AAPCS preferred names.
(ADDITIONAL_REGISTER_NAMES): Remove aliases for Maverick. Update
comments.
(OVERLAPPING_REGISTER_NAMES): Update register numbering.
* arm.c (FL_CIRRUS): Delete definition.
(arm_arch_cirrus): Delete variable.
(arm_float_words_big_endian): Delete function.
(cirrus_memory_offset): Delete function.
(output_mov_long_double_fpa_from_arm): Delete function.
(output_mov_long_double_arm_from_fpa): Delete function.
(output_mov_double_fpa_from_arm): Delete function.
(output_mov_double_arm_from_fpa): Delete function.
(emit_sfm): Delete function.
(maybe_get_arm_condition_code): Update comment.
(arm_file_start): Always use softvfp for softfloat systems.
(thumb_core_reg_alloc_order): Adjust for updated register allocation.
(arm_option_override): Remove FPA and Maverick support. Always
default to vfp as the fallback FPU format.
(use_return_insn): Remove FPA support.
(arm_get_frame_offsets): Likewise.
(arm_save_coproc_regs): Likewise.
(arm_canonicalize_comparison): Remove Maverick support.
(arm_select_cc_mode): Likewise.
(arm_gen_compare_reg): Likewise.
(arm_print_operand): Likewise.
(arm_libcall_value_1): Remove FPA and Maverick support.
(arm_function_value_regno_p): Likewise.
(arm_apply_result_size): Likewise.
(arm_legitimate_index_p): Likewise.
(thumb2_legitimate_index_p): Likewise.
(legitimize_reload_address): Likewise.
(arm_register_move_cost): Likewise.
(arm_hard_regno_mode_ok): Likewise.
(arm_regno_class): Likewise.
(arm_dbx_register_number): Likewise.
(arm_emit_unwind_sequence): Likewise.
(arm_conditional_register_usage): Likewise.
* arm-protos.h (neg_const_double_rtx_ok_for_fpa): Remove declaration.
(cirrus_memory_offset): Likewise.
(output_move_long_double_fpa_from_arm): Likewise.
(output_move_long_double_arm_from_fpa): Likewise.
(output_move_double_fpa_from_arm): Likewise.
(output_move_double_arm_from_fpa): Likewise.
(arm_float_words_big_endian): Likewise.
* arm.md (CC_REGNUM): Renumbered.
(VFPCC_REGNUM): Moved here. Renumbered.
(FPA_F0_REGNUM, FPA_F7_REGNUM): Delete.
(attr fpu): Remove FPA and Maverick support.
* vfp.md (VFPCC_REGNUM): Delete. Moved to arm.md.
* arm-cores.def (ep9312): Remove Maverick support.
* arm-arches.def (ep9312): Delete architecture.
* arm-tables.opt: Regenerated.
* arm/linux-elf.h (FPUTYPE_DEFAULT): Set to vfp.
From-SVN: r189350
Steven Bosscher [Sat, 7 Jul 2012 12:35:44 +0000 (12:35 +0000)]
re PR tree-optimization/53881 (ICE in hoist_edge_and_branch_if_true)
gcc/
PR tree-optimization/53881
* tree-switch-conversion.c (emit_case_bit_tests): Do not rely on
comparing labels to establish uniqueness of a switch case target,
use the CFG instead.
testsuite/
PR tree-optimization/53881
* gcc.dg/pr53881.c: New test.
From-SVN: r189349
Ulrich Weigand [Sat, 7 Jul 2012 12:19:50 +0000 (12:19 +0000)]
combine.c (force_to_mode): Avoid undefined behaviour due to negative shift amount.
* combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
due to negative shift amount.
From-SVN: r189347
Hans-Peter Nilsson [Sat, 7 Jul 2012 00:26:08 +0000 (00:26 +0000)]
Fix configure test for "stack protector support in target C library".
* configure.ac (test_prefix, test_exec_prefix): Move setting from
inside sysroot handling to before and outside it.
* configure: Regenerate.
From-SVN: r189345
GCC Administrator [Sat, 7 Jul 2012 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189344
Kai Tietz [Fri, 6 Jul 2012 18:54:20 +0000 (20:54 +0200)]
re PR bootstrap/52947 (bootstrap fails due to wrong include search path composition)
PR bootstrap/52947
* config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
as "/mingw/include".
From-SVN: r189338
Jason Merrill [Fri, 6 Jul 2012 15:45:10 +0000 (11:45 -0400)]
re PR c++/53862 ([C++11] sorry, unimplemented: use of 'type_pack_expansion' in template)
PR c++/53862
* pt.c (tsubst_arg_types): Add "end" parameter.
(check_undeduced_parms): Use it.
From-SVN: r189334
Jason Merrill [Fri, 6 Jul 2012 14:00:44 +0000 (10:00 -0400)]
* cp-tree.h (DECL_DECLARES_TYPE_P): Check DECL_TYPE_TEMPLATE_P.
From-SVN: r189332
Jason Merrill [Fri, 6 Jul 2012 14:00:31 +0000 (10:00 -0400)]
re PR c++/53858 ([C++11] template aliases used in template parameters default expression)
PR c++/53858
* name-lookup.c (ambiguous_decl): Use DECL_TYPE_TEMPLATE_P.
From-SVN: r189331
Paolo Carlini [Fri, 6 Jul 2012 13:55:58 +0000 (13:55 +0000)]
re PR libstdc++/53872 ([C++11] ADL bug in std::thread)
2012-07-06 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53872
* include/std/thread (thread::_M_make_routine): Qualify make_shared
to prevent ADL.
* testsuite/30_threads/thread/adl.cc: New.
From-SVN: r189329
Richard Guenther [Fri, 6 Jul 2012 12:55:34 +0000 (12:55 +0000)]
Makefile.def (cloog): Pass $(HOST_GMPINC) and $(HOST_ISLINC) as CPPFLAGS...
2012-07-06 Richard Guenther <rguenther@suse.de>
* Makefile.def (cloog): Pass $(HOST_GMPINC) and $(HOST_ISLINC)
as CPPFLAGS, pass path to built gmp as LDFLAGS, always use
--with-gmp=system.
* Makefile.in: Regenerated.
* configure: Likewise.
From-SVN: r189328
Richard Guenther [Fri, 6 Jul 2012 12:31:03 +0000 (12:31 +0000)]
configure.ac (extra_isl_gmp_configure_flags): Initialize and subst.
2012-07-06 Richard Guenther <rguenther@suse.de>
* configure.ac (extra_isl_gmp_configure_flags): Initialize and subst.
* Makefile.def (isl): Use extra_isl_gmp_configure_flags and
supply V=1 as extra_make_flags.
* configure: Regenerated.
* Makefile.in: Likewise.
From-SVN: r189327
Alexandre Oliva [Fri, 6 Jul 2012 11:37:36 +0000 (11:37 +0000)]
re PR debug/53820 (ICE in vt_expand_var_loc_chain, at var-tracking.c:8029)
PR debug/53820
* var-tracking.c (vt_add_function_parameter): Convert
internal_arg_pointer into arg_pointer-based address even
without DRAP.
From-SVN: r189326
Alexandre Oliva [Fri, 6 Jul 2012 11:37:14 +0000 (11:37 +0000)]
re PR rtl-optimization/53827 ([alpha]: Invalid insn scheduling in sched1 pass)
PR rtl-optimization/53827
PR debug/53671
PR debug/49888
* alias.c (memrefs_conflict_p): Adjust offset and size by the
same amount for alignment ANDs.
From-SVN: r189325
Tom de Vries [Fri, 6 Jul 2012 11:22:12 +0000 (11:22 +0000)]
re PR tree-optimization/51879 (Missed tail merging with non-const/pure calls)
2012-07-06 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/51879
* gcc.dg/pr51879-16.c: New test.
* gcc.dg/pr51879-17.c: Same.
From-SVN: r189324
Tom de Vries [Fri, 6 Jul 2012 11:22:06 +0000 (11:22 +0000)]
re PR tree-optimization/51879 (Missed tail merging with non-const/pure calls)
2012-07-06 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/51879
* tree-ssa-sccvn.c (copy_reference_ops_from_call)
(visit_reference_op_call): Handle case that lhs is not an SSA_NAME.
(visit_use): Also call visit_reference_op_call for calls with a vdef.
From-SVN: r189323
Tom de Vries [Fri, 6 Jul 2012 11:07:37 +0000 (11:07 +0000)]
re PR tree-optimization/52009 (Another missed tail merging opportunity)
2012-07-06 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/52009
* gcc.dg/pr51879-7.c: New test.
* gcc.dg/pr51879-18.c: New test.
From-SVN: r189322
Tom de Vries [Fri, 6 Jul 2012 11:07:32 +0000 (11:07 +0000)]
re PR tree-optimization/52009 (Another missed tail merging opportunity)
2012-07-06 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/52009
* tree-ssa-tail-merge.c (gimple_equal_p): For GIMPLE_ASSIGN, compare
value numbers of gimple_vdef.
* tree-ssa-sccvn.h (vn_reference_insert): Add vdef parameter to
prototype.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MODIFY_EXPR.
(vn_reference_insert): Add and handle vdef parameter.
(visit_reference_op_load): Add argument to vn_reference_insert call.
(visit_reference_op_store): Find value number of vdef of store. Insert
value number of vdef of store.
From-SVN: r189321
Uros Bizjak [Fri, 6 Jul 2012 10:57:07 +0000 (12:57 +0200)]
i386.md (simple lea to add peephole): Also transform RTXes where second PLUS operand matches output.
* config/i386/i386.md (simple lea to add peephole): Also transform
RTXes where second PLUS operand matches output.
From-SVN: r189320
Uros Bizjak [Fri, 6 Jul 2012 10:18:39 +0000 (12:18 +0200)]
i386.c (construct_plt_address): Make static.
* config/i386/i386.c (construct_plt_address): Make static.
* config/i386/i386-protos.h (construct_plt_address): Remove.
From-SVN: r189319
Nick Clifton [Fri, 6 Jul 2012 10:05:15 +0000 (10:05 +0000)]
mn10300.c (mn10300_encode_section_info): Call default_encode_section_info.
* config/mn10300/mn10300.c (mn10300_encode_section_info): Call
default_encode_section_info.
From-SVN: r189316
Uros Bizjak [Fri, 6 Jul 2012 10:00:11 +0000 (12:00 +0200)]
re PR target/53811 (ICE: in insn_default_length, at config/i386/i386.md:529 (unrecognizable insn) with -mcmodel=large)
PR target/53811
* config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
emit PIC sequence for fnaddr symbol reference in advance.
From-SVN: r189315
Eric Botcazou [Fri, 6 Jul 2012 07:44:52 +0000 (07:44 +0000)]
Revert
2012-06-14 Eric Botcazou <ebotcazou@adacore.com>
* dwarf2out.c (function_possibly_abstracted_p): New static function.
(gen_subprogram_die): Use it function_possibly_abstracted_p in lieu of
cgraph_function_possibly_inlined_p.
(gen_inlined_subroutine_die): Return if the origin is to be ignored.
(process_scope_var): Do not emit concrete instances of abstracted
nested functions from here.
(gen_decl_die): Emit the abstract instance if the function is possibly
abstracted and not only possibly inlined.
(dwarf2out_finish): Find the first non-abstract parent instance and
attach concrete instances on the limbo list to it.
From-SVN: r189311
GCC Administrator [Fri, 6 Jul 2012 00:17:39 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189310
Jason Merrill [Thu, 5 Jul 2012 21:24:33 +0000 (17:24 -0400)]
re PR c++/53039 (including <functional> breaks std::is_convertible with template-pack expansion)
PR c++/53039
* pt.c (arg_from_parm_pack_p): Go back to using same_type_p or
cp_tree_equal.
From-SVN: r189305
Jason Merrill [Thu, 5 Jul 2012 19:39:12 +0000 (15:39 -0400)]
cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
* cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
(struct template_parm_index_s): Remove num_siblings.
* pt.c (fixup_template_parms, fixup_template_parm_index): Remove.
(fixup_template_type_parm_type): Remove.
(build_template_parm_index): Remove num_siblings parm.
(process_template_parm): Likewise.
* parser.c (cp_parser_template_parameter_list): Adjust.
* tree.c (cp_tree_equal): Don't compare num_siblings.
* typeck.c (comp_template_parms_position): Likewise.
From-SVN: r189299
Jason Merrill [Thu, 5 Jul 2012 19:39:01 +0000 (15:39 -0400)]
re PR c++/50852 (ICE: internal compiler error: in tsubst, at cp/pt.c:11030)
PR c++/50852
PR c++/53039
* tree.c (strip_typedefs_expr): New.
* cp-tree.h: Declare it.
* pt.c (convert_template_argument, unify): Use it.
* parser.c (cp_parser_template_declaration_after_export): Don't call
fixup_template_parms.
From-SVN: r189298
Ramana Radhakrishnan [Thu, 5 Jul 2012 16:56:15 +0000 (16:56 +0000)]
Correct bug number to PR target/48941
First part of the fix .
From-SVN: r189295
Ramana Radhakrishnan [Thu, 5 Jul 2012 16:45:18 +0000 (16:45 +0000)]
re PR rtl-optimization/49891 (ICE in redirect_jump_1)
2012-07-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
PR target/49891
PR target/51980
* gcc/testsuite/gcc.target/arm/neon/vtrnf32.c: Update.
* gcc/testsuite/gcc.target/arm/neon/vtrns32.c: Update.
* gcc/testsuite/gcc.target/arm/neon/vtrnu32.c: Update.
* gcc/testsuite/gcc.target/arm/neon/vzipf32.c: Update.
* gcc/testsuite/gcc.target/arm/neon/vzips32.c: Update.
* gcc/testsuite/gcc.target/arm/neon/vzipu32.c: Update.
2012-07-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
Julian Brown <julian@codesourcery.com>
PR target/49891
PR target/51980
* config/arm/neon-gen.ml (return_by_ptr): Delete.
(print_function): Handle empty strings.
(return): Delete use of return_by_ptr.
(mask_shape_for_shuffle): New function.
(mask_elems): Likewise.
(shuffle_fn): Likewise.
(params): Simplify and remove use of return_by_ptr.
(get_shuffle): New function.
(print_variant): Update.
* config/arm/neon.ml (rev_elems): New function.
(permute_range): Likewise.
(zip_range): Likewise.
(uzip_range): Likewise.
(trn_range): Likewise.
(zip_elems): Likewise.
(uzip_elems): Likewise.
(trn_elems): Likewise.
(features): New enumeration Use_shuffle. Delete ReturnPtr.
(pf_su_8_16): New.
(suf_32): New.
(ops): Update entries for Vrev64, Vrev32, Vrev16, Vtr, Vzip, Vuzp.
* config/arm/arm_neon.h: Regenerate.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r189294
Mikael Morin [Thu, 5 Jul 2012 15:18:26 +0000 (15:18 +0000)]
re PR fortran/53732 ("mismatching comparison operand types" on compile)
fortran/
PR fortran/53732
* trans-array.c (gfc_add_loop_ss_code): Disable self recursive calls
handling nested loop(s) if the subscript flag is true.
testsuite/
PR fortran/53732
* gfortran.dg/inline_sum_4.f90: New test.
From-SVN: r189292
Richard Guenther [Thu, 5 Jul 2012 15:15:45 +0000 (15:15 +0000)]
tree-pretty-print.c (dump_generic_node): Properly test the result of exact_log2.
2012-07-05 Richard Guenther <rguenther@suse.de>
* tree-pretty-print.c (dump_generic_node): Properly test
the result of exact_log2.
From-SVN: r189291
Joseph Myers [Thu, 5 Jul 2012 14:30:03 +0000 (15:30 +0100)]
* hr.po: New.
From-SVN: r189289
Andreas Krebbel [Thu, 5 Jul 2012 10:46:19 +0000 (10:46 +0000)]
2012-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390-protos.h (s390_expand_movmem)
(s390_expand_cmpmem): Add return value.
* config/s390/s390.c (s390_expand_movmem, s390_expand_cmpmem):
Return FALSE to use the library function in some cases.
* config/s390/s390.md (movmem, cmpmem): Evaluate return value of C
helper functions.
From-SVN: r189288
Andreas Krebbel [Thu, 5 Jul 2012 10:45:24 +0000 (10:45 +0000)]
config.gcc: Enable ifunc attribute by default on s390 and s390x.
2012-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config.gcc: Enable ifunc attribute by default on s390 and s390x.
From-SVN: r189287
Steven Bosscher [Thu, 5 Jul 2012 10:12:14 +0000 (10:12 +0000)]
expr.c (try_casesi): Remove bogus ATTRIBUTE_UNUSED markers.
gcc/
* expr.c (try_casesi): Remove bogus ATTRIBUTE_UNUSED markers.
* stmt.c (dump_case_nodes): New.
(expand_case): Split out code generation parts into new functions.
(expand_switch_as_decision_tree_p): Split out from expand_case.
(emit_case_decision_tree): Likewise.
(emit_case_dispatch_table): Likewise.
testsuite/
* gcc.c-torture/compile/
20000326-1.c: Fix to not optimize to empty.
From-SVN: r189285
Matthew Gretton-Dann [Thu, 5 Jul 2012 09:10:29 +0000 (09:10 +0000)]
Add files forgotten in last commit (ChangeLog has them already):
gcc/testsuite:
* gcc.target/arm/fma.c: New testcase.
* gcc.target/arm/fma.h: Likewise.
* gcc.target/arm/fma-sp.c: Likewise.
From-SVN: r189284
Matthew Gretton-Dann [Thu, 5 Jul 2012 09:07:00 +0000 (09:07 +0000)]
iterators.md (SDF): New mode iterator.
* gcc/config/arm/iterators.md (SDF): New mode iterator.
(V_if_elem): Add support for SF and DF modes.
(V_reg): Likewise.
(F_constraint): New mode iterator attribute.
(F_fma_type): Likewise.
config/arm/vfp.md (fma<SDF:mode>4): New pattern.
(*fmsub<SDF:mode>4): Likewise.
(*fmnsub<SDF:mode>4): Likewise.
(*fmnadd<SDF:mode>4): Likewise.
* gcc/testsuite/gcc.target/arm/fma-sp.c: New testcase.
* gcc/testsuite/gcc.target/arm/fma.c: Likewise.
* gcc/testsuite/gcc.target/arm/fma.h: Likewise.
From-SVN: r189283
Uros Bizjak [Thu, 5 Jul 2012 07:22:17 +0000 (09:22 +0200)]
re PR fortran/53449 (fortran fails to build with LTO bootstrap)
* expmed.c (expand_mult): Initialize coeff and is_neg.
java/ChangeLog:
* jcf-io.c (read_zip_member): Initialize d_stream.
fortran/ChangLog:
PR fortran/53449
* parse.c (gfc_parse_file): Initialize errors_before.
From-SVN: r189281
Sandra Loosemore [Thu, 5 Jul 2012 02:53:03 +0000 (22:53 -0400)]
libgomp.texi (Library Index): Renamed from "Index" to prevent conflict with index.html on case-insensitive...
2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
libgomp/
* libgomp.texi (Library Index): Renamed from "Index" to prevent
conflict with index.html on case-insensitive file systems.
From-SVN: r189278
Jonathan Wakely [Thu, 5 Jul 2012 01:14:35 +0000 (01:14 +0000)]
* include/std/condition_variable: Update copyright years.
From-SVN: r189277
GCC Administrator [Thu, 5 Jul 2012 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r189272
Oleg Endo [Wed, 4 Jul 2012 23:32:13 +0000 (23:32 +0000)]
predicates.md (zero_extend_operand): New predicate.
* config/sh/predicates.md (zero_extend_operand): New predicate.
* config/sh/sh.md (zero_extendhisi2): Simplify by using new
zero_extend_operand predicate.
(zero_extendqisi2): Likewise.
From-SVN: r189269
Jonathan Wakely [Wed, 4 Jul 2012 22:17:18 +0000 (22:17 +0000)]
re PR libstdc++/53830 (condition_variable_any - deadlock issue)
PR libstdc++/53830
* include/std/condition_variable (condition_variable_any::wait):
Move _Unlock type to class scope.
(condition_variable_any::wait_until): Reuse it.
* testsuite/30_threads/condition_variable_any/53830.cc: New.
From-SVN: r189268
Jason Merrill [Wed, 4 Jul 2012 21:34:07 +0000 (17:34 -0400)]
re PR c++/53848 (ICE in decl_linkage at ../../gcc-trunk/gcc/cp/tree.c:3215)
PR c++/53848
* decl.c (build_enumerator): Don't use build_lang_decl_loc.
From-SVN: r189267
Uros Bizjak [Wed, 4 Jul 2012 13:49:19 +0000 (15:49 +0200)]
re PR middle-end/53321 (LTO bootstrap failed with bootstrap-profiled)
PR middle-end/53321
* ipa.c (symtab_remove_unreachable_nodes): Partially revert r187375
to not call cgraph_propagate_frequency if something was changed.
testsuite/ChangLog:
PR middle-end/53321
* g++.dg/torture/pr53321.C: New test.
From-SVN: r189261
Richard Guenther [Wed, 4 Jul 2012 13:47:18 +0000 (13:47 +0000)]
re PR middle-end/53433 (ICE in int_mode_for_mode, at stor-layout.c:424 during lto-bootstrap)
2012-07-04 Richard Guenther <rguenther@suse.de>
PR middle-end/53433
* gimple-fold.c (get_base_constructor): Do not return an
error_mark_node DECL_INITIAL.
From-SVN: r189260
Tristan Gingold [Wed, 4 Jul 2012 12:26:55 +0000 (12:26 +0000)]
isl.m4 (ISL_CHECK_VERSION): Set to yes if cross-compiling.
config/
2012-07-04 Tristan Gingold <gingold@adacore.com>
* isl.m4 (ISL_CHECK_VERSION): Set to yes if cross-compiling.
Fix comments.
2012-07-04 Tristan Gingold <gingold@adacore.com>
* configure: Regenerate.
From-SVN: r189257
Richard Guenther [Wed, 4 Jul 2012 12:10:40 +0000 (12:10 +0000)]
re PR middle-end/53844 (GCC generates suboptimal code for unused members of classes in some cases on multiple targets.)
2012-07-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53844
* tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
the loop virtual PHI.
* g++.dg/tree-ssa/pr53844.C: New testcase.
From-SVN: r189256