platform/upstream/gcc.git
8 years agore PR fortran/65889 ([6 Regressions] [OOP] ICE with sizeof a polymorphic variable.)
Andre Vehreschild [Wed, 7 Oct 2015 10:58:46 +0000 (12:58 +0200)]
re PR fortran/65889 ([6 Regressions] [OOP] ICE with sizeof a polymorphic variable.)

gcc/fortran/ChangeLog:

2015-10-07  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/65889
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle pointer to and
on stack class objects as sizeof parameter.

gcc/testsuite/ChangeLog:

2015-10-07  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/65889
* gfortran.dg/sizeof_5.f90: New test.

From-SVN: r228566

8 years agoMerge ix86_maybe_switch_abi with ix86_set_current_function
H.J. Lu [Wed, 7 Oct 2015 10:30:12 +0000 (10:30 +0000)]
Merge ix86_maybe_switch_abi with ix86_set_current_function

ix86_maybe_switch_abi is called to late during RTL expansion and we
use the stale information from compilation of the previous function.
aggregate_value_p uses call_used_regs.  aggregate_value_p is used by
IPA and return value optimization, which are called before
ix86_maybe_switch_abi is called.  This patch merges ix86_maybe_switch_abi
with ix86_set_current_function.

PR target/67850
* config/i386/i386.c (ix86_maybe_switch_abi): Merged with ...
(ix86_set_current_function): This.
(TARGET_EXPAND_TO_RTL_HOOK): Removed.

From-SVN: r228565

8 years agoCheck in forgotten test for fortran/65766
Louis Krupp [Wed, 7 Oct 2015 09:21:58 +0000 (09:21 +0000)]
Check in forgotten test for fortran/65766

From-SVN: r228564

8 years agotree-vectorizer.h (stmt_vec_info_vec): Use vec<stmt_vec_info>.
Richard Biener [Wed, 7 Oct 2015 09:04:48 +0000 (09:04 +0000)]
tree-vectorizer.h (stmt_vec_info_vec): Use vec<stmt_vec_info>.

2015-10-07  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (stmt_vec_info_vec): Use vec<stmt_vec_info>.
(vinfo_for_stmt): Adjust.
(set_vinfo_for_stmt): Likewise.
* tree-vectorizer.c (stmt_vec_info_vec): Likewise.
* tree-vect-stmts.c (free_stmt_vec_info_vec): Likewise.
* tree-vect-loop.c (new_loop_vec_info): Remove special-casing
of inner loop.
(vect_analyze_loop_1): Remove.
(vect_analyze_loop_form_1): Avoid building a loop_vec_info for
inner loop when vectorizing an outer loop by splitting out from ...
(vect_analyze_loop_form): ... here.

From-SVN: r228563

8 years agoFix PR c/65345 for arm
Ramana Radhakrishnan [Wed, 7 Oct 2015 08:37:35 +0000 (08:37 +0000)]
Fix PR c/65345 for arm

2015-10-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR c/65345
* config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv):
Use create_tmp_var_raw instead of create_tmp_var.

From-SVN: r228562

8 years agoCache reals for 1/4, 1/6 and 1/9
Richard Sandiford [Wed, 7 Oct 2015 08:09:45 +0000 (08:09 +0000)]
Cache reals for 1/4, 1/6 and 1/9

