gcc.git
10 years agoi386.c (distance_agu_use_in_bb): Proper initialization of 'prev' var to get better...
Yuri Rumyantsev [Tue, 17 Sep 2013 12:01:28 +0000 (12:01 +0000)]
i386.c (distance_agu_use_in_bb): Proper initialization of 'prev' var to get better distance estimation.

* config/i386/i386.c (distance_agu_use_in_bb) : Proper initialization
  of 'prev' var to get better distance estimation.

From-SVN: r202649

10 years agogthr-win32.c: CreateSemaphoreW instead of CreateSemaphoreA.
Jacek Caban [Tue, 17 Sep 2013 11:46:47 +0000 (11:46 +0000)]
gthr-win32.c: CreateSemaphoreW instead of CreateSemaphoreA.

2013-09-17  Jacek Caban  <jacek@codeweavers.com>

* config/i386/gthr-win32.c: CreateSemaphoreW instead of
CreateSemaphoreA.
* config/i386/gthr-win32.h: Likewise.

From-SVN: r202648

10 years agotree-inline.h (struct copy_body_data): Add transform_parameter.
Eric Botcazou [Tue, 17 Sep 2013 11:05:31 +0000 (11:05 +0000)]
tree-inline.h (struct copy_body_data): Add transform_parameter.

* tree-inline.h (struct copy_body_data): Add transform_parameter.
* tree-inline.c (is_parameter_of): New predicate.
(remap_gimple_op_r): Do not propagate TREE_THIS_NOTRAP on MEM_REF if
a parameter has been remapped.
(copy_tree_body_r): Likewise on INDIRECT_REF and MEM_REF.
(optimize_inline_calls): Initialize transform_parameter.
(copy_gimple_seq_and_replace_locals): Likewise.
(tree_function_versioning): Likewise.
(maybe_inline_call_in_expr): Likewise.

From-SVN: r202647

10 years ago* gcc.dg/tree-ssa/ldist-22.c (main): Return zero.
Andreas Schwab [Tue, 17 Sep 2013 09:07:08 +0000 (09:07 +0000)]
* gcc.dg/tree-ssa/ldist-22.c (main): Return zero.

From-SVN: r202646

10 years agomsp430-protos.h: Add prototypes for new functions.
Nick Clifton [Tue, 17 Sep 2013 08:15:03 +0000 (08:15 +0000)]
msp430-protos.h: Add prototypes for new functions.

* config/msp430/msp430-protos.h: Add prototypes for new functions.
* config/msp430/msp430.c (msp430_preserve_reg_p): Add support for
interrupt handlers.
(is_attr_func): New function.
(msp430_is_interrupt_func): New function.
(is_naked_func): New function.
(is_reentrant_func): New function.
(is_critical_func): New function.
(msp430_start_function): Add annotations for function attributes.
(msp430_attr): New function.
(msp430_attribute_table): New.
(msp430_function_section): New function.
(TARGET_ASM_FUNCTION_SECTION): Define.
(msp430_builtin): New enum.
(msp430_init_builtins): New function.
(msp430_builtin_devl): New function.
(msp430_expand_builtin): New function.
(TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTINS): Define.
(TARGET_BUILTIN_DECL): Define.
(msp430_expand_prologue): Add support for naked, interrupt,
critical and reentrant functions.
(msp430_expand_epilogue): Likewise.
(msp430_print_operand): Handle 'O' character.
* config/msp430/msp430.h (TARGET_CPU_CPP_BUILTINS): Define
NO_TRAMPOLINES.
* config/msp430/msp430.md (unspec): Add UNS_DINT, UNS_EINT,
UNS_PUSH_INTR, UNS_POP_INTR, UNS_BIC_SR, UNS_BIS_SR.
(pushm): Use a 'n' rather than an 'i' constraint.
(msp_return): Add generation of the interrupt return instruction.
(disable_interrupts): New pattern.
(enable_interrupts): New pattern.
(push_intr_state): New pattern.
(pop_intr_state): New pattern.
(bic_SR): New pattern.
(bis_SR): New pattern.
* doc/extend.texi: Document MSP430 function attributes and builtin
functions.

From-SVN: r202645

