1. 10 Oct, 2017 36 commits
    • re PR rtl-optimization/68205 (ICE compiling gcc.c-torture/execute/20040709-2.c… · 16d926d2
      re PR rtl-optimization/68205 (ICE compiling gcc.c-torture/execute/20040709-2.c with -fno-common on arm-none-eabi)
      
      	PR rtl-optimization/68205
      	* gcc.c-torture/execute/20040709-3.c: New test.
      
      From-SVN: r253618
      Jakub Jelinek committed
    • re PR c++/67625 (some constexpr expressions rejected as enumerator value) · b2ca2504
      2017-10-10  Jakub Jelinek  <jakub@redhat.com>
      
      	PR c++/67625
      	* g++.dg/cpp0x/pr67625.C: New test.
      
      From-SVN: r253617
      Jakub Jelinek committed
    • re PR middle-end/70887 (internal compiler error in trunc_int_for_mode, at explow.c:78) · c9a0dec5
      2017-10-10  Jakub Jelinek  <jakub@redhat.com>
      
      	PR middle-end/70887
      	* g++.dg/cpp0x/pr70887.C: New test.
      
      From-SVN: r253616
      Jakub Jelinek committed
    • re PR c++/70338 (ICE combining debug symbols, range-for in lambda in function… · aaf58ab1
      re PR c++/70338 (ICE combining debug symbols, range-for in lambda in function template accessing captured variable-size array)
      
      	PR c++/70338
      	* g++.dg/cpp0x/pr70338.C: New test.
      
      From-SVN: r253615
      Jakub Jelinek committed
    • re PR c++/77786 (ICE in tsubst_copy, at cp/pt.c:13040) · 10885d13
      	PR c++/77786
      	* g++.dg/cpp1y/pr77786.C: New test.
      
      From-SVN: r253614
      Jakub Jelinek committed
    • re PR c++/71875 (template specialization compile error) · da31baba
      	PR c++/71875
      	* g++.dg/cpp1y/pr71875.C: New test.
      
      From-SVN: r253613
      Jakub Jelinek committed
    • re PR c++/77578 (ICE in cp_parser_omp_for_loop (cp/parser.c:29404)) · 24f8d391
      	PR c++/77578
      	* g++.dg/gomp/pr77578.C: New test.
      
      From-SVN: r253612
      Jakub Jelinek committed
    • re PR middle-end/70100 (ICE: in execute, at cfgexpand.c:6066) · 4407c309
      	PR middle-end/70100
      	* g++.dg/opt/pr70100.C: New test.
      
      From-SVN: r253611
      Jakub Jelinek committed
    • re PR c++/68252 (left operand of shift expression, while we shift > 0 integer) · 7094f0d3
      2017-10-10  Jakub Jelinek  <jakub@redhat.com>
      
      	PR c++/68252
      	* g++.dg/other/pr68252.C: New test.
      
      From-SVN: r253610
      Jakub Jelinek committed
    • re PR target/79565 (ICE in copy_to_mode_reg, at explow.c:612) · 71a84d92
      	PR target/79565
      	PR target/82483
      	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Add
      	OPTION_MASK_ISA_MMX for __builtin_ia32_maskmovq,
      	__builtin_ia32_vec_ext_v4hi and __builtin_ia32_vec_set_v4hi.
      	(ix86_expand_builtin): Treat OPTION_MASK_ISA_MMX similarly
      	to OPTION_MASK_ISA_AVX512VL - builtins that have both
      	OPTION_MASK_ISA_MMX and some other bit set require both
      	mmx and the ISAs without the mmx bit.
      	* config/i386/i386-builtin.def (__builtin_ia32_cvtps2pi,
      	__builtin_ia32_cvttps2pi, __builtin_ia32_cvtpi2ps,
      	__builtin_ia32_pavgb, __builtin_ia32_pavgw, __builtin_ia32_pmulhuw,
      	__builtin_ia32_pmaxub, __builtin_ia32_pmaxsw, __builtin_ia32_pminub,
      	__builtin_ia32_pminsw, __builtin_ia32_psadbw, __builtin_ia32_pmovmskb,
      	__builtin_ia32_pshufw, __builtin_ia32_cvtpd2pi,
      	__builtin_ia32_cvttpd2pi, __builtin_ia32_cvtpi2pd,
      	__builtin_ia32_pmuludq, __builtin_ia32_pabsb, __builtin_ia32_pabsw,
      	__builtin_ia32_pabsd, __builtin_ia32_phaddw, __builtin_ia32_phaddd,
      	__builtin_ia32_phaddsw, __builtin_ia32_phsubw, __builtin_ia32_phsubd,
      	__builtin_ia32_phsubsw, __builtin_ia32_pmaddubsw,
      	__builtin_ia32_pmulhrsw, __builtin_ia32_pshufb, __builtin_ia32_psignb,
      	__builtin_ia32_psignw, __builtin_ia32_psignd, __builtin_ia32_movntq,
      	__builtin_ia32_paddq, __builtin_ia32_psubq, __builtin_ia32_palignr):
      	Add OPTION_MASK_ISA_MMX.
      
      	* gcc.target/i386/pr82483-1.c: New test.
      	* gcc.target/i386/pr82483-2.c: New test.
      
      Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
      
      From-SVN: r253609
      Jakub Jelinek committed
    • [C++ PATCH] Hash mangling alias · eead34af
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00618.html
      	* decl2.c (struct mangled_decl_hash): New hash traits.
      	(mangled_decls): Make hash_table<mangled_decl_hash>.
      	(generate_mangling_alias, record_mangling): Adjust.
      
      From-SVN: r253608
      Nathan Sidwell committed
    • fold-vec-mult-int128-p8.c: Update options · 24d8f6b6
      2017-10-10  Will Schmidt <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-mult-int128-p8.c: Update options
      	* gcc.target/powerpc/fold-vec-mult-int128-p9.c: Update expected
      	instruction list.
      
      From-SVN: r253606
      Will Schmidt committed
    • [PATCH] preprocessor stringizing raw strings · 35b82d26
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00611.html
      	libcpp/
      	PR preprocessor/82506
      	* macro.c (cpp_quote_string): Escape raw LFs.
      
      	gcc/testsuite/
      	PR preprocessor/82506
      	* g++.dg/cpp/string-3.C: New.
      
      From-SVN: r253605
      Nathan Sidwell committed
    • config.gcc (armv7*-*-freebsd*): New target. · eb484969
      2017-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
      
          * config.gcc (armv7*-*-freebsd*): New target.
          (armv6*-*-freebsd*): Remove obsolete TARGET_FREEBSD_ARMv6 define.
      
      From-SVN: r253602
      Andreas Tobler committed
    • More delayed lambda capture fixes. · 84dd815f
      	* call.c (add_function_candidate): Use build_address.
      	(build_op_call_1): Call mark_lvalue_use early.
      	(build_over_call): Handle error from build_this.
      	* constexpr.c (cxx_bind_parameters_in_call): Use build_address.
      	(cxx_eval_increment_expression): Don't use rvalue().
      	* cvt.c (convert_to_void): Use mark_discarded_use.
      	* expr.c (mark_use): Handle PARM_DECL, NON_DEPENDENT_EXPR.  Fix
      	reference handling.  Don't copy the expression.
      	(mark_discarded_use): New.
      	* lambda.c (insert_capture_proxy): Add some sanity checking.
      	(maybe_add_lambda_conv_op): Set cp_unevaluated_operand.
      	* pt.c (register_local_specialization): Add sanity check.
      	* semantics.c (process_outer_var_ref): Fix check for existing proxy.
      	* typeck.c (cp_build_addr_expr_1): Handle error from
      	mark_lvalue_use.
      	(cp_build_modify_expr): Call mark_lvalue_use_nonread, handle error
      	from rvalue.
      
      	Handle generic lambda capture in dependent expressions.
      	* lambda.c (need_generic_capture, dependent_capture_r)
      	(do_dependent_capture): New.
      	* pt.c (processing_nonlambda_template): Use need_generic_capture.
      	* semantics.c (maybe_cleanup_point_expr)
      	(maybe_cleanup_point_expr_void, finish_goto_stmt)
      	(maybe_convert_cond): Call do_dependent_capture.
      	* typeck.c (build_static_cast): Remove dependent capture handling.
      
      From-SVN: r253601
      Jason Merrill committed
    • Various small C++ fixes. · e1bea341
      	* typeck.c (condition_conversion): Assert !processing_template_decl.
      	* semantics.c (finish_omp_clauses): Don't
      	fold_build_cleanup_point_expr if processing_template_decl.
      	(outer_var_p): A temporary can't be from an outer scope.
      	* pt.c (type_dependent_expression_p): Fix dependency checking of
      	functions without DECL_TEMPLATE_INFO.
      	(instantiate_decl): Use lss_copy.
      	* constexpr.c (is_valid_constexpr_fn): Fix lambdas before C++17.
      
      From-SVN: r253600
      Jason Merrill committed
    • Check non-dependent conversion in return from template fn. · 4d612bfd
      	* typeck.c (check_return_expr): Check non-dependent conversion in
      	templates.
      	* constraint.cc (check_function_concept): Don't complain about an
      	empty concept if seen_error.
      
      From-SVN: r253599
      Jason Merrill committed
    • x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI, [...]): Move to right spot in the file. · 3652a4d2
      
      	* x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI, X86_TUNE_ADJUST_UNROLL,
      	X86_TUNE_ONE_IF_CONV_INSN): Move to right spot in the file.
      
      From-SVN: r253598
      Jan Hubicka committed
    • fold-vec-cmp-char.c: New. · f1e2a004
      [testsuite]
      
      2017-10-10  Will Schmidt <will_schmidt@vnet.ibm.com>
      	* gcc.target/powerpc/fold-vec-cmp-char.c: New.
      	* gcc.target/powerpc/fold-vec-cmp-double.c: New.
      	* gcc.target/powerpc/fold-vec-cmp-float.c: New.
      	* gcc.target/powerpc/fold-vec-cmp-int.c: New.
      	* gcc.target/powerpc/fold-vec-cmp-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-cmp-short.c: New.
      
      From-SVN: r253597
      Will Schmidt committed
    • Require wi::to_wide for trees · 8e6cdc90
      The wide_int routines allow things like:
      
         wi::add (t, 1)
      
      to add 1 to an INTEGER_CST T in its native precision.  But we also have:
      
         wi::to_offset (t)      // Treat T as an offset_int
         wi::to_widest (t)      // Treat T as a widest_int
      
      Recently we also gained:
      
         wi::to_wide (t, prec)  // Treat T as a wide_int in preccision PREC
      
      This patch therefore requires:
      
         wi::to_wide (t)
      
      when operating on INTEGER_CSTs in their native precision.  This is
      just as efficient, and makes it clearer that a deliberate choice is
      being made to treat the tree as a wide_int in its native precision.
      This also removes the inconsistency that
      
      a) INTEGER_CSTs in their native precision can be used without an accessor
         but must use wi:: functions instead of C++ operators
      
      b) the other forms need an explicit accessor but the result can be used
         with C++ operators.
      
      It also helps with SVE, where there's the additional possibility
      that the tree could be a runtime value.
      
      2017-10-10  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* wide-int.h (wide_int_ref_storage): Make host_dependent_precision
      	a template parameter.
      	(WIDE_INT_REF_FOR): Update accordingly.
      	* tree.h (wi::int_traits <const_tree>): Delete.
      	(wi::tree_to_widest_ref, wi::tree_to_offset_ref): New typedefs.
      	(wi::to_widest, wi::to_offset): Use them.  Expand commentary.
      	(wi::tree_to_wide_ref): New typedef.
      	(wi::to_wide): New function.
      	* calls.c (get_size_range): Use wi::to_wide when operating on
      	trees as wide_ints.
      	* cgraph.c (cgraph_node::create_thunk): Likewise.
      	* config/i386/i386.c (ix86_data_alignment): Likewise.
      	(ix86_local_alignment): Likewise.
      	* dbxout.c (stabstr_O): Likewise.
      	* dwarf2out.c (add_scalar_info, gen_enumeration_type_die): Likewise.
      	* expr.c (const_vector_from_tree): Likewise.
      	* fold-const-call.c (host_size_t_cst_p, fold_const_call_1): Likewise.
      	* fold-const.c (may_negate_without_overflow_p, negate_expr_p)
      	(fold_negate_expr_1, int_const_binop_1, const_binop)
      	(fold_convert_const_int_from_real, optimize_bit_field_compare)
      	(all_ones_mask_p, sign_bit_p, unextend, extract_muldiv_1)
      	(fold_div_compare, fold_single_bit_test, fold_plusminus_mult_expr)
      	(pointer_may_wrap_p, expr_not_equal_to, fold_binary_loc)
      	(fold_ternary_loc, multiple_of_p, fold_negate_const, fold_abs_const)
      	(fold_not_const, round_up_loc): Likewise.
      	* gimple-fold.c (gimple_fold_indirect_ref): Likewise.
      	* gimple-ssa-warn-alloca.c (alloca_call_type_by_arg): Likewise.
      	(alloca_call_type): Likewise.
      	* gimple.c (preprocess_case_label_vec_for_gimple): Likewise.
      	* godump.c (go_output_typedef): Likewise.
      	* graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
      	* internal-fn.c (get_min_precision): Likewise.
      	* ipa-cp.c (ipcp_store_vr_results): Likewise.
      	* ipa-polymorphic-call.c
      	(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Likewise.
      	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Likewise.
      	(ipa_modify_call_arguments): Likewise.
      	* match.pd: Likewise.
      	* omp-low.c (scan_omp_1_op, lower_omp_ordered_clauses): Likewise.
      	* print-tree.c (print_node_brief, print_node): Likewise.
      	* stmt.c (expand_case): Likewise.
      	* stor-layout.c (layout_type): Likewise.
      	* tree-affine.c (tree_to_aff_combination): Likewise.
      	* tree-cfg.c (group_case_labels_stmt): Likewise.
      	* tree-data-ref.c (dr_analyze_indices): Likewise.
      	(prune_runtime_alias_test_list): Likewise.
      	* tree-dump.c (dequeue_and_dump): Likewise.
      	* tree-inline.c (remap_gimple_op_r, copy_tree_body_r): Likewise.
      	* tree-predcom.c (is_inv_store_elimination_chain): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-scalar-evolution.c (iv_can_overflow_p): Likewise.
      	(simple_iv_with_niters): Likewise.
      	* tree-ssa-address.c (addr_for_mem_ref): Likewise.
      	* tree-ssa-ccp.c (ccp_finalize, evaluate_stmt): Likewise.
      	* tree-ssa-loop-ivopts.c (constant_multiple_of): Likewise.
      	* tree-ssa-loop-niter.c (split_to_var_and_offset)
      	(refine_value_range_using_guard, number_of_iterations_ne_max)
      	(number_of_iterations_lt_to_ne, number_of_iterations_lt)
      	(get_cst_init_from_scev, record_nonwrapping_iv)
      	(scev_var_range_cant_overflow): Likewise.
      	* tree-ssa-phiopt.c (minmax_replacement): Likewise.
      	* tree-ssa-pre.c (compute_avail): Likewise.
      	* tree-ssa-sccvn.c (vn_reference_fold_indirect): Likewise.
      	(vn_reference_maybe_forwprop_address, valueized_wider_op): Likewise.
      	* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
      	* tree-ssa-uninit.c (is_pred_expr_subset_of): Likewise.
      	* tree-ssanames.c (set_nonzero_bits, get_nonzero_bits): Likewise.
      	* tree-switch-conversion.c (collect_switch_conv_info, array_value_type)
      	(dump_case_nodes, try_switch_expansion): Likewise.
      	* tree-vect-loop-manip.c (vect_gen_vector_loop_niters): Likewise.
      	(vect_do_peeling): Likewise.
      	* tree-vect-patterns.c (vect_recog_bool_pattern): Likewise.
      	* tree-vect-stmts.c (vectorizable_load): Likewise.
      	* tree-vrp.c (compare_values_warnv, vrp_int_const_binop): Likewise.
      	(zero_nonzero_bits_from_vr, ranges_from_anti_range): Likewise.
      	(extract_range_from_binary_expr_1, adjust_range_with_scev): Likewise.
      	(overflow_comparison_p_1, register_edge_assert_for_2): Likewise.
      	(is_masked_range_test, find_switch_asserts, maybe_set_nonzero_bits)
      	(vrp_evaluate_conditional_warnv_with_ops, intersect_ranges): Likewise.
      	(range_fits_type_p, two_valued_val_range_p, vrp_finalize): Likewise.
      	(evrp_dom_walker::before_dom_children): Likewise.
      	* tree.c (cache_integer_cst, real_value_from_int_cst, integer_zerop)
      	(integer_all_onesp, integer_pow2p, integer_nonzerop, tree_log2)
      	(tree_floor_log2, tree_ctz, mem_ref_offset, tree_int_cst_sign_bit)
      	(tree_int_cst_sgn, get_unwidened, int_fits_type_p): Likewise.
      	(get_type_static_bounds, num_ending_zeros, drop_tree_overflow)
      	(get_range_pos_neg): Likewise.
      	* ubsan.c (ubsan_expand_ptr_ifn): Likewise.
      	* config/darwin.c (darwin_mergeable_constant_section): Likewise.
      	* config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Likewise.
      	* config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
      	* config/avr/avr.c (avr_fold_builtin): Likewise.
      	* config/bfin/bfin.c (bfin_local_alignment): Likewise.
      	* config/msp430/msp430.c (msp430_attr): Likewise.
      	* config/nds32/nds32.c (nds32_insert_attributes): Likewise.
      	* config/powerpcspe/powerpcspe-c.c
      	(altivec_resolve_overloaded_builtin): Likewise.
      	* config/powerpcspe/powerpcspe.c (rs6000_aggregate_candidate)
      	(rs6000_expand_ternop_builtin): Likewise.
      	* config/rs6000/rs6000-c.c
      	(altivec_resolve_overloaded_builtin): Likewise.
      	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): Likewise.
      	(rs6000_expand_ternop_builtin): Likewise.
      	* config/s390/s390.c (s390_handle_hotpatch_attribute): Likewise.
      
      gcc/ada/
      	* gcc-interface/decl.c (annotate_value): Use wi::to_wide when
      	operating on trees as wide_ints.
      
      gcc/c/
      	* c-parser.c (c_parser_cilk_clause_vectorlength): Use wi::to_wide when
      	operating on trees as wide_ints.
      	* c-typeck.c (build_c_cast, c_finish_omp_clauses): Likewise.
      	(c_tree_equal): Likewise.
      
      gcc/c-family/
      	* c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
      	operating on trees as wide_ints.
      	* c-common.c (pointer_int_sum): Likewise.
      	* c-pretty-print.c (pp_c_integer_constant): Likewise.
      	* c-warn.c (match_case_to_enum_1): Likewise.
      	(c_do_switch_warnings): Likewise.
      	(maybe_warn_shift_overflow): Likewise.
      
      gcc/cp/
      	* cvt.c (ignore_overflows): Use wi::to_wide when
      	operating on trees as wide_ints.
      	* decl.c (check_array_designated_initializer): Likewise.
      	* mangle.c (write_integer_cst): Likewise.
      	* semantics.c (cp_finish_omp_clause_depend_sink): Likewise.
      
      gcc/fortran/
      	* target-memory.c (gfc_interpret_logical): Use wi::to_wide when
      	operating on trees as wide_ints.
      	* trans-const.c (gfc_conv_tree_to_mpz): Likewise.
      	* trans-expr.c (gfc_conv_cst_int_power): Likewise.
      	* trans-intrinsic.c (trans_this_image): Likewise.
      	(gfc_conv_intrinsic_bound): Likewise.
      	(conv_intrinsic_cobound): Likewise.
      
      gcc/lto/
      	* lto.c (compare_tree_sccs_1): Use wi::to_wide when
      	operating on trees as wide_ints.
      
      gcc/objc/
      	* objc-act.c (objc_decl_method_attributes): Use wi::to_wide when
      	operating on trees as wide_ints.
      
      From-SVN: r253595
      Richard Sandiford committed
    • re PR libfortran/82233 (execute_command_line causes program to stop when command… · 3934b625
      re PR libfortran/82233 (execute_command_line causes program to stop when command fails (or does not exist))
      
      2017-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/82233
      	* intrinsics/execute_command_line.c (execute_command_line):
      	No call to runtime_error if cmdstat is present.
      
      2017-10-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/82233
      	* gfortran.dg/execute_command_line_3.f90: New test.
      
      From-SVN: r253593
      Thomas Koenig committed
    • |-------* gcc.target/powerpc/fold-vec-splat-16.c: New |-------*… · 53befce7
      |-------* gcc.target/powerpc/fold-vec-splat-16.c: New |-------* gcc.target/powerpc/fold-vec-splat-32.c: New.
      
      
      2017-10-10  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      [testsuite]
      |-------* gcc.target/powerpc/fold-vec-splat-16.c: New
      |-------* gcc.target/powerpc/fold-vec-splat-32.c: New.
      |-------* gcc.target/powerpc/fold-vec-splat-8.c: New.
      
      From-SVN: r253591
      Will Schmidt committed
    • fold-vec-splats-char.c: New. · 0ec8f0c6
      [testsuite]
      
      2017-10-10  Will Schmidt <will_schmidt@vnet.ibm.com>
      
      	* gcc.target/powerpc/fold-vec-splats-char.c: New.
      	* gcc.target/powerpc/fold-vec-splats-floatdouble.c: New.
      	* gcc.target/powerpc/fold-vec-splats-int.c: New.
      	* gcc.target/powerpc/fold-vec-splats-longlong.c: New.
      	* gcc.target/powerpc/fold-vec-splats-short.c: New.
      
      From-SVN: r253590
      Will Schmidt committed
    • re PR c/82437 (false-positive -Wtautological-compare warning with -std=gnu89) · 802b38c9
      	PR c/82437
      	* c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
      	instead of wide_int::from.
      
      	* c-c++-common/Wtautological-compare-7.c: New test.
      
      From-SVN: r253589
      Jakub Jelinek committed
    • [C++ PATCH] set_global_binding tweak · a6a5091a
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00592.html
      	* name-lookup.c (set_global_binding): Don't deal with STAT_HACK.
      
      From-SVN: r253587
      Nathan Sidwell committed
    • tree-vect-loop-manip.c (rename_variables_in_bb): Rename PHI nodes when copying… · 2fe1a1b8
      tree-vect-loop-manip.c (rename_variables_in_bb): Rename PHI nodes when copying loop nest with only one inner loop.
      
      	* tree-vect-loop-manip.c (rename_variables_in_bb): Rename PHI nodes
      	when copying loop nest with only one inner loop.
      
      	gcc/testsuite
      	* gcc.dg/tree-ssa/ldist-34.c: New test.
      
      From-SVN: r253586
      Bin Cheng committed
    • tree-cfgcleanup.c (cleanup_tree_cfg_noloop): Avoid compacting blocks if SCEV is active. · fb1fe1f3
      2017-10-10  Richard Biener  <rguenther@suse.de>
      
      	* tree-cfgcleanup.c (cleanup_tree_cfg_noloop): Avoid compacting
      	blocks if SCEV is active.
      	* tree-scalar-evolution.c (analyze_scalar_evolution_1): Remove
      	dead code.
      	(analyze_scalar_evolution): Handle cached evolutions the obvious way.
      	(scev_initialize): Assert we are not yet initialized.
      
      From-SVN: r253585
      Richard Biener committed
    • class_wide4.adb: Fix a typo. · 0c6ddd1d
      gcc/testsuite/
      
      	* gnat.dg/class_wide4.adb: Fix a typo.
      
      Also add ChangeLog entries missing from previous commits.
      
      From-SVN: r253584
      Ed Schonberg committed
    • update_version_svn: Ignore the GCC 5 branch. · c64c7386
      	* update_version_svn: Ignore the GCC 5 branch.
      	* crontab: Remove entry for the GCC 5 branch.
      
      From-SVN: r253583
      Jakub Jelinek committed
    • Update comment referring to status of LWG issue 111 · 0e7300bb
      	* include/bits/streambuf_iterator.h (istreambuf_iterator::equal):
      	Update comment about NAD issue.
      
      From-SVN: r253582
      Jonathan Wakely committed
    • PR libstdc++/82417 do not include C99 <complex.h> in strict modes · 5d2b8075
      As an extension the C++ version of <complex.h> includes the C version,
      but that defines macros with non-reserved names that should not be
      defined in ISO C++. Only include the C header for non-strict modes, or
      for pre-C++11 (because C++98 doesn't mention <complex.h> at all).
      
      	PR libstdc++/59087
      	PR libstdc++/82417
      	* include/c_compatibility/complex.h [!C++98 && __STRICT_ANSI__]: Do
      	not include C library's <complex.h>.
      	* testsuite/26_numerics/complex/c99.cc: Depend on __STRICT_ANSI__.
      	* testsuite/26_numerics/headers/complex.h/std_c++11.h: New test.
      	* testsuite/26_numerics/headers/complex.h/std_gnu++11.h: New test.
      	* testsuite/26_numerics/headers/complex.h/std_c++98.h: New test.
      
      From-SVN: r253581
      Jonathan Wakely committed
    • tree-loop-distribution.c (generate_loops_for_partition): Remove inner loop's… · efe040bf
      tree-loop-distribution.c (generate_loops_for_partition): Remove inner loop's exit stmt by making it always exit the loop...
      
      	* tree-loop-distribution.c (generate_loops_for_partition): Remove
      	inner loop's exit stmt by making it always exit the loop, otherwise
      	we would generate an infinite empty loop.
      
      	gcc/testsuite
      	* gcc.dg/tree-ssa/ldist-27.c: New test.
      
      From-SVN: r253580
      Bin Cheng committed
    • tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Skip renaming… · 166b8799
      tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Skip renaming variables in new preheader if it's deleted.
      
      	* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Skip
      	renaming variables in new preheader if it's deleted.
      
      From-SVN: r253579
      Bin Cheng committed
    • tree-loop-distribution.c (struct partition): Remove unused field loops of the structure. · 9239436c
      	* tree-loop-distribution.c (struct partition): Remove unused field
      	loops of the structure.
      	(partition_alloc, partition_free): Ditto.
      	(build_rdg_partition_for_vertex): Ditto.
      
      From-SVN: r253578
      Bin Cheng committed
    • targhooks.c (default_stack_clash_protection_final_dynamic_probe): Fix return… · 599bffa2
      targhooks.c (default_stack_clash_protection_final_dynamic_probe): Fix return type to match prototype and documentation.
      
      	* targhooks.c (default_stack_clash_protection_final_dynamic_probe): Fix
      	return type to match prototype and documentation.
      
      From-SVN: r253575
      Jeff Law committed
    • Daily bump. · 7d25736f
      From-SVN: r253574
      GCC Administrator committed
  2. 09 Oct, 2017 4 commits
    • rs6000: Move processor_costs to header · d9664254
      This moves the processor_costs structure declaration to the rs6000.h
      header file, so that things in other files can use it (not just things
      in rs6000.c).
      
      
      	* config/rs6000/rs6000.c (processor_costs): Move to ...
      	* config/rs6000/rs6000.h: ... here.
      	(rs6000_cost): Declare.
      
      From-SVN: r253570
      Segher Boessenkool committed
    • except.c (setjmp_fn): New global variable. · 2ab71f3d
      	* except.c (setjmp_fn): New global variable.
      	(init_eh): Initialize it if DONT_USE_BUILTIN_SETJMP is defined.
      	(sjlj_emit_function_enter): Call it instead of BUILTIN_SETJMP if
      	DONT_USE_BUILTIN_SETJMP is defined.
      
      From-SVN: r253569
      Eric Botcazou committed
    • [multiple changes] · 3fc40cd7
      2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_unit.adb (Find_Enclosing_Scope): Do not treat a block statement
      	as a scoping construct when it is byproduct of exception handling.
      
      2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sinfo.ads: Update table Is_Syntactic_Field to reflect the nature of
      	semantic field Target of node N_Call_Marker.
      
      2017-10-09  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Allocator): Reject properly an allocator that
      	attempts to copy a limited value, when the allocator is the expression
      	in an expression function.
      
      2017-10-09  Joel Brobecker  <brobecker@adacore.com>
      
      	* doc/share/conf.py: Tell the style checker that this is a Python
      	fragment, and therefore that pyflakes should not be run to validate
      	this file.
      
      2017-10-09  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* einfo.ads (Is_Boolean_Type): Add pragma Inline.
      	(Is_Entity_Name): Likewise.
      	(Is_String_Type): Likewise.
      	* sem_type.adb (Full_View_Covers): Do not test Is_Private_Type here
      	and remove useless comparisons on the base types.
      	(Covers): Use simple tests for Standard_Void_Type.  Move up cheap tests
      	on T2.  Always test Is_Private_Type before Full_View_Covers.
      
      2017-10-09  Bob Duff  <duff@adacore.com>
      
      	* exp_ch4.adb: Minor refactoring.
      
      From-SVN: r253568
      Pierre-Marie de Rodat committed
    • [multiple changes] · 367601d1
      2017-10-09  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Replace_Components): Browse the list of discriminants,
      	not components.
      
      2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_elab.adb (Static_Elaboration_Checks): Elaboration requirements
      	are verified only in the static model.
      
      2017-10-09  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iterator_Specification,
      	Check_Reverse_Iteration): Check that the domain of iteration supports
      	reverse iteration when it is a formal container.  This requires the
      	presence of a Previous primitive in the Iterable aspect.
      	* sem_ch13.adb (Resolve_Iterable_Operation): Verify legality of
      	primitives Last and Previous to support reverse iteration over formal
      	containers.
      	(Validate_Iterable_Aspect): Add check for reverse iteration operations.
      	* exp_ch5.adb (Build_Formal_Container_Iteration): Add proper expansion
      	for reverse iteration using primitives Last and Previous in generated
      	loop.
      
      2017-10-09  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb (Subprogram_Name): If this is a child unit, use the name
      	of the Defining_Program_Unit_Name, which is an identifier, in order to
      	construct the string for the fully qualified name.
      
      From-SVN: r253567
      Pierre-Marie de Rodat committed