We have a global 1/2 and a cached 1/3, but recalculate 1/4, 1/6 and 1/9
each time we need them.  That seems a bit arbitrary and makes the folding
code more noisy (especially once it's moved to match.pd).

This patch caches the other three constants too.  Bootstrapped &
regression-tested on x86_64-linux-gnu.

gcc/
* real.h (dconst_quarter, dconst_sixth, dconst_ninth): New macros.
(dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): Declare.
* real.c (CACHED_FRACTION): New helper macro.
(dconst_third_ptr): Use it.
(dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): New.
* builtins.c (fold_builtin_sqrt): Use dconst_quarter and
dconst_sixth.
(fold_builtin_cbrt): Use dconst_sixth and dconst_ninth.

From-SVN: r228561

8 years agocp-gimplify.c (genericize_if_stmt): Use protected_set_expr_location.
Marek Polacek [Wed, 7 Oct 2015 06:52:45 +0000 (06:52 +0000)]
cp-gimplify.c (genericize_if_stmt): Use protected_set_expr_location.

* cp-gimplify.c (genericize_if_stmt): Use protected_set_expr_location.
(genericize_cp_loop): Likewise.
* decl.c (cxx_maybe_build_cleanup): Likewise.
* parser.c (cp_parser_binary_expression): Likewise.
(cp_parser_omp_for_loop): Likewise.
(cp_parser_omp_construct): Likewise.
* semantics.c (finish_transaction_stmt): Likewise.
(build_transaction_expr): Likewise.

From-SVN: r228560

8 years ago[PATCH][PR tree-optimization/67816] Fix jump threading when DOM removes conditionals...
Jeff Law [Wed, 7 Oct 2015 02:25:57 +0000 (20:25 -0600)]
[PATCH][PR tree-optimization/67816] Fix jump threading when DOM removes conditionals in jump threading path

PR tree-optimization/67816
* tree-ssa-threadupdate.h (remove_jump_threads_including): Renamed
from remove_jump_threads_starting_at.  Accept an edge rather than
a basic block.
* tree-ssa-threadupdate.c (removed_edges): New hash table.
(remove_jump_threads_including): Note edges that get removed from
the CFG for later pruning of jump threading paths including them.
(thread_through_all_blocks): Remove paths which include edges that
have been removed.
* tree-ssa-dom.c (optimize_stmt): Call remove_jump_threads_including
on each outgoing edges when optimizing away a control statement.

* gcc.c-torture/compile/pr67816.c: New test.

From-SVN: r228559

8 years agoreorg.c: use vec<rtx_insn *> instead of rtx_insn_list for the delay insn list
Trevor Saunders [Wed, 7 Oct 2015 02:11:17 +0000 (02:11 +0000)]
reorg.c: use vec<rtx_insn *> instead of rtx_insn_list for the delay insn list

gcc/ChangeLog:

2015-10-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* reorg.c (emit_delay_sequence): Store list of delay slot insns
in a vector instead of rtx_insn_list.
(add_to_delay_list): Likewise.
(delete_from_delay_slot): Likewise.
(optimize_skip): Likewise.
(redirect_with_delay_list_safe_p): Likewise.
(check_annul_list_true_false): Likewise.
(steal_delay_list_from_target): Likewise.
(steal_delay_list_from_fallthrough): Likewise.
(redundant_insn): Likewise.
(fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
(fill_eager_delay_slots): Likewise.
(relax_delay_slots): Likewise.

From-SVN: r228558

8 years agore PR c++/67810 (Non-expression recognized as fold expression)
Jason Merrill [Wed, 7 Oct 2015 01:46:54 +0000 (21:46 -0400)]
re PR c++/67810 (Non-expression recognized as fold expression)

PR c++/67810
* parser.c (cp_parser_fold_expr_p): Remove.
(is_binary_op): New.
(cp_parser_fold_expression): Take LHS as parameter.
(cp_parser_primary_expression): Call it after parsing an expression.
(cp_parser_binary_expression, cp_parser_assignment_operator_opt)
(cp_parser_expression): Ignore an operator followed by '...'.
(is_binary_op): New.
* pt.c (tsubst_unary_left_fold, tsubst_binary_left_fold)
(tsubst_unary_right_fold, tsubst_binary_right_fold): Handle errors.

From-SVN: r228556

8 years agoDaily bump.
GCC Administrator [Wed, 7 Oct 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r228555

8 years ago[multiple changes]
Louis Krupp [Tue, 6 Oct 2015 23:47:18 +0000 (23:47 +0000)]
[multiple changes]

2015-10-06  Louis Krupp <louis.krupp@zoho.com>
PR fortran/65766
* resolve.c (gfc_resolve_substring_charlen): For derived type,
use typespec of string component when resolving substring length.

2015-10-06  Louis Krupp     <louis.krupp@zoho.com>

PR fortran/65766
* gfortran.dg/substr_alloc_string_comp_1.f90: New.

From-SVN: r228551

8 years agocompiler: Record each import as a distinct alias.
Ian Lance Taylor [Tue, 6 Oct 2015 21:24:17 +0000 (21:24 +0000)]
compiler: Record each import as a distinct alias.

    This patch introduces the Package_alias class which is a
    finer representation of the different between a package and the
    aliases it is imported under.  Each alias keeps track of the location
    of its import statement and how many times that alias has been used.
    This allows the gofrontend to report when a specific import has not
    been used even if a symbol from the package has been used by another
    import.

    Fixes golang/go#12326.

    Reviewed-on: https://go-review.googlesource.com/14259

From-SVN: r228550

8 years agonios2.c (nios2_symbol_ref_in_small_data_p): For -mgpopt=local, also exclude unintiali...
Sandra Loosemore [Tue, 6 Oct 2015 21:10:15 +0000 (17:10 -0400)]
nios2.c (nios2_symbol_ref_in_small_data_p): For -mgpopt=local, also exclude unintialized common symbols.

2015-10-06  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.c (nios2_symbol_ref_in_small_data_p):
For -mgpopt=local, also exclude unintialized common symbols.
* doc/invoke.texi (Nios II Options): Document the change.

From-SVN: r228549

8 years agoiterators.md (vwcore): Add missing cases for V4HF/V8HF modes.
Kugan Vivekanandarajah [Tue, 6 Oct 2015 21:08:05 +0000 (21:08 +0000)]
iterators.md (vwcore): Add missing cases for V4HF/V8HF modes.

gcc/ChangeLog:

2015-10-07  Kugan Vivekanandarajah  <kuganv@linaro.org>

* config/aarch64/iterators.md (vwcore): Add missing cases for
 V4HF/V8HF modes.

gcc/testsuite/ChangeLog:

2015-10-07  Kugan Vivekanandarajah  <kuganv@linaro.org>

* gcc.target/aarch64/get_lane_f16_1.c: New test.

From-SVN: r228547

8 years agomove dr->alias_set to a helper structure
Aditya Kumar [Tue, 6 Oct 2015 20:50:35 +0000 (20:50 +0000)]
move dr->alias_set to a helper structure

2015-10-06  Aditya Kumar  <aditya.k7@samsung.com>
                Sebastian Pop  <s.pop@samsung.com>

                * graphite-poly.c (new_scop): Initialize drs.
                * graphite-poly.h (struct dr_info): New.
                (struct scop): Add drs.
                * graphite-sese-to-poly.c (pdr_add_alias_set): Use dr_info.
                (pdr_add_memory_accesses): Same.
                (build_poly_dr): Same.
                (build_alias_set): Same.
                (build_scop_drs): Same.
                (build_pbb_drs): Remove.
                * tree-data-ref.c (create_data_ref): Do not initialize alias_set.
                * tree-data-ref.h (data_reference): Remove alias_set.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r228545

8 years agoremove unused struct base_alias_pair
Aditya Kumar [Tue, 6 Oct 2015 20:50:29 +0000 (20:50 +0000)]
remove unused struct base_alias_pair

2015-10-06  Aditya Kumar  <aditya.k7@samsung.com>
                Sebastian Pop  <s.pop@samsung.com>

                * graphite-poly.c (free_data_refs_aux): Remove.
                (free_gimple_poly_bb): Do not call free_data_refs_aux.
                * graphite-poly.h (struct base_alias_pair): Remove.
                * graphite-sese-to-poly.c (pdr_add_alias_set): Remove all uses of
                base_alias_pair and dr->aux.
                (build_alias_set): Same.
                * tree-data-ref.c (create_data_ref): Initialize alias_set.
                * tree-data-ref.h (data_reference): Add alias_set.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r228544

8 years agoremove dead code in computation of alias sets
Aditya Kumar [Tue, 6 Oct 2015 20:50:22 +0000 (20:50 +0000)]
remove dead code in computation of alias sets

2015-10-06  Aditya Kumar  <aditya.k7@samsung.com>
                Sebastian Pop  <s.pop@samsung.com>

                * graphite-poly.c (new_poly_dr): Remove dr_base_object_set.
                Do not set PDR_BASE_OBJECT_SET.
                * graphite-poly.h (poly_dr): Same.
                (PDR_BASE_OBJECT_SET): Remove.
                (new_poly_dr): Update decl.
                * graphite-sese-to-poly.c (build_poly_dr): Update call to
                new_poly_dr.
                (write_alias_graph_to_ascii_dimacs): Remove.
                (write_alias_graph_to_ascii_dot): Remove.
                (write_alias_graph_to_ascii_ecc): Remove.
                (dr_same_base_object_p): Remove.
                (build_alias_set_optimal_p): Rename build_alias_set.  Remove dead
                code.
                (build_base_obj_set_for_drs): Remove.
                (dump_alias_graphs): Remove.
                (build_scop_drs): Remove dead code.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r228543

8 years agoc-parser.c (c_parser_statement_after_labels): Use protected_set_expr_location.
Marek Polacek [Tue, 6 Oct 2015 17:59:10 +0000 (17:59 +0000)]
c-parser.c (c_parser_statement_after_labels): Use protected_set_expr_location.

* c-parser.c (c_parser_statement_after_labels): Use
protected_set_expr_location.
(c_parser_omp_clause_num_gangs): Likewise.
(c_parser_omp_clause_num_threads): Likewise.
(c_parser_omp_clause_num_workers): Likewise.
(c_parser_omp_clause_vector_length): Likewise.
(c_parser_omp_clause_num_teams): Likewise.
(c_parser_omp_clause_thread_limit): Likewise.
* c-typeck.c (build_c_cast): Likewise.
(c_cast_expr): Likewise.

From-SVN: r228541

8 years agore PR c++/67863 (-Wtautological-compare warns when it shouldn't)
Marek Polacek [Tue, 6 Oct 2015 17:56:23 +0000 (17:56 +0000)]
re PR c++/67863 (-Wtautological-compare warns when it shouldn't)

PR c++/67863
* call.c (build_conditional_expr_1): Build the COND_EXPR with
a location.

* c-c++-common/Wtautological-compare-4.c: New test.

From-SVN: r228540

8 years agoRemove duplicate target line.
Michael Meissner [Tue, 6 Oct 2015 17:49:17 +0000 (17:49 +0000)]
Remove duplicate target line.

From-SVN: r228539

8 years agore PR target/67808 (LRA ICEs on simple double to long double conversion test case)
Michael Meissner [Tue, 6 Oct 2015 17:20:49 +0000 (17:20 +0000)]
re PR target/67808 (LRA ICEs on simple double to long double conversion test case)

[gcc]
2015-10-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Peter Bergner  <bergner@vnet.ibm.com>

PR target/67808
* config/rs6000/rs6000.md (extenddftf2): In the expander, only
allow registers, but provide insns for the combiner to create for
loads from memory. Separate VSX code from non-VSX code. For
non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename
externaldftf2_internal to externaldftf2_fprs. Reorder constraints
so that registers come before memory operations. Drop support from
converting DFmode to TFmode, if the DFmode value is in a GPR
register.
(extenddftf2_fprs): Likewise.
(extenddftf2_internal): Likewise.
(extenddftf2_vsx): Likewise.
(extendsftf2): In the expander, only allow registers, but provide
insns for the combiner to create for stores and loads.

[gcc/testsuite]
2015-10-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Peter Bergner <bergner@vnet.ibm.com>

PR target/67808
* gcc.target/powerpc/pr67808.c: New test.

Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
From-SVN: r228538

8 years agoRemove ATTRIBUTE_UNUSED from `decl' parameter of default_elf_asm_named_section
Ramana Radhakrishnan [Tue, 6 Oct 2015 17:00:12 +0000 (17:00 +0000)]
Remove ATTRIBUTE_UNUSED from `decl' parameter of default_elf_asm_named_section

The decl parameter in default_elf_asm_named_section is actually used.
Applied as obvious after an arm-none-eabi build.

Ramana

2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>

* varasm.c (default_elf_asm_named_section): Remove ATTRIBUTE_UNUSED
from the decl parameter.

From-SVN: r228537

8 years agore PR middle-end/67861 (coreutils' wc.c:write_counts is miscompiled since commit...
Nathan Sidwell [Tue, 6 Oct 2015 16:47:00 +0000 (16:47 +0000)]
re PR middle-end/67861 (coreutils' wc.c:write_counts is miscompiled since commit 7e3a76de7c496449b187c2688d958631cf21a944)

PR 67861
* gimple-fold.c (gimple_fold_builtin): Add break after
BUILT_IN_PRINTF_CHK, BUILT_IN_VPRINTF_CHK folding.

From-SVN: r228536

8 years agoRename scop->ctx to isl_context
H.J. Lu [Tue, 6 Oct 2015 16:42:13 +0000 (16:42 +0000)]
Rename scop->ctx to isl_context

* graphite-optimize-isl.c (optimize_isl): Rename scop->ctx
to scop->isl_context.

From-SVN: r228535

8 years agoarm.c (arm_emit_probe_stack_range): Adjust comment.
Eric Botcazou [Tue, 6 Oct 2015 16:39:00 +0000 (16:39 +0000)]
arm.c (arm_emit_probe_stack_range): Adjust comment.

* config/arm/arm.c (arm_emit_probe_stack_range): Adjust comment.
(output_probe_stack_range): Rotate the loop and simplify.
(thumb1_expand_prologue): Tweak sorry message.
* config/arm/arm.md (probe_stack): Use bare string.

From-SVN: r228534

8 years ago* config.gcc (lm32-elf): Add newlib-stdint.h to tm_file.
Nick Clifton [Tue, 6 Oct 2015 16:36:49 +0000 (16:36 +0000)]
* config.gcc (lm32-elf): Add newlib-stdint.h to tm_file.

From-SVN: r228533

8 years agogcc * config/msp430/msp430.c (ATTR_NOINIT): New constant.
Nick Clifton [Tue, 6 Oct 2015 16:26:22 +0000 (16:26 +0000)]
gcc * config/msp430/msp430.c (ATTR_NOINIT): New constant.

(ATTR_PERSIST): New constant.
(msp430_data_attr): New function - verifies an attribute that only
applies to variables.
(msp430_attributes): Add noinit and persistent attributes.
(noinit_section): New variable.
(presis_section): New variable.
(TARGET_ASM_INIT_SECTIONS): Define.
(msp430_init_sections): New function - initialises the noinit and
persist section variables.
(msp430_select_section): Add support for noinit and persist
attributes.
(msp430_section_type_flags): Likewise.
* doc/extend.texi:  Document the reent, critical, wakeup, noinit
and persistent attributes.

tests * gcc.target/msp430: New directory.
* gcc.target/msp430/msp430.exp: New file.  Runs MSP430 specific
tests.
* gcc.target/msp430/data-attributes.c: New file.  Checks the
noinit and persistent data attributes.

From-SVN: r228531

8 years agoremove dead code used by the old cloog scheduler
Aditya Kumar [Tue, 6 Oct 2015 15:56:15 +0000 (15:56 +0000)]
remove dead code used by the old cloog scheduler

2015-10-05  Aditya Kumar  <aditya.k7@samsung.com>
                Sebastian Pop  <s.pop@samsung.com>

                * graphite-dependences.c (scop_get_transformed_schedule): Remove.
                (no_violations): Remove.
                (subtract_commutative_associative_deps): Remove.
                (compute_deps): Do not call subtract_commutative_associative_deps.
                (transform_is_safe): Remove.
                (graphite_legal_transform): Remove.
                * graphite-poly.h (graphite_legal_transform): Remove.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r228530

8 years agoEarly exit to avoid redundant computations
Aditya Kumar [Tue, 6 Oct 2015 15:56:09 +0000 (15:56 +0000)]
Early exit to avoid redundant computations

Analyze only those bbs which are outside the region for uses which might be
defined inside the region. This is intended to improve the compile time. This
algorithm may be further improved by only looking at the successors of region as
these regions are sese. Added FIXMEs to make this improvement in future.

Passes regtest and bootstrap on x86_64.

gcc/ChangeLog:

2015-10-05  Aditya Kumar  <hiraditya@msn.com>

        * graphite-sese-to-poly.c (build_loop_iteration_domains): Only loops
        which are in this region are passed so gcc_assert and remove redundant
        computation.
        * sese.c (sese_build_liveouts): Pass only those bbs which are not in region.
        (sese_bad_liveouts_use): Only BBs which are not in region are passed so
        gcc_assert on that and remove unnecessary computation.
        (sese_build_liveouts_use): Same.

From-SVN: r228529

8 years agoMove declarations, assign types, renaming.
Aditya Kumar [Tue, 6 Oct 2015 15:56:03 +0000 (15:56 +0000)]
Move declarations, assign types, renaming.

1. Move declarations near the assignment/usage.
2. Assign type to members which were void*.
3. Rename scop->context to scop::param_context, and scop::ctx to
scop::isl_context

No functional changes intended. Passes regtest and bootstrap.

gcc/ChangeLog:

2015-10-05  Aditya Kumar  <aditya.k7@samsung.com>

        * graphite-dependences.c (scop_get_reads): Renamed scop->context to scop->param_context.
        (scop_get_must_writes): Same.
        (scop_get_may_writes): Same.
        (scop_get_original_schedule): Same.
        (scop_get_transformed_schedule): Same.
        (subtract_commutative_associative_deps): Same.
        * graphite-isl-ast-to-gimple.c (add_parameters_to_ivs_params): Same.
        (generate_isl_context): Same.
        (generate_isl_schedule): Same.
        (scop_to_isl_ast): Same.
        (graphite_regenerate_ast_isl): Same.
        * graphite-optimize-isl.c (scop_get_domains): Same.
        (optimize_isl): Renamed scop->context to scop->param_context.
        * graphite-poly.c (new_poly_bb): Change the type of argument to gimple_poly_bb_p.
        (new_scop): Renamed scop->context to scop->param_context.
        (free_scop): Same.
        (print_scop_context): Same.
        * graphite-poly.h (new_poly_dr): Change the type of argument from void* to data_reference_p.
        (struct poly_bb): Change the type of black_box to gimple_poly_bb_p.
        (new_poly_bb): Change the type of argument from void* to gimple_poly_bb_p.
        (pbb_set_black_box): Same.
        (struct scop): Rename context to param_context, ctx to isl_context.
        * graphite-scop-detection.c (scop_detection::build_scop_bbs_1): Move declarations closer to assignment.
        (find_params_in_bb): Same.
        (find_scop_parameters): Same.
        * graphite-sese-to-poly.c (unsigned ssa_name_version_typesize): Global to be used for statement IDs.
        (isl_id_for_pbb): Use ssa_name_version_typesize.
        (simple_copy_phi_p): Move declarations closer to assignment.
        (build_pbb_scattering_polyhedrons): Same.
        (build_scop_scattering): Same.
        (isl_id_for_ssa_name): Same.
        (extract_affine_name): Same.
        (extract_affine_int): Same.
        (extract_affine): Same.
        (set_scop_parameter_dim): Use renamed member.
        (build_loop_iteration_domains): Same.
        (add_param_constraints): Same.
        (build_scop_iteration_domain): Same.
        (pdr_add_data_dimensions): Same.
        (build_poly_dr): Same.
        (build_scop_drs): Move declarations closer to assignment.
        (analyze_drs_in_stmts): Same.
        (insert_out_of_ssa_copy): Same.
        (insert_out_of_ssa_copy_on_edge): Same.
        (propagate_expr_outside_region): Same.
        (rewrite_phi_out_of_ssa): Same.
        (rewrite_degenerate_phi): Same.
        (rewrite_reductions_out_of_ssa): Same.
        (rewrite_cross_bb_scalar_dependence): Same.
        (handle_scalar_deps_crossing_scop_limits): Same.
        (rewrite_cross_bb_scalar_deps): Same.
        * graphite.c (graphite_transform_loops): Use renamed member.

From-SVN: r228528

8 years agore PR c/65345 (ICE with _Generic selection on _Atomic int)
Uros Bizjak [Tue, 6 Oct 2015 15:31:11 +0000 (17:31 +0200)]
re PR c/65345 (ICE with _Generic selection on _Atomic int)

PR c/65345
* config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use
create_tmp_var_raw instead of create_tmp_var.

From-SVN: r228527

8 years agoFix PR c/65345 for AArch64
Ramana Radhakrishnan [Tue, 6 Oct 2015 15:09:43 +0000 (15:09 +0000)]
Fix PR c/65345 for AArch64

2015-10-06  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR c/65345
* config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv):
Use create_tmp_var_raw instead of create_tmp_var.

From-SVN: r228526

8 years agoAVX-512. Avoid upper-bank registers when splitting vec_extract_lo instruction.
Alexander Fomin [Tue, 6 Oct 2015 13:49:30 +0000 (13:49 +0000)]
AVX-512. Avoid upper-bank registers when splitting vec_extract_lo instruction.

gcc/
PR target/67849
* config/i386/sse.md (define_split vec_select/V8FI): Restrict
split for upper-bank registers when target does not support
AVX512VL.
(define_insn "vec_extract_lo_<mode><mask_name>"): Restrict
split when target does not support AVX512VL.

From-SVN: r228525

8 years agore PR c/65345 (ICE with _Generic selection on _Atomic int)
David Edelsohn [Tue, 6 Oct 2015 13:46:34 +0000 (13:46 +0000)]
re PR c/65345 (ICE with _Generic selection on _Atomic int)

        PR c/65345
        * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv):
        Adjust to use create_tmp_var_raw instead of create_tmp_var.

From-SVN: r228524

8 years agobuiltin_target.c: Fix AVX-512VBMI detection.
Kirill Yukhin [Tue, 6 Oct 2015 13:46:22 +0000 (13:46 +0000)]
builtin_target.c: Fix AVX-512VBMI detection.

gcc/testsuite/
        * gcc.target/i386/builtin_target.c: Fix AVX-512VBMI detection.

From-SVN: r228523

8 years agorl78.c (rl78_rtx_costs): Improve cost estimates for multiplication.
Nick Clifton [Tue, 6 Oct 2015 13:42:33 +0000 (13:42 +0000)]
rl78.c (rl78_rtx_costs): Improve cost estimates for multiplication.

* config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for
multiplication.

From-SVN: r228521

8 years agoAMD znver1 enablement.
Venkataramanan Kumar [Tue, 6 Oct 2015 12:48:41 +0000 (12:48 +0000)]
AMD znver1 enablement.

2015-10-06  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>

AMD znver1 enablement.
* config.gcc (i[34567]86-*-linux* | ...): Add znver1.
(case ${target}): Add znver1.
* config/i386/cpuid.h(bit_CLZERO):  Define.
* config/i386/driver-i386.c: (host_detect_local_cpu): Let
-march=native recognize znver1 processors.
* config/i386/i386-c.c (ix86_target_macros_internal): Add
znver1, clzero def_and_undef.
* config/i386/i386.c (struct processor_costs znver1_cost): New.
(m_znver1): New definition.
(m_AMD_MULTIPLE): Includes m_znver1.
(processor_target_table): Add znver1 entry.
(ix86_target_string) : Add clzero entry.
(static const char *const cpu_names): Add znver1 entry.
(ix86_option_override_internal): Add znver1 instruction sets.
(PTA_CLZERO) :  New definition.
(ix86_option_override_internal): Handle new clzerooption.
(ix86_issue_rate): Add znver1.
(ix86_adjust_cost): Add znver1.
(ia32_multipass_dfa_lookahead): Add znver1.
(has_dispatch): Add znver1.
* config/i386/i386.h (TARGET_znver1): New definition.
(TARGET_CLZERO): Define.
(TARGET_CLZERO_P): Define.
(struct ix86_size_cost): Add TARGET_ZNVER1.
(enum processor_type): Add PROCESSOR_znver1.
* config/i386/i386.md (define_attr "cpu"): Add znver1.
(set_attr znver1_decode): New definitions for znver1.
* config/i386/i386.opt (flag_dispatch_scheduler): Add znver1.
(mclzero): New.
* config/i386/mmx.md (set_attr znver1_decode): New definitions
for znver1.
* config/i386/sse.md (set_attr znver1_decode): Likewise.
* config/i386/x86-tune.def:  Add znver1 tunings.
* config/i386/znver1.md: Introduce znver1 cpu and include new md file.
* gcc/doc/invoke.texi: Add details about znver1

From-SVN: r228520

8 years agore PR tree-optimization/67859 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu)
Richard Biener [Tue, 6 Oct 2015 12:34:15 +0000 (12:34 +0000)]
re PR tree-optimization/67859 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu)

2015-10-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/67859
* tree-ssa-pre.c (create_expression_by_pieces): Properly
discard not inserted stmts.

* gcc.dg/torture/pr67859.c: New testcase.

From-SVN: r228519

8 years agoUpdate template instantiation documentation
Jonathan Wakely [Tue, 6 Oct 2015 10:27:57 +0000 (11:27 +0100)]
Update template instantiation documentation

* doc/extend.texi (Template Instantiation): Reorder options and
de-emphasize -frepo.
* doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in
example instead of -frepo.

From-SVN: r228518

8 years agore PR c/65345 (ICE with _Generic selection on _Atomic int)
Eric Botcazou [Tue, 6 Oct 2015 09:14:48 +0000 (09:14 +0000)]
re PR c/65345 (ICE with _Generic selection on _Atomic int)

PR c/65345
* config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to
use create_tmp_var_raw rather than create_tmp_var.

From-SVN: r228516

8 years agobuiltin_target.c: Fix AVX-512VBMI detection.
Kirill Yukhin [Tue, 6 Oct 2015 07:55:09 +0000 (07:55 +0000)]
builtin_target.c: Fix AVX-512VBMI detection.

gcc/testsuite/
* gcc.target/i386/builtin_target.c: Fix AVX-512VBMI detection.

From-SVN: r228515

8 years agotree-vectorizer.h (vec_info): New base class for...
Richard Biener [Tue, 6 Oct 2015 07:52:03 +0000 (07:52 +0000)]
tree-vectorizer.h (vec_info): New base class for...

2015-10-06  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (vec_info): New base class for...
(_loop_vec_info): ... this and ...
(_bb_vec_info): ... this.
(vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info,
vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
vect_analyze_data_ref_accesses, vect_analyze_data_refs,
vect_schedule_slp, vect_analyze_slp, vect_pattern_recog,
vect_destroy_datarefs): Adjust interface to take a vec_info *
rather than both a loop_vec_info and a bb_vec_info argument.
* tree-vect-data-refs.c (vect_compute_data_refs_alignment,
vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment,
vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses,
vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust
accordingly.
* tree-vect-loop.c (new_loop_vec_info): Initialize base class.
(destroy_loop_vec_info, vect_analyze_loop_2,
vect_is_simple_reduction_1, get_initial_def_for_induction,
vect_create_epilog_for_reduction, vectorizable_reduction,
vectorizable_live_operation, vect_transform_loop): Adjust.
* tree-vect-patterns.c (type_conversion_p,
vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern,
vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern,
vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern,
check_bool_pattern, vect_recog_bool_pattern,
vect_mark_pattern_stmts, vect_pattern_recog): Likewise.
* tree-vect-slp.c (vect_get_and_check_slp_defs,
vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1,
vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info,
vect_slp_analyze_bb_1, vect_schedule_slp): Likewise.
(new_bb_vec_info): Initialize base classs.
* tree-vect-stmts.c (record_stmt_cost, process_use,
vect_get_vec_def_for_operand, vect_finish_stmt_generation,
vectorizable_mask_load_store, vectorizable_call,
vectorizable_simd_clone_call, vectorizable_conversion,
vectorizable_assignment, vectorizable_shift,
vectorizable_operation, vectorizable_store,
vectorizable_load, vect_is_simple_cond, vectorizable_condition,
new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise.
* tree-vectorizer.c (vect_destroy_datarefs): Likewise.

From-SVN: r228514

8 years agobuiltin_target.c: Add check for AES and PCLMUL.
Kirill Yukhin [Tue, 6 Oct 2015 07:29:05 +0000 (07:29 +0000)]
builtin_target.c: Add check for AES and PCLMUL.

gcc/testsuite/
* gcc.target/i386/builtin_target.c: Add check for AES and PCLMUL.

From-SVN: r228513

8 years agoDaily bump.
GCC Administrator [Tue, 6 Oct 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r228510

8 years agoFix PR65345 in SH backend
Kaz Kojima [Mon, 5 Oct 2015 22:18:05 +0000 (22:18 +0000)]
Fix PR65345 in SH backend
Adjust to use create_tmp_var_raw rather than create_tmp_var at
sh_atomic_assign_expand_fenv.

From-SVN: r228502

8 years agore PR c++/53856 (Default argument allowed on member defined outside of class template)
Paolo Carlini [Mon, 5 Oct 2015 21:43:26 +0000 (21:43 +0000)]
re PR c++/53856 (Default argument allowed on member defined outside of class template)

/cp
2015-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53856
* pt.c (check_default_tmpl_args): Per [temp.param]/9, do not
reject default template arguments in out of class definitions
of members of non-template classes.

/testsuite
2015-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53856
* g++.dg/template/defarg19.C: New.
* g++.dg/template/defarg20.C: Likewise.

From-SVN: r228501

8 years agoRemove diffstat from ChangeLog.
Richard Sandiford [Mon, 5 Oct 2015 19:46:53 +0000 (19:46 +0000)]
Remove diffstat from ChangeLog.

From-SVN: r228500

8 years agolex: Update unicode letters table to Unicode 8.0.0.
Ian Lance Taylor [Mon, 5 Oct 2015 17:59:40 +0000 (17:59 +0000)]
lex: Update unicode letters table to Unicode 8.0.0.

    Fixes golang/go#12322.

    Reviewed-on: https://go-review.googlesource.com/13985

From-SVN: r228497

8 years ago* tree-ssa-loop-im.c
Marek Polacek [Mon, 5 Oct 2015 16:33:16 +0000 (16:33 +0000)]
* tree-ssa-loop-im.c
(move_computations_dom_walker::before_dom_children): Don't set
SSA_NAME_ANTI_RANGE_P.
* tree-ssa-phiopt.c (value_replacement): Likewise.

From-SVN: r228496

8 years agoincrease the number of parameters
Aditya Kumar [Mon, 5 Oct 2015 16:03:21 +0000 (16:03 +0000)]
increase the number of parameters

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r228494

8 years agomove param detection to scop detection
Aditya Kumar [Mon, 5 Oct 2015 16:03:09 +0000 (16:03 +0000)]
move param detection to scop detection

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r228493

8 years agomove scop detection related stuff to graphite-scop-detection.c
Aditya Kumar [Mon, 5 Oct 2015 16:02:59 +0000 (16:02 +0000)]
move scop detection related stuff to graphite-scop-detection.c

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r228492

8 years agoIPA-CP Alignment lattice cleanup
Martin Jambor [Mon, 5 Oct 2015 15:55:54 +0000 (17:55 +0200)]
IPA-CP Alignment lattice cleanup

2015-10-05  Martin Jambor  <mjambor@suse.cz>
    Jan Hubicka  <hubicka@ucw.cz>

* ipa-cp.c (ipcp_alignment_lattice): New type.
(ipcp_param_lattices): Use the above to represent alignment.
(ipcp_alignment_lattice::print): New function.
(print_all_lattices): Use it to print alignment information.
(ipcp_alignment_lattice::top_p): New function.
(ipcp_alignment_lattice::bottom_p): Likewise.
(ipcp_alignment_lattice::set_to_bottom): Likewise.
(ipcp_alignment_lattice::meet_with_1): Likewise.
(ipcp_alignment_lattice::meet_with): Two new overloaded functions.
(set_all_contains_variable): Use set_to_bottom of alignment lattice.
(initialize_node_lattices): Likewise.
(propagate_alignment_accross_jump_function): Work with the new class
for alignment lattices.
(propagate_constants_accross_call): Pass only the alignment lattice to
propagate_alignment_accross_jump_function.
(ipcp_store_alignment_results): Work with the new class for alignment
lattices.

testsuite/
* gcc.dg/ipa/propalign-4.c: New test.
* gcc.dg/ipa/propalign-5.c: Likewise.

Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
From-SVN: r228491

8 years agore PR middle-end/67821 (ICE in duplicate_ssa_name_range_info)
Marek Polacek [Mon, 5 Oct 2015 15:28:06 +0000 (15:28 +0000)]
re PR middle-end/67821 (ICE in duplicate_ssa_name_range_info)

PR tree-optimization/67821
* tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert.

* gcc.dg/torture/pr67821-2.c: New test.
* gcc.dg/torture/pr67821.c: New test.

From-SVN: r228490

8 years agoMove runtime transactional memory tests to libitm testsute.
Jason Merrill [Mon, 5 Oct 2015 15:21:15 +0000 (11:21 -0400)]
Move runtime transactional memory tests to libitm testsute.

From-SVN: r228489

8 years ago[PR other/65021] mkoffloads -save-temps handling, and cleanup cleanup
Thomas Schwinge [Mon, 5 Oct 2015 14:07:50 +0000 (16:07 +0200)]
[PR other/65021] mkoffloads -save-temps handling, and cleanup cleanup

gcc/
PR other/65021
* config/i386/intelmic-mkoffload.c (mkoffload_atexit): Rename
function to...
(mkoffload_cleanup): ... this.  Adjust all users.
(maybe_unlink): Look at save_temps and verbose flags instead of
debug flag.
(main): Parse "-save-temps" flag.
(generate_target_descr_file, generate_target_offloadend_file)
(generate_host_descr_file, prepare_target_image): Pass it on.
* config/nvptx/mkoffload.c (tool_cleanup): Implement.
(mkoffload_cleanup): New function.
(maybe_unlink): Look at save_temps and verbose flags instead of
debug flag.
(main): Instead of calling utils_cleanup, register atexit handler
for mkoffload_cleanup.
(main): Parse "-save-temps" flag.
(compile_native, main): Pass it on.
* lto-wrapper.c (compile_offload_image): Likewise.

From-SVN: r228488

8 years agomake more gimple_x_ptr accessors const correct
Trevor Saunders [Mon, 5 Oct 2015 13:55:08 +0000 (13:55 +0000)]
make more gimple_x_ptr accessors const correct

gcc/ChangeLog:

2015-10-05  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gimple.h (gimple_op_ptr): Require a non const gimple *.
(gimple_assign_lhs_ptr): Likewise.
(gimple_assign_rhs1_ptr): Likewise.
(gimple_assign_rhs2_ptr): Likewise.
(gimple_assign_rhs3_ptr): Likewise.
(gimple_call_lhs_ptr): Likewise.
(gimple_call_fn_ptr): Likewise.
(gimple_call_chain_ptr): Likewise.
(gimple_call_arg_ptr): Likewise.
(gimple_cond_lhs_ptr): Likewise.
(gimple_cond_rhs_ptr): Likewise.
(gimple_switch_index_ptr): Likewise.
(gimple_return_retval_ptr): Likewise.

From-SVN: r228487

8 years agoremove unused gasm accessors
Trevor Saunders [Mon, 5 Oct 2015 13:54:50 +0000 (13:54 +0000)]
remove unused gasm accessors

gcc/ChangeLog:

2015-10-05  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gimple.h (gimple_asm_input_op_ptr): Remove.
(gimple_asm_output_op_ptr): Likewise.

From-SVN: r228486

8 years agoremove gimple_location_ptr ()
Trevor Saunders [Mon, 5 Oct 2015 13:54:33 +0000 (13:54 +0000)]
remove gimple_location_ptr ()

gcc/ChangeLog:

2015-10-05  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* gimple.h (gimple_location_ptr): Remove.
* tree-vrp.c (check_all_array_refs): Adjust.

From-SVN: r228485

8 years agomake build_uses store tree * instead of tree
Trevor Saunders [Mon, 5 Oct 2015 13:54:11 +0000 (13:54 +0000)]
make build_uses store tree * instead of tree

gcc/ChangeLog:

2015-10-05  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-ssa-operands.c (build_uses): store tree * instead of
tree.
(finalize_ssa_uses): Adjust.
(append_use): Likewise.
(verify_ssa_operands): Likewise.

From-SVN: r228484

8 years agoAdd a build_real_truncate helper function
Richard Sandiford [Mon, 5 Oct 2015 13:37:15 +0000 (13:37 +0000)]
Add a build_real_truncate helper function

...which simplifies the match.pd patterns I'm about to add.

Bootstrapped & regression-tested on x86_64-linux-gnu.

gcc/
* real.h (build_real_truncate): Declare.
* tree.c (build_real_truncate): New function.
(strip_float_extensions): Use it.
* builtins.c (fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_cbrt)
(fold_builtin_hypot, fold_builtin_pow): Likewise.
* match.pd: Likewise.

From-SVN: r228483

8 years ago[AArch64] Fix output assembly bug under TLSIE ILP32
James Greenhalgh [Mon, 5 Oct 2015 13:18:08 +0000 (13:18 +0000)]
[AArch64] Fix output assembly bug under TLSIE ILP32

2015-10-05 James Greenhalgh <james.greenhalgh@arm.com>
   Jiong Wang  <jiong.wang@arm.com>

* config/aarch64/aarch64.md (tlsie_tiny_sidi): Replace "<w>" with "w".

Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
From-SVN: r228482

8 years agocpuinfo.c (get_intel_cpu): Detect "skylake-avx512".
Kirill Yukhin [Mon, 5 Oct 2015 13:16:07 +0000 (13:16 +0000)]
cpuinfo.c (get_intel_cpu): Detect "skylake-avx512".

libgcc/
* config/i386/cpuinfo.c (get_intel_cpu): Detect "skylake-avx512".
gcc/testsuite/
* gcc.target/i386/builtin_target.c: Add check for "skylake-avx512".

From-SVN: r228481

8 years agoCleanup directives.
Christian Bruel [Mon, 5 Oct 2015 11:59:27 +0000 (13:59 +0200)]
Cleanup directives.

From-SVN: r228479

8 years agoRemove REAL_VALUE_FROM_CONST_DOUBLE
Richard Sandiford [Mon, 5 Oct 2015 11:37:49 +0000 (11:37 +0000)]
Remove REAL_VALUE_FROM_CONST_DOUBLE

To maintain symmetry after the previous removal of
CONST_DOUBLE_FROM_REAL_VALUE, this patch also gets rid of
REAL_VALUE_FROM_CONST_DOUBLE.  All the macro did was copy the
contents of CONST_DOUBLE_REAL_VALUE into a temporary real_value
structure.  In many cases there was no need for this temporary
and we could simply use the CONST_DOUBLE_REAL_VALUE directly.
For that reason this patch is less automatic than the others.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/
* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Delete.
* config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p)
(aarch64_print_operand, aarch64_float_const_representable_p)
(aarch64_output_simd_mov_immediate): Use CONST_DOUBLE_REAL_VALUE
instead of REAL_VALUE_FROM_CONST_DOUBLE.
* config/arc/arc.c (arc_print_operand): Likewise.
* config/arm/arm.c (arm_const_double_rtx, vfp3_const_double_index)
(neon_valid_immediate, arm_print_operand, arm_emit_fp16_const)
(vfp3_const_double_for_fract_bits, vfp3_const_double_for_bits):
Likewise.
* config/arm/arm.md (*arm32_movhf, consttable_4, consttable_8)
(consttable_16): Likewise.
* config/arm/vfp.md (*movhf_vfp_neon, *movhf_vfp): Likewise.
* config/avr/avr.c (avr_print_operand): Likewise.
* config/bfin/bfin.md: Likewise (in a define_split).
* config/c6x/c6x.md: Likewise (in a define_split).
* config/cr16/cr16.c (cr16_const_double_ok): Likewise.
(cr16_print_operand): Likewise.
* config/cris/cris.c (cris_print_operand): Likewise.
* config/epiphany/epiphany.c (epiphany_print_operand): Likewise.
* config/fr30/fr30.c (fr30_print_operand): Likewise.
(fr30_const_double_is_zero): Likewise.
* config/frv/frv.c (frv_print_operand, output_move_single): Likewise.
* config/frv/frv.md: Likewise (in a define_split).
* config/frv/predicates.md (int_2word_operand): Likewise.
* config/h8300/h8300.c (h8300_print_operand): Likewise.
* config/i386/i386.c (standard_80387_constant_p): Likewise.
(ix86_print_operand, ix86_split_to_parts): Likewise.
* config/i386/i386.md: Likewise (in a define_split).
* config/ia64/ia64.c (ia64_split_tmode, ia64_print_operand): Likewise.
* config/iq2000/iq2000.md (movsf_lo_sum, movsf_high): Likewise.
* config/m32r/m32r.c (easy_df_const, m32r_print_operand): Likewise.
* config/m68k/m68k.c (handle_move_double, standard_68881_constant_p)
(print_operand): Likewise.
* config/m68k/m68k.md (movsf_cf_hard, movdf_cf_hard): Likewise.
* config/mep/mep.md: Likewise (in define_split).
* config/microblaze/microblaze.c (microblaze_const_double_ok)
(print_operand): Likewise.
* config/mips/mips.md (consttable_float): Likewise.
* config/mmix/mmix.c (mmix_intval): Likewise.
* config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
* config/nvptx/nvptx.c (nvptx_print_operand): Likewise.
* config/pa/pa.c (pa_singlemove_string): Likewise.
* config/pdp11/pdp11.c (pdp11_expand_operands): Likewise.
(pdp11_asm_print_operand, legitimate_const_double_p): Likewise.
* config/rs6000/rs6000.c (num_insns_constant, rs6000_emit_cmove)
(output_toc): Likewise.
* config/rs6000/rs6000.md: Likewise (in define_splits).
* config/rx/rx.c (rx_print_operand): Likewise.
* config/s390/s390.c (s390_output_pool_entry): Likewise.
* config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
* config/sh/sh.md (consttable_sf, consttable_df): Likewise
(and also in define_splits).
* config/sparc/sparc.c (fp_sethi_p, fp_mov_p): Likewise.
(fp_high_losum_p): Likewise.
* config/sparc/sparc.md (*movsf_insn, *movsf_lo_sum): Likewise.
(*movsf_high): Likewise.
* config/spu/spu.c (const_double_to_hwint): Likewise.
* config/v850/v850.c (const_double_split): Likewise.
* config/vax/vax.c (vax_float_literal): Likewise.
* config/visium/visium.c (visium_expand_copysign): Likewise.
* config/visium/visium.md: Likewise (in define_split).
* config/xtensa/predicates.md (const_float_1_operand): Likewise.
* config/xtensa/xtensa.c (print_operand): Likewise.
(xtensa_output_literal): Likewise.
* cprop.c (implicit_set_cond_p): Likewise.
* dwarf2out.c (insert_float): Likewise.
* expmed.c (expand_mult, make_tree): Likewise.
* expr.c (compress_float_constant): Likewise.
* rtlanal.c (split_double): Likewise.
* simplify-rtx.c (avoid_constant_pool_reference): Likewise.
(simplify_const_unary_operation, simplify_binary_operation_1)
(simplify_const_binary_operation): Likewise.
(simplify_const_relational_operation): Likewise.
* varasm.c (output_constant_pool_2): Likewise.

From-SVN: r228478

8 years agoRemove remaining uses of CONST_DOUBLE_FROM_REAL_VALUE
Richard Sandiford [Mon, 5 Oct 2015 11:36:08 +0000 (11:36 +0000)]
Remove remaining uses of CONST_DOUBLE_FROM_REAL_VALUE

This patch replaces all uses of CONST_DOUBLE_FROM_REAL_VALUE
with the already-existing const_double_from_real_value.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/
* real.h (CONST_DOUBLE_ATOF): Use const_double_from_real_value
instead of CONST_DOUBLE_FROM_REAL_VALUE.
(CONST_DOUBLE_FROM_REAL_VALUE): Delete.
* config/c6x/c6x.md (divsf3, divdf3): Use const_double_from_real_value
instead of CONST_DOUBLE_FROM_REAL_VALUE.
* config/epiphany/epiphany.md (fixuns_truncsfsi2): Likewise.
* config/i386/i386.c (standard_80387_constant_rtx): Likewise.
(ix86_expand_builtin, ix86_emit_i387_log1p, ix86_emit_i387_round)
(ix86_emit_swsqrtsf): Likewise.
* config/ia64/ia64.c (ia64_expand_builtin): Likewise.
* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
(fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
* config/pa/pa.c (pa_expand_builtin): Likewise.
* config/rs6000/rs6000.c (rs6000_load_constant_and_splat): Likewise.
(rs6000_scale_v2df): Likewise.
* config/rs6000/rs6000.md (*cmptf_internal2): Likewise.
* config/s390/s390.md (fixuns_truncdddi2, fixuns_trunctddi2)
(fixuns_trunc<BFP:mode><GPR:mode>2): Likewise.
* config/s390/vx-builtins.md (vec_ctd_s64, vec_ctd_u64, vec_ctsl)
(vec_ctul): Likewise.
* config/sparc/sparc.c (sparc_emit_fixunsdi): Likewise.
* config/spu/spu.c (hwint_to_const_double, spu_float_const): Likewise.
* config/spu/spu.md (floatunsdisf2, floatunstisf2): Likewise.
* cse.c (fold_rtx): Likewise.
* emit-rtl.c (immed_double_const): Likewise (in comments).
(init_emit_once): Likewise.
* expr.c (compress_float_constant, expand_expr_real_1)
(const_vector_from_tree): Likewise.
* optabs.c (expand_float, expand_fix): Likewise.
* reg-stack.c (reg_to_stack): Likewise.
* simplify-rtx.c (avoid_constant_pool_reference): Likewise.
(simplify_const_unary_operation, simplify_binary_operation_1)
(simplify_const_binary_operation, simplify_relational_operation)
(simplify_immed_subreg): Likewise.

From-SVN: r228477

8 years agoRemove remaining uses of REAL_ARITHMETIC
Richard Sandiford [Mon, 5 Oct 2015 11:35:07 +0000 (11:35 +0000)]
Remove remaining uses of REAL_ARITHMETIC

This patch replaces all remaining uses of the old target macro
REAL_ARITHMETIC with calls to the (now generic) real_arithmetic
function.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/ada/
* gcc-interface/trans.c (convert_with_check): Use real_arithmetic
instead of REAL_ARITHMETIC.

gcc/
* doc/tm.texi.in (REAL_ARITHMETIC): Delete.
* doc/tm.texi: Regenerate.
* real.h (REAL_ARITHMETIC): Delete.
* config/i386/i386.c (ix86_expand_lround, ix86_expand_round)
(ix86_expand_round_sse4): Use real_arithmetic instead of
REAL_ARITHMETIC.
* config/i386/sse.md (round<mode>2): Likewise.
* rtl.h (rtx_to_tree_code): Likewise (in comment).
* explow.c (rtx_to_tree_code): Likewise (in comment).
* match.pd: Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
* tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
(expand_pow_as_sqrts): Likewise.
* tree-pretty-print.c (dump_generic_node): Remove code that
was conditional on REAL_ARITHMETIC being undefined.

From-SVN: r228476

8 years agoReplace REAL_VALUES_LESS with real_less
Richard Sandiford [Mon, 5 Oct 2015 11:32:25 +0000 (11:32 +0000)]
Replace REAL_VALUES_LESS with real_less

This patch continues the removal of real-related macros by
replacing REAL_VALUES_LESS with real_less.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/ada/
* gcc-interface/trans.c (convert_with_check): Use real_less instead
of REAL_VALUES_LESS.

gcc/
* doc/tm.texi.in (REAL_VALUES_LESS): Delete.
* doc/tm.texi: Regenerate.
* real.h (real_less): Declare.
(REAL_VALUES_LESS): Delete.
* real.c (real_less): New function.
(real_compare): Use it.
* config/m68k/m68k.c (floating_exact_log2): Use real_less instead
of REAL_VALUES_LESS.
* config/microblaze/microblaze.c (microblaze_const_double_ok):
Likewise.
* fold-const.c (fold_convert_const_int_from_real): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
(simplify_const_relational_operation): Likewise.
* tree-call-cdce.c (check_pow): Likewise.
(gen_conditions_for_pow_cst_base): Likewise.

From-SVN: r228475

8 years agoRemove remaining uses of REAL_VALUES_IDENTICAL
Richard Sandiford [Mon, 5 Oct 2015 11:30:52 +0000 (11:30 +0000)]
Remove remaining uses of REAL_VALUES_IDENTICAL

This patch continues the removal of real-related macros.
We already had both the old-style REAL_VALUES_IDENTICAL and the
new-style real_identical, so this patch replaces all remaining
uses of the former with the latter.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/
* real.h (REAL_VALUES_IDENTICAL): Delete.
* config/m68k/m68k.c (standard_68881_constant_p): Use real_identical
instead of REAL_VALUES_IDENTICAL.
* fold-const.c (operand_equal_p): Likewise.
* ipa-icf.c (sem_variable::equals): Likewise.
* tree-complex.c (some_nonzerop): Likewise.
(expand_complex_multiplication): Likewise.
* tree.c (simple_cst_equal): Likewise.
* varasm.c (compare_constant): Likewise.
---
 gcc/config/m68k/m68k.c | 5 ++---
 gcc/fold-const.c       | 3 +--
 gcc/ipa-icf.c          | 4 ++--
 gcc/real.h             | 1 -
 gcc/tree-complex.c     | 4 ++--
 gcc/tree.c             | 2 +-
 gcc/varasm.c           | 2 +-
 7 files changed, 9 insertions(+), 12 deletions(-)

From-SVN: r228474

8 years agoReplace REAL_VALUES_EQUAL with real_equal
Richard Sandiford [Mon, 5 Oct 2015 11:29:35 +0000 (11:29 +0000)]
Replace REAL_VALUES_EQUAL with real_equal

Richard B suggested we should replace dconsthalf etc. with
dconst<1, 2> ().  When I tried that, the extra comma caused problems
with some lingering uses of the old target macros for handling reals
(e.g. REAL_ARITHMETIC instead of real_arithmetic), since the constant
was then treated as two macro parameters.  It would have been possible
to add an extra level of brackets to avoid this, but I thought I might
as well take the opportunity to remove the macros instead.  (Note that
I'm only removing macros that caused a problem directly, or are closely
related to ones that did.)

This first patch replaces REAL_VALUES_EQUAL with a real_equal function.
The prototype is the same as for real_identical, which has already
undergone a half-transition in this direction.

Bootstrapped & regression-tested on x86_64-linux-gnu.  Also tested by
building one target per CPU directory and checking that there were
no new warnings and no changes in testsuite output at -O2.

gcc/c-family/
* c-lex.c (interpret_float): Use real_equal instead of
REAL_VALUES_EQUAL.

gcc/c/
* c-typeck.c (c_tree_equal): Use real_equal instead of
REAL_VALUES_EQUAL.

gcc/cp/
* tree.c (cp_tree_equal): Use real_equal instead of
REAL_VALUES_EQUAL.

gcc/
* real.h (real_equal): Declare.
(REAL_VALUES_EQUAL): Delete.
* real.c (real_equal): New function.
(real_compare): Use it.
* doc/tm.texi.in (REAL_VALUES_EQUAL): Delete.
* doc/tm.texi: Regenerate.
* builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use
real_equal instead of REAL_VALUES_EQUAL.
* config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise.
* config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate)
(fp_const_from_val): Likewise.
* config/fr30/fr30.c (fr30_const_double_is_zero): Likewise.
* config/m68k/m68k.c (standard_68881_constant_p): Likewise.
(floating_exact_log2): Likewise.
* config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
* config/vax/vax.c (vax_float_literal): Likewise.
* config/xtensa/predicates.md (const_float_1_operand): Likewise.
* cprop.c (implicit_set_cond_p): Likewise.
* expmed.c (expand_mult): Likewise.
* fold-const.c (const_binop): Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
(simplify_const_binary_operation): Likewise.
(simplify_const_relational_operation): Likewise.
* tree-call-cdce.c (check_pow): Likewise.
(gen_conditions_for_pow_cst_base): Likewise.
* tree-inline.c (estimate_num_insns): Likewise.
* tree-ssa-dom.c (record_equality): Likewise.
* tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
(gimple_expand_builtin_pow): Likewise.
(pass_optimize_widening_mul::execute): Likewise.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
* tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
* tree.c (real_zerop, real_onep, real_minus_onep): Likewise.
---
 gcc/builtins.c                  | 14 +++++++-------
 gcc/c-family/c-lex.c            |  6 +++---
 gcc/c/c-typeck.c                |  2 +-
 gcc/config/aarch64/aarch64.c    |  2 +-
 gcc/config/arm/arm.c            |  6 +++---
 gcc/config/fr30/fr30.c          |  2 +-
 gcc/config/m68k/m68k.c          |  6 +++---
 gcc/config/sh/sh.c              |  4 ++--
 gcc/config/vax/vax.c            |  4 ++--
 gcc/config/xtensa/predicates.md |  2 +-
 gcc/cp/tree.c                   |  2 +-
 gcc/cprop.c                     |  2 +-
 gcc/doc/tm.texi                 |  7 -------
 gcc/doc/tm.texi.in              |  7 -------
 gcc/expmed.c                    |  2 +-
 gcc/fold-const.c                |  2 +-
 gcc/real.c                      | 10 +++++++++-
 gcc/real.h                      |  4 ++--
 gcc/simplify-rtx.c              | 16 ++++++++--------
 gcc/tree-call-cdce.c            |  4 ++--
 gcc/tree-inline.c               |  5 +++--
 gcc/tree-ssa-dom.c              |  2 +-
 gcc/tree-ssa-math-opts.c        | 16 ++++++++--------
 gcc/tree-ssa-uncprop.c          |  2 +-
 gcc/tree-vect-patterns.c        |  4 ++--
 gcc/tree.c                      |  6 +++---
 26 files changed, 67 insertions(+), 72 deletions(-)

From-SVN: r228473

8 years agore PR ipa/67783 (quadratic time consumption in IPA inlining with -O1 and higher)
Richard Biener [Mon, 5 Oct 2015 11:15:10 +0000 (11:15 +0000)]
re PR ipa/67783 (quadratic time consumption in IPA inlining with -O1 and higher)

2015-10-05  Richard Biener  <rguenther@suse.de>

PR ipa/67783
* ipa-inline-analysis.c (estimate_function_body_sizes): Only
consider loop header PHI defs as IVs.

From-SVN: r228472

8 years agotree-ssa-pre.c (create_component_ref_by_pieces_1): Move call handling ...
Richard Biener [Mon, 5 Oct 2015 11:13:14 +0000 (11:13 +0000)]
tree-ssa-pre.c (create_component_ref_by_pieces_1): Move call handling ...

2015-10-05  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (create_component_ref_by_pieces_1): Move
call handling ...
(create_expression_by_pieces): ... here and build GIMPLE
calls directly.  Use gimple_build API and avoid force_gimple_operand.
(insert_into_preds_of_block): Simplify.
(do_regular_insertion): Add comment.

From-SVN: r228471

8 years ago[Patch ARM/ AArch64] Fix typo in vcvt_f16.c testcase .
Ramana Radhakrishnan [Mon, 5 Oct 2015 11:08:45 +0000 (11:08 +0000)]
[Patch ARM/ AArch64] Fix typo in vcvt_f16.c testcase .

This test worked by accident. While looking at why this was failing randomly in my builds, I discovered a bug in the way in which the testcases were written up in this case.

2015-10-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c (TEST_MSG): Fix typo.
(exec_vcvt): Add comments.

From-SVN: r228470

8 years agore PR c++/67844 (Cannot make tuple of class with template constructor)
Ville Voutilainen [Mon, 5 Oct 2015 09:57:20 +0000 (12:57 +0300)]
re PR c++/67844 (Cannot make tuple of class with template constructor)

2015-10-05  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR 67844.
* include/std/tuple (_TC::_NonNestedTuple): Eagerly reject
conversions from tuple types same as the target tuple.
* testsuite/20_util/tuple/67844.cc: New.
* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add
a missing copyright header.

From-SVN: r228468

8 years agoDaily bump.
GCC Administrator [Mon, 5 Oct 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r228465

8 years agoImplement N4514, C++ Extensions for Transactional Memory.
Jason Merrill [Sun, 4 Oct 2015 19:17:19 +0000 (15:17 -0400)]
Implement N4514, C++ Extensions for Transactional Memory.

gcc/
* builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute.
gcc/c-family/
* c-common.c (c_common_reswords): Add C++ TM TS keywords.
(c_common_attribute_table): Add transaction_safe_dynamic.
transaction_safe now affects type identity.
(handle_tm_attribute): Handle transaction_safe_dynamic.
* c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
(OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
(D_TRANSMEM): New.
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
* c-pretty-print.c (pp_c_attributes_display): Don't print
transaction_safe in C++.
gcc/c/
* c-parser.c (c_lex_one_token): Handle @synchronized.
* c-decl.c (match_builtin_function_types): A declaration of a built-in
can change whether the function is transaction_safe.
gcc/cp/
* cp-tree.h (struct cp_declarator): Add tx_qualifier field.
(BCS_NORMAL, BCS_TRANSACTION): New enumerators.
* lex.c (init_reswords): Limit TM kewords to -fgnu-tm.
* parser.c (cp_lexer_get_preprocessor_token): Fix @synchronized.
(make_call_declarator): Take tx_qualifier.
(cp_parser_tx_qualifier_opt): New.
(cp_parser_lambda_declarator_opt): Use it.
(cp_parser_direct_declarator): Likewise.
(cp_parser_statement): Handle atomic_noexcept, atomic_cancel.
(cp_parser_compound_statement): Change in_try parameter to bcs_flags.
(cp_parser_std_attribute): Map optimize_for_synchronized to
transaction_callable.
(cp_parser_transaction): Take the token.  Handle atomic_noexcept.
* lambda.c (maybe_add_lambda_conv_op): Handle transaction-safety.
* call.c (enum conversion_kind): Add ck_tsafe.
(standard_conversion): Handle transaction-safety conversion.
(convert_like_real, resolve_address_of_overloaded_function): Likewise.
(check_methods): Diagnose transaction_safe_dynamic on non-virtual
function.
(look_for_tm_attr_overrides): Don't inherit transaction_safe_dynamic.
* cvt.c (tx_safe_fn_type_p, tx_unsafe_fn_variant)
(can_convert_tx_safety): New.
* typeck.c (composite_pointer_type): Handle transaction-safety.
* name-lookup.h (enum scope_kind): Add sk_transaction.
* name-lookup.c (begin_scope): Handle it.
* semantics.c (begin_compound_stmt): Pass it.
* decl.c (check_previous_goto_1): Check it.
(struct named_label_entry): Add in_transaction_scope.
(poplevel_named_label_1): Set it.
(check_goto): Check it.
(duplicate_decls): A specialization can be transaction_safe
independently of its template.
(grokdeclarator): Handle tx-qualifier.
* rtti.c (ptr_initializer): Handle transaction-safe.
* search.c (check_final_overrider): Check transaction_safe_dynamic.
Don't check transaction_safe.
* mangle.c (write_function_type): Mangle transaction_safe here.
(write_CV_qualifiers_for_type): Not here.
(write_type): Preserve transaction_safe when stripping attributes.
* error.c (dump_type_suffix): Print transaction_safe.
libiberty/
* cp-demangle.c (d_cv_qualifiers): Dx means transaction_safe.
(cplus_demangle_type): Let d_cv_qualifiers handle it.
(d_dump, d_make_comp, has_return_type, d_encoding)
(d_count_templates_scopes, d_print_comp_inner)
(d_print_mod_list, d_print_mod, d_print_function_type)
(is_ctor_or_dtor): Handle DEMANGLE_COMPONENT_TRANSACTION_SAFE.

From-SVN: r228462

8 years agore PR rtl-optimization/67447 (ICE in extract_constrain_insn (reload_cse_simplify_oper...
Uros Bizjak [Sun, 4 Oct 2015 15:56:45 +0000 (17:56 +0200)]
re PR rtl-optimization/67447 (ICE in extract_constrain_insn (reload_cse_simplify_operands): insn does not satisfy its constraints)

PR rtl-optimization/67447
* gcc.target/i386/pr67447.c: New test.

From-SVN: r228461

8 years agoi386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to check for general register.
Uros Bizjak [Sun, 4 Oct 2015 14:09:23 +0000 (16:09 +0200)]
i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to check for general register.

* config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to
check for general register.
(ix86_emit_save_regs): Ditto.
(ix86_emit_save_regs_using_mov): Ditto.
(ix86_emit_restore_regs_using_pop): Ditto.
(ix86_emit_restore_regs_using_mov): Ditto.

From-SVN: r228460

8 years agovect-pack-trunc-1.c: Require avx512bw effective target.
Uros Bizjak [Sun, 4 Oct 2015 14:02:05 +0000 (16:02 +0200)]
vect-pack-trunc-1.c: Require avx512bw effective target.

* gcc.target/i386/vect-pack-trunc-1.c: Require avx512bw
effective target.
* gcc.target/i386/vect-pack-trunc-2.c: Ditto.
* gcc.target/i386/vect-perm-even-1.c: Ditto.
* gcc.target/i386/vect-perm-odd-1.c: Ditto.
* gcc.target/i386/vect-unpack-1.c: Ditto.
* gcc.target/i386/vect-unpack-2.c: Ditto.

From-SVN: r228459

8 years agoRemove dead code
Mikael Morin [Sun, 4 Oct 2015 13:42:03 +0000 (13:42 +0000)]
Remove dead code

gcc/fortran/
* match.c (gfc_match_common): Remove dead variable old_blank_common.

From-SVN: r228458

8 years agoFix fortran common-related error recovery ICE.
Mikael Morin [Sun, 4 Oct 2015 12:30:16 +0000 (12:30 +0000)]
Fix fortran common-related error recovery ICE.

Upon reverting a symbol in a common block (after throwing an error),
the compiler was ICEing because the symbol's common_block field was set,
but the symbol was not in the common block's list of symbols.

Fixed by both adding the symbol to the common block list and setting
the symbol's common_block field at the same time.
Furthermore, the gfc_add_in_common call is delayed and its result is
ignored, so that its error messages are ignored and the compiler has
the opportunity to give a better error message.
Another gfc_add_in_common call is added later during resolution
to emit again the missing errors.

PR fortran/67758
gcc/fortran/
* match.c (gfc_match_common): Delay the common_block pointer
assignment after error checking.
Delay the call to gfc_add_in_common attribute after the handling
of array specs.
* resolve.c (resolve_common_vars): Call gfc_add_in_common again.
gcc/testsuite/
* gfortran.dg/common_24.f: New.

From-SVN: r228457

8 years agoFactor access to the common block head symbol
Mikael Morin [Sun, 4 Oct 2015 12:07:50 +0000 (12:07 +0000)]
Factor access to the common block head symbol

* resolve.c (resolve_common_vars): Move access to the common
block's head symbol inside the function.
(resolve_common_blocks, resolve_types): Update callers.

From-SVN: r228456

8 years agoDaily bump.
GCC Administrator [Sun, 4 Oct 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r228454

8 years agoMakefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
Marek Polacek [Sat, 3 Oct 2015 17:02:12 +0000 (17:02 +0000)]
Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.

* Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
(insn-dfatab.o): Likewise.

From-SVN: r228451

8 years agoxtensa: add uclinux support
Max Filippov [Sat, 3 Oct 2015 16:09:07 +0000 (16:09 +0000)]
xtensa: add uclinux support

2015-10-03  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
* config.gcc (xtensa*-*-uclinux*): New configuration.
* config/xtensa/uclinux.h: New file.
* config/xtensa/uclinux.opt: New file.

libgcc/
* config.host (xtensa*-*-uclinux*): New configuration.

From-SVN: r228450

8 years agoDocument value of __cplusplus for C++14
Jonathan Wakely [Sat, 3 Oct 2015 12:52:18 +0000 (13:52 +0100)]
Document value of __cplusplus for C++14

* doc/cpp.texi (Standard Predefined Macros): Document value of
__cplusplus for C++14.

From-SVN: r228448

8 years agoRemove pretty printing for 'any' with allocators
Jonathan Wakely [Sat, 3 Oct 2015 12:09:36 +0000 (13:09 +0100)]
Remove pretty printing for 'any' with allocators

* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support
for _Manager_alloc.

From-SVN: r228447

8 years agoFix comments saying why headers are included
Jonathan Wakely [Sat, 3 Oct 2015 12:09:31 +0000 (13:09 +0100)]
Fix comments saying why headers are included

* src/c++98/locale.cc: Fix comment.
* src/c++98/locale_init.cc: Likewise.

From-SVN: r228446

8 years agopr67756.c: Fixed warnings.
Bernd Edlinger [Sat, 3 Oct 2015 06:28:35 +0000 (06:28 +0000)]
pr67756.c: Fixed warnings.

2015-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.target/arm/pr67756.c: Fixed warnings.

From-SVN: r228445

8 years agoDaily bump.
GCC Administrator [Sat, 3 Oct 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r228442

8 years agoFix testsuite failures with --disable-wchar_t
Jonathan Wakely [Fri, 2 Oct 2015 23:43:17 +0000 (00:43 +0100)]
Fix testsuite failures with --disable-wchar_t

* testsuite/21_strings/basic_string/literals/types.cc: Guard use of
wchar_t with _GLIBCXX_USE_WCHAR_T.
* testsuite/21_strings/basic_string/literals/values.cc: Likewise.
* testsuite/21_strings/basic_string/requirements/citerators.cc:
Likewise.
* testsuite/22_locale/messages/13631.cc: Likewise.
* testsuite/experimental/string_view/literals/types.cc: Likewise.
* testsuite/experimental/string_view/literals/values.cc: Likewise.

From-SVN: r228439

8 years agoEnable dual ABI for Filesystem library
Jonathan Wakely [Fri, 2 Oct 2015 23:21:41 +0000 (00:21 +0100)]
Enable dual ABI for Filesystem library

* src/filesystem/Makefile.am: Add cxx11_abi_sources.
* src/filesystem/Makefile.in: Regenerate.
* src/filesystem/cow-dir.cc: New.
* src/filesystem/cow-ops.cc: New.
* src/filesystem/cow-path.cc: New.
* src/filesystem/dir.cc: Define macro for new ABI.
* src/filesystem/ops.cc: Likewise.
* src/filesystem/path.cc: Likewise.

From-SVN: r228437

8 years agominimal.cc: Minor tweaks to match narrow char version.
Jonathan Wakely [Fri, 2 Oct 2015 22:18:06 +0000 (23:18 +0100)]
minimal.cc: Minor tweaks to match narrow char version.

* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Minor tweaks to match narrow char version.

From-SVN: r228436

8 years agoFix tests that fail with old std::string
Jonathan Wakely [Fri, 2 Oct 2015 22:13:18 +0000 (23:13 +0100)]
Fix tests that fail with old std::string

* testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
explicit instantiation with check for new ABI.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise. Use wchar_t as char_type.

From-SVN: r228435

8 years agoUse noexcept instead of _GLIBCXX_NOEXCEPT
Jonathan Wakely [Fri, 2 Oct 2015 22:13:12 +0000 (23:13 +0100)]
Use noexcept instead of _GLIBCXX_NOEXCEPT

* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
(basic_string::front() const, basic_string::back() const): Use
noexcept instead of _GLIBCXX_NOEXCEPT macro.
(__versa_string::front, __versa_string::back): Likewise.

From-SVN: r228434

8 years ago* acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.
Jonathan Wakely [Fri, 2 Oct 2015 21:47:38 +0000 (22:47 +0100)]
* acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.

From-SVN: r228433

8 years agoHelp the offload gcc driver find the right assembler
Bernd Schmidt [Fri, 2 Oct 2015 21:24:50 +0000 (21:24 +0000)]
Help the offload gcc driver find the right assembler

gcc/
* gcc.c (process_command): Use spec_machine rather than
spec_host_machine to build tooldir_prefix2.

From-SVN: r228429

8 years agonvptx offloading linking
Thomas Schwinge [Fri, 2 Oct 2015 19:43:41 +0000 (21:43 +0200)]
nvptx offloading linking

gcc/
* config/nvptx/mkoffload.c (Kind, Vis): Remove enums.
(Token, Stmt): Remove structs.
(decls, vars, fns): Remove variables.
(alloc_comment, append_stmt, is_keyword): Remove macros.
(tokenize, write_token, write_tokens, alloc_stmt, rev_stmts)
(write_stmt, write_stmts, parse_insn, parse_list_nosemi)
(parse_init, parse_file): Remove functions.
(read_file): Accept a pointer to a length and store into it.
(process): Don't try to parse the input file, just write it out as
a string, but looking for maps.  Also write out the length.
(main): Don't use "-S" to compile PTX code.

libgomp/
* oacc-ptx.h: Remove file, moving its content into...
* config/nvptx/fortran.c: ... here...
* config/nvptx/oacc-init.c: ..., here...
* config/nvptx/oacc-parallel.c: ..., and here.
* config/nvptx/openacc.f90: New file.
* plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
(link_ptx): Don't link in predefined bits of PTX code.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
From-SVN: r228418

8 years agoAllow Filesystem TS to compile without wchar_t
Jonathan Wakely [Fri, 2 Oct 2015 19:38:38 +0000 (20:38 +0100)]
Allow Filesystem TS to compile without wchar_t

* include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
(__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
* include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
(path::wstring, path::generic_wstring): Disable.
* src/filesystem/path.cc (path::_S_convert_loc)
[!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
* testsuite/experimental/filesystem/path/assign/assign.cc: Check for
wchar_t support.
* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.

From-SVN: r228417