10 years agore PR tree-optimization/58432 (ICE: in insert_value_copy_on_edge, at tree-outof-ssa...
Richard Biener [Tue, 17 Sep 2013 07:47:49 +0000 (07:47 +0000)]
re PR tree-optimization/58432 (ICE: in insert_value_copy_on_edge, at tree-outof-ssa.c:233)

2013-09-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58432
* tree-loop-distribution.c (tree_loop_distribution): Also
scan PHIs for outside loop uses and seed a partition from them.

* gcc.dg/pr58432.c: New testcase.

From-SVN: r202644

10 years agogimple-ssa-strength-reduction.c (backtrace_base_for_ref): New.
Bin Cheng [Tue, 17 Sep 2013 04:59:08 +0000 (04:59 +0000)]
gimple-ssa-strength-reduction.c (backtrace_base_for_ref): New.

* gimple-ssa-strength-reduction.c (backtrace_base_for_ref): New.
(restructure_reference): Call backtrace_base_for_ref.

* gcc.dg/tree-ssa/slsr-39.c: New test.

From-SVN: r202643

10 years agore PR target/57589 (Linux powerpc -mcpu=native returns pointer to variable on stack...
Alan Modra [Tue, 17 Sep 2013 02:04:49 +0000 (11:34 +0930)]
re PR target/57589 (Linux powerpc -mcpu=native returns pointer to variable on stack in driver-rs6000.c)

PR target/57589
* config/rs6000/driver-rs6000.c (elf_platform): Revert 2013-06-11 patch.

From-SVN: r202642

10 years agoDaily bump.
GCC Administrator [Tue, 17 Sep 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202641

10 years ago* config/rl78/vregs.h: Add G10 register definitions.
DJ Delorie [Mon, 16 Sep 2013 21:58:05 +0000 (17:58 -0400)]
* config/rl78/vregs.h: Add G10 register definitions.

From-SVN: r202638

10 years agorl78.c (rl78_asm_file_start): Specify alternate vregs location for RL78/G10.
DJ Delorie [Mon, 16 Sep 2013 21:15:46 +0000 (17:15 -0400)]
rl78.c (rl78_asm_file_start): Specify alternate vregs location for RL78/G10.

* config/rl78/rl78.c (rl78_asm_file_start): Specify alternate
vregs location for RL78/G10.
(rl78_expand_prologue): Avoid SEL on G10.
(rl78_expand_epilogue): Likewise.
(rl78_peep_movhi_p): Can't move a constant to memory in HImode.
* config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
__RL78_G10__ when appropriate.
(ASM_SPEC): Pass -mg10 along to the assembler.
* config/rl78/rl78.md (sel_rb): Disable for G10.
* config/rl78/rl78.opt: Add -mg10 option.
* config/rl78/t-rl78: Add -mg10 multilib.

* config/rl78/lib2mul.c: Enable for RL78/G10.
* config/rl78/lib2div.c: Likewise.
* config/rl78/lshrsi3.S: Use vregs.h.
* config/rl78/cmpsi2.S: Likewise.
* config/rl78/trampoline.S: Likewise.
* config/rl78/mulsi2.S: Likewise.  Disable for RL78/G10.

From-SVN: r202637

10 years agoIntroduce -ftree-loop-vectorize option
Xinliang David Li [Mon, 16 Sep 2013 19:55:40 +0000 (19:55 +0000)]
Introduce -ftree-loop-vectorize option

From-SVN: r202636

10 years agopr58419.c: New test.
Jeff Law [Mon, 16 Sep 2013 19:31:25 +0000 (13:31 -0600)]
pr58419.c: New test.

       * gcc.c-torture/execute/pr58419.c: New test.
        * gcc.c-torture/execute/pr58431.c: New test.

From-SVN: r202635

10 years agotm.texi.in (Cond Exec Macros): Remove node.
Andreas Schwab [Mon, 16 Sep 2013 18:20:32 +0000 (18:20 +0000)]
tm.texi.in (Cond Exec Macros): Remove node.

* doc/tm.texi.in (Cond Exec Macros): Remove node.
(Condition Code): Don't reference it.
* doc/tm.texi: Regenerate.

From-SVN: r202634

10 years agore PR fortran/58356 (ICE with finalization and type extension)
Tobias Burnus [Mon, 16 Sep 2013 18:01:59 +0000 (20:01 +0200)]
re PR fortran/58356 (ICE with finalization and type extension)

2013-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58356
        * class.c (generate_finalization_wrapper): Init proc_tree if
        not yet resolved.

2013-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58356
        * gfortran.dg/finalize_19.f90: New.

From-SVN: r202633

10 years agoalpha.c: Include tree-ssanames.h.
Jan-Benedict Glaw [Mon, 16 Sep 2013 16:01:45 +0000 (16:01 +0000)]
alpha.c: Include tree-ssanames.h.

* config/alpha.c: Include tree-ssanames.h.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r202631

10 years agore PR middle-end/58418 (wrong code at -O2 and -O3 on x86_64-linux-gnu (in 32-bit...
Vladimir Makarov [Mon, 16 Sep 2013 15:12:22 +0000 (15:12 +0000)]
re PR middle-end/58418 (wrong code at -O2 and -O3 on x86_64-linux-gnu (in 32-bit mode))

2013-09-16  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/58418
* lra-constraints.c (undo_optional_reloads): Consider all optional
reload even if it did not get a hard reg.

2013-09-16  Vladimir Makarov  <vmakarov@redhat.com>

* gcc.target/i386/pr58418.c: New.

From-SVN: r202630

10 years agodumpfile.c (dump_loc): Remove newline emission.
Teresa Johnson [Mon, 16 Sep 2013 13:40:02 +0000 (13:40 +0000)]
dumpfile.c (dump_loc): Remove newline emission.

2013-09-16  Teresa Johnson  <tejohnson@google.com>

* dumpfile.c (dump_loc): Remove newline emission.
* tree-vect-data-refs.c (vect_lanes_optab_supported_p): Add newline
emission to dump_printf_loc calls where missing.
(vect_mark_for_runtime_alias_test): Ditto.
(vect_analyze_data_ref_dependence): Ditto.
(vect_analyze_data_ref_dependences): Ditto.
(vect_slp_analyze_data_ref_dependence): Ditto.
(vect_slp_analyze_data_ref_dependences): Ditto.
(vect_compute_data_ref_alignment): Ditto.
(vect_update_misalignment_for_peel): Ditto.
(vect_verify_datarefs_alignment): Ditto.
(vector_alignment_reachable_p): Ditto.
(vect_get_data_access_cost): Ditto.
(vect_enhance_data_refs_alignment): Ditto.
(vect_find_same_alignment_drs): Ditto.
(vect_analyze_data_refs_alignment): Ditto.
(vect_analyze_group_access): Ditto.
(vect_analyze_data_ref_access): Ditto.
(vect_analyze_data_ref_accesses): Ditto.
(vect_prune_runtime_alias_test_list): Ditto.
(vect_analyze_data_refs): Ditto.
(vect_create_addr_base_for_vector_ref): Ditto.
(vect_create_data_ref_ptr): Ditto.
(vect_grouped_store_supported): Ditto.
(vect_grouped_load_supported): Ditto.
* value-prof.c (check_counter): Ditto.
(check_ic_target): Ditto.
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Ditto.
(vect_recog_widen_mult_pattern): Ditto.
(vect_recog_widen_sum_pattern): Ditto.
(vect_recog_over_widening_pattern): Ditto.
(vect_recog_widen_shift_pattern): Ditto.
(vect_recog_rotate_pattern): Ditto.
(vect_recog_vector_vector_shift_pattern): Ditto.
(vect_recog_divmod_pattern): Ditto.
(vect_recog_mixed_size_cond_pattern): Ditto.
(vect_recog_bool_pattern): Ditto.
(vect_pattern_recog_1): Ditto.
(vect_pattern_recog): Ditto.
* tree-vect-loop.c (vect_determine_vectorization_factor): Ditto.
(vect_is_simple_iv_evolution): Ditto.
(vect_analyze_scalar_cycles_1): Ditto.
(vect_get_loop_niters): Ditto.
(vect_analyze_loop_1): Ditto.
(vect_analyze_loop_form): Ditto.
(vect_analyze_loop_operations): Ditto.
(vect_analyze_loop_2): Ditto.
(vect_analyze_loop): Ditto.
(report_vect_op): Ditto.
(vect_is_slp_reduction): Ditto.
(vect_is_simple_reduction_1): Ditto.
(vect_get_known_peeling_cost): Ditto.
(vect_estimate_min_profitable_iters): Ditto.
(vect_model_reduction_cost): Ditto.
(vect_model_induction_cost): Ditto.
(get_initial_def_for_induction): Ditto.
(vect_create_epilog_for_reduction): Ditto.
(vectorizable_reduction): Ditto.
(vectorizable_induction): Ditto.
(vectorizable_live_operation): Ditto.
(vect_loop_kill_debug_uses): Ditto.
(vect_transform_loop): Ditto.
* tree-vect-stmts.c (vect_mark_relevant): Ditto.
(vect_stmt_relevant_p): Ditto.
(process_use): Ditto.
(vect_mark_stmts_to_be_vectorized): Ditto.
(vect_model_simple_cost): Ditto.
(vect_model_promotion_demotion_cost): Ditto.
(vect_model_store_cost): Ditto.
(vect_get_store_cost): Ditto.
(vect_model_load_cost): Ditto.
(vect_get_load_cost): Ditto.
(vect_init_vector_1): Ditto.
(vect_get_vec_def_for_operand): Ditto.
(vect_finish_stmt_generation): Ditto.
(vectorizable_call): Ditto.
(vectorizable_conversion): Ditto.
(vectorizable_assignment): Ditto.
(vectorizable_shift): Ditto.
(vectorizable_operation): Ditto.
(vectorizable_store): Ditto.
(vectorizable_load): Ditto.
(vectorizable_condition): Ditto.
(vect_analyze_stmt): Ditto.
(vect_transform_stmt): Ditto.
(vect_is_simple_use): Ditto.
* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Ditto.
(vect_can_advance_ivs_p): Ditto.
(vect_update_ivs_after_vectorizer): Ditto.
(vect_do_peeling_for_loop_bound): Ditto.
(vect_gen_niters_for_prolog_loop): Ditto.
(vect_update_inits_of_drs): Ditto.
(vect_create_cond_for_alias_checks): Ditto.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Ditto.
(vect_build_slp_tree_1): Ditto.
(vect_supported_load_permutation_p): Ditto.
(vect_analyze_slp_instance): Ditto.
(vect_analyze_slp): Ditto.
(vect_make_slp_decision): Ditto.
(vect_detect_hybrid_slp): Ditto.
(vect_bb_vectorization_profitable_p): Ditto.
(vect_slp_analyze_bb_1): Ditto.
(vect_update_slp_costs_according_to_vf): Ditto.
(vect_get_mask_element): Ditto.
(vect_transform_slp_perm_load): Ditto.
(vect_schedule_slp_instance): Ditto.
(vect_schedule_slp): Ditto.
(vect_slp_transform_bb): Ditto.
* profile.c (read_profile_edge_counts): Ditto.
(compute_branch_probabilities): Ditto.
* coverage.c (get_coverage_counts): Ditto.

From-SVN: r202628

10 years agotree-core.h: Add missing comment lines from refactoring of tree.h.
Diego Novillo [Mon, 16 Sep 2013 13:37:25 +0000 (09:37 -0400)]
tree-core.h: Add missing comment lines from refactoring of tree.h.

* tree-core.h: Add missing comment lines from refactoring
of tree.h.

From-SVN: r202627

10 years agogimple-fold.c (can_refer_decl_in_current_unit_p): Do not accept abstract functions...
Jan Hubicka [Mon, 16 Sep 2013 11:47:48 +0000 (13:47 +0200)]
gimple-fold.c (can_refer_decl_in_current_unit_p): Do not accept abstract functions; for static functions check the presence of body.

* gimple-fold.c (can_refer_decl_in_current_unit_p): Do not accept
abstract functions; for static functions check the presence
of body.

From-SVN: r202626

10 years ago[AArch64] Improve arm_neon.h vml<as>_lane handling.
James Greenhalgh [Mon, 16 Sep 2013 09:53:11 +0000 (09:53 +0000)]
[AArch64] Improve arm_neon.h vml<as>_lane handling.

gcc/
* config/aarch64/aarch64-simd-builtins.def (fma): New.
* config/aarch64/aarch64-simd.md
(aarch64_mla_elt<mode>): New.
(aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
(aarch64_mls_elt<mode>): Likewise.
(aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
(aarch64_fma4_elt<mode>): Likewise.
(aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
(aarch64_fma4_elt_to_128v2df): Likewise.
(aarch64_fma4_elt_to_64df): Likewise.
(fnma<mode>4): Likewise.
(aarch64_fnma4_elt<mode>): Likewise.
(aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
(aarch64_fnma4_elt_to_128v2df): Likewise.
(aarch64_fnma4_elt_to_64df): Likewise.
* config/aarch64/iterators.md (VDQSF): New.
* config/aarch64/arm_neon.h
(vfm<as><sdq>_lane<q>_f<32, 64>): Convert to C implementation.
(vml<sa><q>_lane<q>_<fsu><16, 32, 64>): Likewise.

gcc/testsuite/
* gcc.target/aarch64/fmla-intrinsic.c: New.
* gcc.target/aarch64/mla-intrinsic.c: Likewise.
* gcc.target/aarch64/fmls-intrinsic.c: Likewise.
* gcc.target/aarch64/mls-intrinsic.c: Likewise.

From-SVN: r202625

10 years ago[AArch64] Implement vmul<q>_lane<q>_<fsu><16,32,64> intrinsics in C
James Greenhalgh [Mon, 16 Sep 2013 09:50:21 +0000 (09:50 +0000)]
[AArch64] Implement vmul<q>_lane<q>_<fsu><16,32,64> intrinsics in C

gcc/
* config/aarch64/aarch64-simd.md (aarch64_mul3_elt<mode>): New.
(aarch64_mul3_elt_<vswap_width_name><mode>): Likewise.
(aarch64_mul3_elt_to_128df): Likewise.
(aarch64_mul3_elt_to_64v2df): Likewise.
* config/aarch64/iterators.md (VEL): Also handle DFmode.
(VMUL): New.
(VMUL_CHANGE_NLANES) Likewise.
(h_con): Likewise.
(f): Likewise.
* config/aarch64/arm_neon.h
(vmul<q>_lane<q>_<suf><16,32,64>): Convert to C implementation.

gcc/testsuite/
* gcc.target/aarch64/mul_intrinsic_1.c: New.
* gcc.target/aarch64/fmul_intrinsic_1.c: Likewise.

From-SVN: r202624

10 years ago[AArch64] Fix parameters to vcvtx_high
James Greenhalgh [Mon, 16 Sep 2013 09:45:43 +0000 (09:45 +0000)]
[AArch64] Fix parameters to vcvtx_high

* config/aarch64/arm_neon.h
(vcvtx_high_f32_f64): Fix parameters.

From-SVN: r202623

10 years agoalpha.c: Include tree-ssa.h.
Jan-Benedict Glaw [Mon, 16 Sep 2013 09:03:33 +0000 (11:03 +0200)]
alpha.c: Include tree-ssa.h.

* config/alpha.c: Include tree-ssa.h.

From-SVN: r202621

10 years agotree-loop-distribution.c (enum rdg_dep_type): Add control_dd.
Richard Biener [Mon, 16 Sep 2013 08:10:28 +0000 (08:10 +0000)]
tree-loop-distribution.c (enum rdg_dep_type): Add control_dd.

2013-09-16  Richard Biener  <rguenther@suse.de>

* tree-loop-distribution.c (enum rdg_dep_type): Add control_dd.
(dot_rdg_1): Handle control_dd.
(create_edge_for_control_dependence): New function.
(create_rdg_edges): Add control dependences if asked for.
(build_rdg): Likewise.
(generate_loops_for_partition): If there are not necessary
control stmts remove all their dependencies.
(collect_condition_stmts, rdg_flag_loop_exits): Remove.
(distribute_loop): Pass on control dependences.
(tree_loop_distribution): Compute control dependences and remove
restriction on number of loop nodes.

* gcc.dg/tree-ssa/ldist-22.c: New testcase.

From-SVN: r202619

10 years agoChange log update for 202610-202612.
Adam Butcher [Mon, 16 Sep 2013 08:04:45 +0000 (09:04 +0100)]
Change log update for 202610-202612.

From-SVN: r202615

10 years agoipa-prop.c (ipa_compute_jump_functions_for_edge): Return early for internal calls.
Jakub Jelinek [Mon, 16 Sep 2013 08:03:31 +0000 (10:03 +0200)]
ipa-prop.c (ipa_compute_jump_functions_for_edge): Return early for internal calls.

* ipa-prop.c (ipa_compute_jump_functions_for_edge): Return early
for internal calls.

From-SVN: r202614

10 years agocse.c (try_const_anchors): Punt on CC modes.
Richard Sandiford [Mon, 16 Sep 2013 07:24:15 +0000 (07:24 +0000)]
cse.c (try_const_anchors): Punt on CC modes.

gcc/
* cse.c (try_const_anchors): Punt on CC modes.

From-SVN: r202613

10 years agoSupport using 'auto' in a function parameter list to introduce an implicit template...
Adam Butcher [Mon, 16 Sep 2013 07:14:34 +0000 (08:14 +0100)]
Support using 'auto' in a function parameter list to introduce an implicit template parameter.

gcc/cp/
* cp-tree.h (type_uses_auto_or_concept): Declare.
(is_auto_or_concept): Declare.
* decl.c (grokdeclarator): Allow 'auto' parameters in lambdas with
-std=gnu++1y or -std=c++1y or, as a GNU extension, in plain functions.
* type-utils.h: New header defining ...
(find_type_usage): ... this new function based on pt.c (type_uses_auto)
for searching a type tree given a predicate.
* pt.c (type_uses_auto): Reimplement via type-utils.h (find_type_usage).
(is_auto_or_concept): New function.
(type_uses_auto_or_concept): New function.
* parser.h (struct cp_parser): Add fully_implicit_function_template_p.
* parser.c (cp_parser_new): Initialize fully_implicit_function_template_p.
(cp_parser_new): Initialize fully_implicit_function_template_p.
(cp_parser_lambda_expression): Copy and restore value of
fully_implicit_function_template_p as per other parser fields.
(cp_parser_parameter_declaration_list): Count generic
parameters and call ...
(add_implicit_template_parms): ... this new function to synthesize them
with help from type-utils.h (find_type_usage), ...
(tree_type_is_auto_or_concept): ... this new static function and ...
(make_generic_type_name): ... this new static function.
(cp_parser_direct_declarator): Account for implicit template parameters.
(cp_parser_lambda_declarator_opt): Finish fully implicit template if
necessary by calling ...
(finish_fully_implicit_template): ... this new function.
(cp_parser_init_declarator): Likewise.
(cp_parser_function_definition_after_declarator): Likewise.
(cp_parser_member_declaration): Likewise.
* Make-lang.in (cp/pt.o): Add dependency on type-utils.h.
(cp/parser.o): Likewise.

gcc/testsuite/
g++.dg/cpp0x/auto9.C: Downgrade two previously expected errors (now
interpreted as implicit templates) to be expected pedwarns instead.

From-SVN: r202612

10 years agoSupport lambda templates.
Adam Butcher [Mon, 16 Sep 2013 07:14:21 +0000 (08:14 +0100)]
Support lambda templates.

* parser.c (cp_parser_lambda_declarator_opt): Accept template parameter
list with std=c++1y or std=gnu++1y.
(cp_parser_lambda_body): Don't call 'expand_or_defer_fn' for lambda call
operator template to avoid adding template result to symbol table.
* lambda.c (lambda_function): Return template result if call operator is
a template.
(maybe_add_lambda_conv_op): Move declarations to point of use.  Refactor
operator call building in order to support conversion of a non-capturing
lambda template to a function pointer with help from ...
(prepare_op_call): ... this new function.
* decl2.c (check_member_template): Don't reject lambda call operator
template in local [lambda] class.
* pt.c (instantiate_class_template_1): Don't instantiate lambda call
operator template when instantiating lambda class.

From-SVN: r202611

10 years ago* pt.c (make_auto_1): Use input_location rather than BUILTINS_LOCATION.
Adam Butcher [Mon, 16 Sep 2013 07:14:11 +0000 (08:14 +0100)]
* pt.c (make_auto_1): Use input_location rather than BUILTINS_LOCATION.

From-SVN: r202610

10 years agore PR fortran/57697 ([OOP] Segfault with defined assignment for components during...
Tobias Burnus [Mon, 16 Sep 2013 06:42:02 +0000 (08:42 +0200)]
re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment)

2013-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * resolve.c (generate_component_assignments): Correctly handle
        * the
        case that the LHS is not allocated.

2013-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * gfortran.dg/defined_assignment_10.f90: Comment print
        * statement.

From-SVN: r202609

10 years agoDaily bump.
GCC Administrator [Mon, 16 Sep 2013 00:16:55 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202608

10 years agoCore DR 904 PR c++/41933
Jason Merrill [Sun, 15 Sep 2013 19:34:42 +0000 (15:34 -0400)]
Core DR 904 PR c++/41933

Core DR 904
PR c++/41933
* parser.c (cp_parser_lambda_introducer): Handle variadic capture.
* lambda.c (add_capture): Handle variadic capture.
(add_default_capture, lambda_capture_field_type): Likewise.
(build_capture_proxy, register_capture_members): Likewise.
* pt.c (register_specialization): Allow FIELD_DECL.
(retrieve_specialization): Likewise.
(find_parameter_packs_r): Handle FIELD_DECL and VAR_DECL.
(tsubst_pack_expansion): Handle FIELD_DECL packs.
(gen_elem_of_pack_expansion_instantiation): Likewise.
(instantiate_class_template_1): Likewise.
(tsubst_decl, tsubst_copy): Likewise.
(tsubst_expr) [DECL_EXPR]: Handle capture proxy packs.
(tsubst_copy_and_build) [VAR_DECL]: Likewise.
* semantics.c (finish_non_static_data_member): Don't try to represent
the type of a COMPOUND_REF of a FIELD_DECL pack.

From-SVN: r202605

10 years agore PR c++/41933 ([c++0x] lambdas and variadic templates don't work together)
Jason Merrill [Sun, 15 Sep 2013 19:34:34 +0000 (15:34 -0400)]
re PR c++/41933 ([c++0x] lambdas and variadic templates don't work together)

PR c++/41933
* cp-tree.h (DECL_PACK_P): Replace FUNCTION_PARAMETER_PACK_P.
* cxx-pretty-print.c (direct_declarator): Adjust.
* decl2.c (cp_build_parm_decl): Adjust.
* pt.c (function_parameter_pack_p): Adjust.
(find_parameter_packs_r, push_template_decl_real): Adjust.
(tsubst_pack_expansion, tsubst_decl): Adjust.
(regenerate_decl_from_template, instantiate_decl): Adjust.

From-SVN: r202604

10 years ago* lambda.c (add_capture): Don't add DECL_LANG_SPECIFIC.
Jason Merrill [Sun, 15 Sep 2013 19:34:27 +0000 (15:34 -0400)]
* lambda.c (add_capture): Don't add DECL_LANG_SPECIFIC.

From-SVN: r202603

10 years agore PR fortran/57697 ([OOP] Segfault with defined assignment for components during...
Tobias Burnus [Sun, 15 Sep 2013 10:54:10 +0000 (12:54 +0200)]
re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment)

2013-09-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * resolve.c (generate_component_assignments): Handle unallocated
        LHS with defined assignment of components.

2013-09-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * gfortran.dg/defined_assignment_10.f90: New.

From-SVN: r202601

10 years ago* config/vax/constraints.md (T): Add missing CONSTANT_P check.
Jan-Benedict Glaw [Sun, 15 Sep 2013 09:44:29 +0000 (09:44 +0000)]
* config/vax/constraints.md (T): Add missing CONSTANT_P check.

From-SVN: r202600

10 years agoDaily bump.
GCC Administrator [Sun, 15 Sep 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202599

10 years agore PR target/58382 (unwind.inc:136:1: ICE: in trunc_int_for_mode, at explow.c:55)
John David Anglin [Sat, 14 Sep 2013 16:58:01 +0000 (16:58 +0000)]
re PR target/58382 (unwind.inc:136:1: ICE: in trunc_int_for_mode, at explow.c:55)

PR target/58382
* config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
calls to word_mode.

From-SVN: r202594

10 years agore PR target/48094 (ld: warning: section has unexpectedly large size errors in objc...
Iain Sandoe [Sat, 14 Sep 2013 15:36:41 +0000 (15:36 +0000)]
re PR target/48094 (ld: warning: section has unexpectedly large size errors in objc/obj-c++ lto)

gcc:

       PR target/48094
        * config/darwin.c (darwin_objc2_section): Note if ObjC Metadata is seen.
        (darwin_objc1_section): Likewise.
        (darwin_file_end): Emit Image Info section when required.

gcc/c-family:

       PR target/48094
        * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
        fobjc-gc, freplace-objc-classes): Accept for LTO.

gcc/objc:

       PR target/48094
        * objc-next-runtime-abi-01.c (generate_objc_image_info): Remove.
        (objc_generate_v1_next_metadata): Remove generation of ImageInfo.
        * objc-next-runtime-abi-02.c (generate_v2_objc_image_info): Remove.
        (objc_generate_v2_next_metadata): Remove generation of ImageInfo.

From-SVN: r202593

10 years agotree-into-ssa.c (gate_into_ssa): New.
Jan Hubicka [Sat, 14 Sep 2013 15:27:21 +0000 (17:27 +0200)]
tree-into-ssa.c (gate_into_ssa): New.

* tree-into-ssa.c (gate_into_ssa): New.
(pass_data_build_ssa): Use it.
* cgraph.h (expand_thunk): Update prototype.
* cgraphunit.c (analyze_function): Expand thunks early.
(expand_thunk): Fix DECL_CONTEXT of reust_decl;
build proper cgraph; set in_ssa_p; clear bogus TREE_ASM_WRITTEN;
set lowered flag; do not add new function.
(assemble_thunks_and_aliases): Update.
* tree-ssa.c (gate_init_datastructures): New gate.
(pass_data_init_datastructures): Use it.

From-SVN: r202592

10 years agoregex.h (regex_match<>, [...]): Change regex_executor caller.
Tim Shen [Sat, 14 Sep 2013 14:23:44 +0000 (14:23 +0000)]
regex.h (regex_match<>, [...]): Change regex_executor caller.

2013-09-14  Tim Shen  <timshen91@gmail.com>

* include/bits/regex.h (regex_match<>, regex_search<>):
Change regex_executor caller. Now use their return value instead
of checking __m[0].matched to find out if it's successful.
(regex_search<>): Move the search logic to regex_executor.
* include/bits/regex_automaton.h: Add some new _Opcode. Refactor
_NFA::_M_insert_*.
* include/bits/regex_automaton.tcc: Add DEBUG dump for new
_Opcode. Refactor _NFA::_M_insert_*.
* include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
Use make_shared instead of construct by hand.
* include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
* include/bits/regex_constants.h: Fix indentation and line breaking.
* include/bits/regex_executor.h: Add _ResultsEntry to support
greedy/ungreedy mode. Move regex_search logic here.
* include/bits/regex_executor.tcc: Implement assertions and
greedy/ungreedy matching.
* include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
* include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
Fix comment.

From-SVN: r202591

10 years agore PR target/58269 (ICE when building libobjc on x86_64-apple-darwin* after revision...
Iain Sandoe [Sat, 14 Sep 2013 11:09:55 +0000 (11:09 +0000)]
re PR target/58269 (ICE when building libobjc on x86_64-apple-darwin*  after revision 201915)

gcc:

PR target/58269
config/i386/i386.c (ix86_function_arg_regno_p): Make Darwin use the
xmm register set described in the psABI.

From-SVN: r202590

10 years agoFix glitches
Eric Botcazou [Sat, 14 Sep 2013 08:44:25 +0000 (08:44 +0000)]
Fix glitches

From-SVN: r202589

10 years agomulsi3.S: Remove a few unneeded moves and branches.
DJ Delorie [Sat, 14 Sep 2013 06:13:18 +0000 (02:13 -0400)]
mulsi3.S: Remove a few unneeded moves and branches.

* config/rl78/mulsi3.S: Remove a few unneeded moves and branches.
* config/rl78/vregs.h: New.
* config/rl78/signbit.S: New file.  Implements signbit function.
* config/rl78/divmodsi.S: New.
* config/rl78/divmodhi.S: New.
* config/rl78/divmodqi.S: New.
* config/rl78/t-rl78: Build them here...
* config/rl78/lib2div.c: ...but not here.

Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r202588

10 years agoRemove myself from MAINTAINERS
Gabriel Dos Reis [Sat, 14 Sep 2013 00:54:57 +0000 (00:54 +0000)]
Remove myself from MAINTAINERS

From-SVN: r202587

10 years agoDaily bump.
GCC Administrator [Sat, 14 Sep 2013 00:17:29 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r202586

10 years agodwarf2out.c (should_emit_struct_debug): Add check for type_decl variable is not NULL.
Evgeny Gavrin [Fri, 13 Sep 2013 22:36:42 +0000 (22:36 +0000)]
dwarf2out.c (should_emit_struct_debug): Add check for type_decl variable is not NULL.

2013-09-13  Evgeny Gavrin <e.gavrin@samsung.com>

gcc/
        * dwarf2out.c (should_emit_struct_debug): Add check
        for type_decl variable is not NULL.

gcc/testsuite
        * gcc.dg/debug/dwarf2/omp-fesdr.c: Add test.
        * g++.dg/debug/dwarf2/omp-fesdr.C: Add test.

From-SVN: r202582

10 years agoChangelog entry for correction of thinko in the target pair
Dominique d'Humieres [Fri, 13 Sep 2013 21:41:49 +0000 (21:41 +0000)]
Changelog entry for correction of thinko in the target pair
filter for darwin.

From-SVN: r202579

10 years agoFix thinko in the late conversion to the use of configure variables for
Dominique d'Humieres [Fri, 13 Sep 2013 21:39:11 +0000 (21:39 +0000)]
Fix thinko in the late conversion to the use of configure variables for
the target pairs selection:

        * gcc-interface/Makefile.in: Fix darwin Filter to match on $target_os,
        not target_cpu.

From-SVN: r202578

10 years agore PR c++/58273 (Segmentation fault with C++11)
Jason Merrill [Fri, 13 Sep 2013 19:11:23 +0000 (15:11 -0400)]
re PR c++/58273 (Segmentation fault with C++11)

PR c++/58273
* pt.c (any_type_dependent_elements_p): Actually check for
type-dependence, not value-dependence.

From-SVN: r202576

10 years agore PR libstdc++/58415 (__sso_string_base move constructor does not null terminate...
Paolo Carlini [Fri, 13 Sep 2013 18:32:42 +0000 (18:32 +0000)]
re PR libstdc++/58415 (__sso_string_base move constructor does not null terminate local data when moving from empty string)

2013-09-13  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/58415
* include/ext/sso_string_base.h (__sso_string_base<>::
__sso_string_base(__sso_string_base&&)): Fix thinkos about
_M_length vs _M_set_length.
* testsuite/ext/vstring/cons/58415-1.cc: New.
* testsuite/ext/vstring/cons/58415-2.cc: Likewise.

From-SVN: r202574

10 years agoc-target.def: New hook
Jacek Caban [Fri, 13 Sep 2013 18:06:41 +0000 (18:06 +0000)]
c-target.def: New hook

2013-09-13  Jacek Caban  <jacek@codeweavers.com>

* c-target.def: New hook

    gcc/ChangeLog:

2013-09-13  Jacek Caban  <jacek@codeweavers.com>

* config.gcc: Use new winnt-c.c target hooks
* config/t-winnt: New file
* config/winnt-c.c: New file
* doc/tm.texi.in: Document new hook
* doc/tm.texi: Regenerated

    gcc/cp/Changelog:

2013-09-13  Jacek Caban  <jacek@codeweavers.com>

* decl.c: Use new cxx_implicit_extern_c hook

    gcc/testsuite/ChangeLog:

2013-09-13  Jacek Caban  <jacek@codeweavers.com>

* g++.dg/abi/main.C: Added implicit C linkage tests

From-SVN: r202573

10 years agore PR target/57848 (internal compiler error on builtin and '#pragma GCC target()...
Kai Tietz [Fri, 13 Sep 2013 17:28:25 +0000 (19:28 +0200)]
re PR target/57848 (internal compiler error on builtin and '#pragma GCC target()' option)

PR target/57848
* c-decl.c (c_builtin_function_ext_scope): Remove
wrong assumption that it is never called on prexisting
symbol.

From-SVN: r202572

10 years agogcc.target/i386/pr57848.c: New file.
Kai Tietz [Fri, 13 Sep 2013 17:27:29 +0000 (19:27 +0200)]
gcc.target/i386/pr57848.c: New file.

From-SVN: r202571

10 years agoRevert r202554, r202540 and r202539.
Adam Butcher [Fri, 13 Sep 2013 16:14:15 +0000 (17:14 +0100)]
Revert r202554, r202540 and r202539.

 - r202554: Fix uninitialized variables causing breakage with -Werror.
 - r202540: Support using 'auto' in a function parameter list to introduce an implicit template parameter.
 - r202539: Support lambda templates.

From-SVN: r202570

10 years agore PR middle-end/58094 (IPA devirt testsuite errors)
Jan Hubicka [Fri, 13 Sep 2013 14:35:32 +0000 (16:35 +0200)]
re PR middle-end/58094 (IPA devirt testsuite errors)

PR middle-end/58094
* ipa-inline.c (check_callers): New function.
(check_caller_edge): Remove.
(want_inline_function_to_all_callers_p): Also permit alises that are
called dirrectly.
(inline_to_all_callers): Terminate the walk when devirtualization
introduce new calls.

From-SVN: r202567

10 years agoipa-inline-analysis.c (struct growth_data): Add node.
Jan Hubicka [Fri, 13 Sep 2013 14:28:03 +0000 (16:28 +0200)]
ipa-inline-analysis.c (struct growth_data): Add node.

* ipa-inline-analysis.c (struct growth_data): Add node.
(do_estimate_growth_1): Fix detection of recursion.

From-SVN: r202566

10 years agore PR libgomp/58392 (internal compiler error: in expand_GOMP_SIMD_VF, at internal...
Jakub Jelinek [Fri, 13 Sep 2013 12:42:04 +0000 (14:42 +0200)]
re PR libgomp/58392 (internal compiler error: in expand_GOMP_SIMD_VF, at internal-fn.c (omp simd inside omp parallel))

PR tree-optimization/58392
* tree-cfg.c (move_sese_region_to_fn): Rename loop variable
to avoid shadowing of outer loop variable.  If
saved_cfun->has_simduid_loops or saved_cfun->has_force_vect_loops,
replace_by_duplicate_decl simduid of loops that have it set and
set dest_cfun->has_simduid_loops and/or
dest_cfun->has_force_vect_loops.
* omp-low.c (build_outer_var_ref): Call maybe_lookup_decl_in_outer_ctx
instead of maybe_lookup_decl.
* tree-inline.c (copy_loops): Change blocks_to_copy argument to id.
Use id->blocks_to_copy instead of blocks_to_copy.  Adjust recursive
call.  Copy over force_vect and copy and remap simduid.  Set
cfun->has_simduid_loops and/or cfun->has_force_vect_loops.
(copy_cfg_body): Remove blocks_to_copy argument.  Use
id->blocks_to_copy instead of blocks_to_copy.  Adjust copy_loops
caller.  Don't set cfun->has_simduid_loops and/or
cfun->has_force_vect_loops here.
(copy_body): Remove blocks_to_copy argument.  Adjust copy_cfg_body
caller.
(expand_call_inline, tree_function_versioning): Adjust copy_body
callers.

From-SVN: r202564

10 years agore PR bootstrap/58388 (LTO profiledbootstrap fails in stage feedback for tree-ssa...
Martin Jambor [Fri, 13 Sep 2013 12:04:54 +0000 (14:04 +0200)]
re PR bootstrap/58388 (LTO profiledbootstrap fails in stage feedback for tree-ssa-structalias.c with "internal compiler error: in try_make_edge_direct_simple_call, at ipa-prop.c:2606")

2013-09-13  Martin Jambor  <mjambor@suse.cz>

PR bootstrap/58388
* ipa-prop.c (try_make_edge_direct_simple_call): Be less strict in
the assert if the edge was a speculative one.

From-SVN: r202563

10 years agoconfigure.tgt: Remove *-*-*android* from supported targets.
Alexander Ivchenko [Fri, 13 Sep 2013 11:21:10 +0000 (11:21 +0000)]
configure.tgt: Remove *-*-*android* from supported targets.

* configure.tgt: Remove *-*-*android* from supported targets.

From-SVN: r202562

10 years agotree-data-ref.h (known_dependences_p): Move here ...
Richard Biener [Fri, 13 Sep 2013 10:58:35 +0000 (10:58 +0000)]
tree-data-ref.h (known_dependences_p): Move here ...

2013-09-13  Richard Biener  <rguenther@suse.de>

* tree-data-ref.h (known_dependences_p): Move here ...
* tree-loop-distribution.c (known_dependences_p): ... from here.
(dump_rdg_component, debug_rdg_component): Remove.
(dump_rdg): Adjust.
(generate_loops_for_partition): Use gimple_uid instead of
relying on matching stmt visit order.
(rdg_build_partitions): Take starting stmt vector.
(ldist_gen): Merge into ...
(distribute_loop): ... this function.  Do not compute starting
vertices vector.
* tree-cfg.c (gimple_duplicate_bb): Copy UID for PHIs.

From-SVN: r202561

10 years agoarm.md (arm_cmpsi_insn): Split rI alternative.
Kyrylo Tkachov [Fri, 13 Sep 2013 10:26:34 +0000 (10:26 +0000)]
arm.md (arm_cmpsi_insn): Split rI alternative.

2013-09-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm.md (arm_cmpsi_insn): Split rI alternative.
Set type attribute correctly. Set predicable_short_it attribute.
(cmpsi_shiftsi): Remove %? from output template.

From-SVN: r202560

10 years agotree-loop-distribution.c (struct rdg_component, [...]): Remove.
Richard Biener [Fri, 13 Sep 2013 08:30:48 +0000 (08:30 +0000)]
tree-loop-distribution.c (struct rdg_component, [...]): Remove.

2013-09-13  Richard Biener  <rguenther@suse.de>

* tree-loop-distribution.c (struct rdg_component,
rdg_defs_used_in_other_loops_p, free_rdg_components,
rdg_build_components): Remove.
(stmts_from_loop): Do not record virtual PHIs.
(generate_loops_for_partition): Skip virtual PHIs.
(build_rdg_partition_for_component): Rename to ...
(build_rdg_partition_for_vertex): ... this and adjust.
(rdg_build_partitions): Take a vector of starting vertices
instead of components.  Remove unnecessary leftover handling.
(ldist_gen): Do not build components or record other stores.
(distribute_loop): Do not distribute loops containing stmts
with side-effects.

From-SVN: r202558

10 years agore PR target/58314 (SH4 error: 'asm' operand requires impossible reload)
Christian Bruel [Fri, 13 Sep 2013 07:51:07 +0000 (09:51 +0200)]
re PR target/58314 (SH4 error: 'asm' operand requires impossible reload)

2013-09-13  Christian Bruel  <christian.bruel@st.com>

        PR target/58314
        * config/sh/sh.md (mov<mode>_reg_reg): Allow memory reloads.

From-SVN: r202557

10 years agoconfig.gcc: Separate cases for mingw and cygwin targets, and add 64-bit cygwin target...
Kai Tietz [Fri, 13 Sep 2013 06:44:31 +0000 (08:44 +0200)]
config.gcc: Separate cases for mingw and cygwin targets, and add 64-bit cygwin target case.

* config.gcc: Separate cases for mingw and cygwin targets,
and add 64-bit cygwin target case.

From-SVN: r202556

10 years agowinnt-cxx.c (i386_pe_type_dllexport_p): Don't dll-export inline-functions.
Kai Tietz [Fri, 13 Sep 2013 06:43:17 +0000 (08:43 +0200)]
winnt-cxx.c (i386_pe_type_dllexport_p): Don't dll-export inline-functions.

2013-09-13  Kai Tietz  <ktietz@redhat.com>

* config/i386/winnt-cxx.c (i386_pe_type_dllexport_p): Don't
dll-export inline-functions.
* config/i386/winnt.c (i386_pe_determine_dllexport_p): Likewise.

Additional fix ChangeLog-date of prior commit.

From-SVN: r202555

10 years agoFix uninitialized variables causing breakage with -Werror.
Adam Butcher [Fri, 13 Sep 2013 06:37:25 +0000 (07:37 +0100)]
Fix uninitialized variables causing breakage with -Werror.

* lambda.c (maybe_add_lambda_conv_op): Initialize direct_argvec and call
to nullptr to avoid breakage with -Werror.

From-SVN: r202554

10 years agoRevert " * tree-ssa-dom.c (cprop_into_successor_phis): Also propagate"
Jeff Law [Fri, 13 Sep 2013 06:04:32 +0000 (00:04 -0600)]
Revert "        * tree-ssa-dom.c (cprop_into_successor_phis): Also propagate"

This reverts commit 592dc887e7bd7b2637b9277c3bd28f41a9487b17.

Conflicts:
gcc/ChangeLog

From-SVN: r202553

10 years agoDaily bump.
GCC Administrator [Fri, 13 Sep 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202549

10 years agorl78-virt.md: Change from | to \; for asm line separators.
DJ Delorie [Thu, 12 Sep 2013 23:12:49 +0000 (19:12 -0400)]
rl78-virt.md: Change from | to \; for asm line separators.

* config/rl78/rl78-virt.md: Change from | to \; for asm line
separators.

From-SVN: r202545

10 years agore PR driver/42955 (undecorated cross-compiler gcc fails to find cc1)
Brooks Moses [Thu, 12 Sep 2013 23:07:32 +0000 (16:07 -0700)]
re PR driver/42955 (undecorated cross-compiler gcc fails to find cc1)

PR driver/42955
* Makefile.in: Do not install driver binaries in $(target)/bin.
* cp/Make-lang.in: Likewise.
* fortran/Make-lang.in: Likewise.

From-SVN: r202544

10 years agorl78.opt (mrelax): New.
DJ Delorie [Thu, 12 Sep 2013 23:03:35 +0000 (19:03 -0400)]
rl78.opt (mrelax): New.

* config/rl78/rl78.opt (mrelax): New.
* config/rl78/rl78.h (ASM_SPEC): New, pass on -mrelax to gas.
* config/rl78/rl78.h (LINK_SPEC): New, pass on -mrelax to ld.

From-SVN: r202543

10 years agorl78.c (rl78_expand_prologue): Use AX to copy between SP and FP.
DJ Delorie [Thu, 12 Sep 2013 22:43:30 +0000 (18:43 -0400)]
rl78.c (rl78_expand_prologue): Use AX to copy between SP and FP.

* config/rl78/rl78.c (rl78_expand_prologue): Use AX to copy
between SP and FP.
(rl78_expand_epilogue): Likewise.

From-SVN: r202542

10 years agoSupport using 'auto' in a function parameter list to introduce an implicit template...
Adam Butcher [Thu, 12 Sep 2013 21:04:52 +0000 (22:04 +0100)]
Support using 'auto' in a function parameter list to introduce an implicit template parameter.

* cp-tree.h (type_uses_auto_or_concept): Declare.
(is_auto_or_concept): Declare.
* decl.c (grokdeclarator): Allow 'auto' parameters in lambdas with
-std=gnu++1y or -std=c++1y or, as a GNU extension, in plain functions.
* type-utils.h: New header defining ...
(find_type_usage): ... this new function based on pt.c (type_uses_auto)
for searching a type tree given a predicate.
* pt.c (type_uses_auto): Reimplement via type-utils.h (find_type_usage).
(is_auto_or_concept): New function.
(type_uses_auto_or_concept): New function.
* parser.h (struct cp_parser): Add fully_implicit_function_template_p.
* parser.c (cp_parser_new): Initialize fully_implicit_function_template_p.
(cp_parser_new): Initialize fully_implicit_function_template_p.
(cp_parser_lambda_expression): Copy and restore value of
fully_implicit_function_template_p as per other parser fields.
(cp_parser_parameter_declaration_list): Count generic
parameters and call ...
(add_implicit_template_parms): ... this new function to synthesize them
with help from type-utils.h (find_type_usage), ...
(tree_type_is_auto_or_concept): ... this new static function and ...
(make_generic_type_name): ... this new static function.
(cp_parser_direct_declarator): Account for implicit template parameters.
(cp_parser_lambda_declarator_opt): Finish fully implicit template if
necessary by calling ...
(finish_fully_implicit_template): ... this new function.
(cp_parser_member_declaration): Likewise.
(cp_parser_function_definition_after_declarator): Likewise.
* Make-lang.in (cp/pt.o): Add dependency on type-utils.h.
(cp/parser.o): Likewise.

From-SVN: r202540

10 years agoSupport lambda templates.
Adam Butcher [Thu, 12 Sep 2013 18:54:52 +0000 (19:54 +0100)]
Support lambda templates.

* parser.c (cp_parser_lambda_declarator_opt): Accept template parameter
list with std=c++1y or std=gnu++1y.
(cp_parser_lambda_body): Don't call 'expand_or_defer_fn' for lambda call
operator template to avoid adding template result to symbol table.
* lambda.c (lambda_function): Return template result if call operator is
a template.
(maybe_add_lambda_conv_op): Move declarations to point of use.  Refactor
operator call building in order to support conversion of a non-capturing
lambda template to a function pointer with help from ...
(prepare_op_call): ... this new function.
* decl2.c (check_member_template): Don't reject lambda call operator
template in local [lambda] class.
* pt.c (instantiate_class_template_1): Don't instantiate lambda call
operator template when instantiating lambda class.

From-SVN: r202539

10 years agoSupport decl instantiation in function-local templates.
Adam Butcher [Thu, 12 Sep 2013 18:54:42 +0000 (19:54 +0100)]
Support decl instantiation in function-local templates.

* pt.c (instantiate_decl): Save/restore cp_unevaluated_operand and
c_inhibit_evaluation_warnings.  Reset if instantiating within a
function-local template.

From-SVN: r202538

10 years agoAdd missed .c for the file name in Changelog
Vladimir Makarov [Thu, 12 Sep 2013 18:26:46 +0000 (18:26 +0000)]
Add missed .c for the file name in Changelog

From-SVN: r202537

10 years agore PR middle-end/58335 (S/390: reload vs lra regression - testcase builtin-in-setjmp)
Vladimir Makarov [Thu, 12 Sep 2013 18:23:09 +0000 (18:23 +0000)]
re PR middle-end/58335 (S/390: reload vs lra regression - testcase builtin-in-setjmp)

2013-09-12  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/58335
* lra-eliminations (remove_reg_equal_offset_note): New.
(eliminate_regs_in_insn): Rewrite frame pointer to hard frame
pointer elimination with using remove_reg_equal_offset_note.

From-SVN: r202536

10 years agoMAINTAINERS: Add Nick Clifton and DJ Delorie as msp430 maintainers.
DJ Delorie [Thu, 12 Sep 2013 17:52:41 +0000 (13:52 -0400)]
MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430 maintainers.

* MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430
maintainers.

[gcc]
* config/msp430/: New port.
* config.gcc (msp430): Added.
* doc/invoke.texi: Document MSP430 options.
* doc/install.texi: Document msp430-elf
* doc/md.texi: Document msp430-elf
* doc/contrib.texi: Document msp430-elf

[libgcc]
* config.host (msp*-*-elf): New.
* config/msp430/: New port.

[contrib]
* config-list.mk: Add msp430-elf.

From-SVN: r202535

10 years agocfgexpand.c (expand_debug_expr): Avoid sign-extending SImode to PSImode.
DJ Delorie [Thu, 12 Sep 2013 17:06:38 +0000 (13:06 -0400)]
cfgexpand.c (expand_debug_expr): Avoid sign-extending SImode to PSImode.

* cfgexpand.c (expand_debug_expr): Avoid sign-extending SImode to
PSImode.

From-SVN: r202534

10 years agopr58380.C: Suppress warnings with "-w".
Paolo Carlini [Thu, 12 Sep 2013 15:46:23 +0000 (15:46 +0000)]
pr58380.C: Suppress warnings with "-w".

2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/torture/pr58380.C: Suppress warnings with "-w".

From-SVN: r202533

10 years agore PR ipa/58389 (g++ ICE in ipa_find_reference)
Martin Jambor [Thu, 12 Sep 2013 15:20:05 +0000 (17:20 +0200)]
re PR ipa/58389 (g++ ICE in ipa_find_reference)

2013-09-12  Martin Jambor  <mjambor@suse.cz>

PR ipa/58389
* ipa-prop.c (remove_described_reference): Give up if the edge in the
reference descriptor is NULL.
(ipa_edge_removal_hook): If owning a reference descriptor, set its
edge to NULL.

testsuite/
* g++.dg/pr58389.C: New test.

From-SVN: r202532

10 years agore PR libstdc++/58403 (__normal_iterator triggers odr-use)
Paolo Carlini [Thu, 12 Sep 2013 15:15:34 +0000 (15:15 +0000)]
re PR libstdc++/58403 (__normal_iterator triggers odr-use)

2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/58403
* include/bits/stl_iterator.h (__normal_iterator<>::operator[],
operator+=, operator+, operator-=, operator-): Take the argument
by value.
* testsuite/24_iterators/normal_iterator/58403.cc: New.

From-SVN: r202531

10 years ago2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Thu, 12 Sep 2013 14:22:32 +0000 (14:22 +0000)]
2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

* Tweak last ChangeLo entry.

From-SVN: r202530

10 years ago2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Thu, 12 Sep 2013 14:20:55 +0000 (14:20 +0000)]
2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

* Complete last commit.

From-SVN: r202529

10 years agosemantics.c (finish_pseudo_destructor_expr): Add location_t parameter.
Paolo Carlini [Thu, 12 Sep 2013 13:49:18 +0000 (13:49 +0000)]
semantics.c (finish_pseudo_destructor_expr): Add location_t parameter.

2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

* semantics.c (finish_pseudo_destructor_expr): Add location_t
parameter.
* pt.c (unify_arg_conversion): Use EXPR_LOC_OR_HERE.
(tsubst_copy_and_build): Adjust finish_pseudo_destructor_expr
calls.
* parser.c (cp_parser_postfix_dot_deref_expression): Likewise.
(cp_parser_postfix_expression): Pass the proper location to
cp_parser_postfix_dot_deref_expression.

/testsuite
2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/template/pseudodtor2.C: Add column number to dg-error
strings.
* g++.dg/template/pseudodtor3.C: Likewise.

From-SVN: r202528

10 years agotree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c (SSANAMES...
Andrew MacLeod [Thu, 12 Sep 2013 13:30:31 +0000 (13:30 +0000)]
tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c (SSANAMES...

* tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c
(SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS, ptr_info_def,
num_ssa_names, ssa_name): Move to tree-ssanames.h + prototypes.
* tree-flow-inline.h (make_ssa_name, copy_ssa_name, duplicate_ssa_name,
make_temp_ssa_name): move to tree-ssanames.h
* tree-ssa-alias.h: Move prototype.
* tree-ssa.h: Include tree-ssanames.h.
* tree-ssanames.c (FREE_SSANAMES): Move to here.
* tree-ssanames.h: New.  Move items from tree-flow*.h
* Makefile.in (tree-ssanames.h): Add to tree-ssanames.o and GTFILES.

From-SVN: r202527

10 years agoChangeLog: Add missing file to two entries.
Gary Benson [Thu, 12 Sep 2013 13:27:46 +0000 (13:27 +0000)]
ChangeLog: Add missing file to two entries.

* libiberty/ChangeLog: Add missing file to two entries.

From-SVN: r202526

10 years agore PR tree-optimization/58404 (&noninvariant_address not forwproped into ->handled_co...
Richard Biener [Thu, 12 Sep 2013 13:20:17 +0000 (13:20 +0000)]
re PR tree-optimization/58404 (&noninvariant_address not forwproped into ->handled_component)

2013-09-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58404
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also
propagate non-invariant addresses into dereferences wrapped
in component references.

* g++.dg/tree-ssa/pr58404.C: New testcase.

From-SVN: r202525

10 years agore PR middle-end/58402 (FAIL: gcc.dg/tree-ssa/phi-opt-1.c scan-tree-dump-times optimi...
Richard Biener [Thu, 12 Sep 2013 13:19:21 +0000 (13:19 +0000)]
re PR middle-end/58402 (FAIL: gcc.dg/tree-ssa/phi-opt-1.c scan-tree-dump-times optimized "if" 0)

2013-09-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58402
* passes.def: Move pass_late_warn_uninitialized later.

From-SVN: r202524

10 years agotree-ssa.h: New.
Andrew MacLeod [Thu, 12 Sep 2013 13:03:18 +0000 (13:03 +0000)]
tree-ssa.h: New.

* tree-ssa.h: New.  Move content from tree-flow.h and
tree-flow-inline.h.
* tree-flow.h (_edge_var_map, edge_var_map_vector): Move to tree-ssa.h.
Move prototypes belonging to tree-ssa.c.
* tree-flow-inline.h (redirect_edge_var_map_def,
redirect_edge_var_map_result, redirect_edge_var_map_location): Move to
tree-ssa.h.
* gimple.h: Adjust prototypes.
* tree-ssa.c (useless_type_conversion_p, types_compatible_p): Move to...
* gimple.c (useless_type_conversion_p, types_compatible_p):  Here.
* tree.h: Move prototype to tree-ssa.h.
* gengtype.c (open_base_files): Replace tree-flow.h with tree-ssa.h.
* Makefile.in: (TREE_SSA_H, TREE_FLOW_H): Adjust dependencies.
* alias.c, asan.c, builtins.c, calls.c, cfgexpand.c, cfghooks.c,
cfgloop.c, cfgloopmanip.c, cgraph.c, cgraphbuild.c, cgraphclones.c,
cgraphunit.c, dse.c, except.c, expr.c, final.c, fold-const.c,
ggc-page.c, gimple-fold.c, gimple-iterator.c, gimple-low.c,
gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
gimple-streamer-in.c, gimple-streamer-out.c, gimple.c, gimplify.c,
graphite-blocking.c, graphite-clast-to-gimple.c, graphite-dependences.c,
graphite-interchange.c, graphite-optimize-isl.c, graphite-poly.c,
graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c,
ipa-cp.c, ipa-inline-analysis.c, ipa-inline-transform.c, ipa-inline.c,
ipa-prop.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa-utils.c,
loop-init.c, lto-cgraph.c, lto-section-in.c, lto-section-out.c,
lto-streamer-in.c, lto-streamer-out.c, lto-streamer.c, omp-low.c,
passes.c, predict.c, print-tree.c, profile.c, sese.c, targhooks.c,
tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
tree-chrec.c, tree-complex.c, tree-data-ref.c, tree-dfa.c, tree-eh.c,
tree-emutls.c, tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
tree-loop-distribution.c, tree-mudflap.c, tree-nested.c, tree-nrv.c,
tree-object-size.c, tree-optimize.c, tree-outof-ssa.c, tree-parloops.c,
tree-phinodes.c, tree-predcom.c, tree-pretty-print.c, tree-profile.c,
tree-scalar-evolution.c, tree-sra.c, tree-ssa*.c, tree-stdarg.c,
tree-streamer-in.c, tree-switch-conversion.c, tree-tailcall.c,
tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop-manip.c,
tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
tree-vect-stmts.c, tree-vectorizer.c, tree-vrp.c, tsan.c,
value-prof.c, var-tracking.c,
varpool.c, vtable-verify.c: Replace tree-flow.h with tree-ssa.h

From-SVN: r202523

10 years agore PR ipa/58371 (internal compiler error: in ipcp_verify_propagated_values, at ipa...
Martin Jambor [Thu, 12 Sep 2013 12:15:15 +0000 (14:15 +0200)]
re PR ipa/58371 (internal compiler error: in ipcp_verify_propagated_values, at ipa-cp.c:892)

2013-09-12  Martin Jambor  <mjambor@suse.cz>

PR ipa/58371
* g++.dg/ipa/pr58371.C: New test.

From-SVN: r202522

10 years agore PR tree-optimization/58396 (heap-use-after-free at gcc/tree-loop-distribution...
Richard Biener [Thu, 12 Sep 2013 11:18:46 +0000 (11:18 +0000)]
re PR tree-optimization/58396 (heap-use-after-free at gcc/tree-loop-distribution.c:1959)

2013-09-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58396
* tree-loop-distribution.c (create_rdg_edges): Free unused DDRs.
(build_rdg): Take a loop-nest parameter, fix memleaks.
(distribute_loop): Compute loop-nest here and pass it to build_rdg.

From-SVN: r202521

10 years agox86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE for SLM.
Yuri Rumyantsev [Thu, 12 Sep 2013 10:48:53 +0000 (10:48 +0000)]
x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE for SLM.

* config/i386/x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE
  for SLM.

From-SVN: r202520

10 years agoChangeLog entry for
Thomas Schwinge [Thu, 12 Sep 2013 09:41:42 +0000 (09:41 +0000)]
ChangeLog entry for

        * gcc-interface/Makefile.in: Import target_cpu, target_vendor,
        target_os and their host_ counterparts. Remove host_canonical and
        target_cpu_default, unused. Remove local ad-hoc computations of
        "host", "targ", "arch", "osys" and "manu". Replace uses of these by
        uses of the now imported family, hence back to filters against
        canonical values. Remove filters on e500 for target_cpu, expected to
        be canonicalized into powerpc. Invert the logic filtering on 64bit
        sparc for VxWorks. Simplify the filtering logic for bareboard tools
        target pairs, now using straight elf/eabi filters on the target_os
        part only.

From-SVN: r202519

10 years agoMakefile.in: Import target_cpu, target_vendor, target_os and their host_ counterparts.
Thomas Schwinge [Thu, 12 Sep 2013 09:35:54 +0000 (09:35 +0000)]
Makefile.in: Import target_cpu, target_vendor, target_os and their host_ counterparts.

2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
            Olivier Hainque  <hainque@adacore.com>

* gcc-interface/Makefile.in: Import target_cpu, target_vendor,
target_os and their host_ counterparts. Remove host_canonical and
target_cpu_default, unused. Remove local ad-hoc computations of
"host", "targ", "arch", "osys" and "manu". Replace uses of these by
uses of the now imported family, hence back to filters against
canonical values. Remove filters on e500 for target_cpu, expected to
be canonicalized into powerpc. Invert the logic filtering on 64bit
sparc for VxWorks. Simplify the filtering logic for bareboard tools
target pairs, now using straight elf/eabi filters on the target_os
part only.

From-SVN: r202518

10 years agoextend.texi: Fix errors in x86 FMA builtin naming.
Cameron McInally [Thu, 12 Sep 2013 09:23:08 +0000 (11:23 +0200)]
extend.texi: Fix errors in x86 FMA builtin naming.

* doc/extend.texi: Fix errors in x86 FMA builtin naming.
The FMA instruction names should have a 'v' prefix.

From-SVN: r202517

10 years agotree-loop-distribution.c (dot_rdg_1): Make graph prettier.
Richard Biener [Thu, 12 Sep 2013 08:49:01 +0000 (08:49 +0000)]
tree-loop-distribution.c (dot_rdg_1): Make graph prettier.

2013-09-12  Richard Biener  <rguenther@suse.de>

* tree-loop-distribution.c (dot_rdg_1): Make graph prettier.
(dot_rdg): Use popen instead of system in optional code.
(remaining_stmts, upstream_mem_writes): Remove global bitmaps.
(already_processed_vertex_p): Adjust.
(has_anti_or_output_dependence, predecessor_has_mem_write,
mark_nodes_having_upstream_mem_writes, has_upstream_mem_writes,
rdg_flag_uses): Remove.
(rdg_flag_vertex): Simplify.
(rdg_flag_vertex_and_dependent): Rely on a correct RDG and
remove recursion.
(build_rdg_partition_for_component): Process the first vertex
of a component only.
(ldist_gen): Do not compute remaining_stmts or upstream_mem_writes.

* gcc.dg/tree-ssa/ldist-4.c: Remove undefined behavior.  Adjust
expected outcome and comment why that happens.

From-SVN: r202516