1. 10 Oct, 2017 28 commits
    • 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 12 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
    • [multiple changes] · 7f5e671b
      2017-10-09  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch3.adb: Rename Uses_Unseen_Priv into
      	Contains_Lib_Incomplete_Type.
      
      2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_aggr.adb, sem_spark.adb, adabkend.adb, exp_ch5.adb, frontend.adb,
      	sem_ch12.adb, fmap.adb, exp_ch6.adb, exp_spark.adb, lib-load.adb,
      	exp_ch9.adb, osint.adb, exp_disp.adb, sem_ch8.adb, sem_ch8.ads,
      	prepcomp.adb, gnat1drv.adb, atree.adb, sinput-l.adb, targparm.adb,
      	sem_ch10.adb, par-ch8.adb: Minor reformatting.
      
      From-SVN: r253566
      Pierre-Marie de Rodat committed
    • [multiple changes] · f192ca5e
      2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_elab.adb (Is_Suitable_Access): This scenario is now only relevant
      	in the static model.
      	(Is_Suitable_Variable_Assignment): This scenario is now only relevant
      	in the static model.
      	(Is_Suitable_Variable_Reference): This scenario is now only relevant in
      	the static model.
      
      2017-10-09  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Analyze_Declarations): In ASIS mode, resolve aspect
      	expressions when the enclosing scope is a subprogram body and the next
      	declaration is a body that freezes entities previously declared in the
      	scope.
      
      2017-10-09  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch8.adb (Analyze_Use_Package): Remove checking of mixture between
      	ghost packages and living packages in use clauses.
      	(Use_One_Type, Note_Redundant_Use): Correct warning messages
      
      2017-10-09  Justin Squirek  <squirek@adacore.com>
      
      	* osint.ads: Document new parameter FD for Read_Source_File.
      
      From-SVN: r253564
      Pierre-Marie de Rodat committed
    • [multiple changes] · 98b779ae
      2017-10-09  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_util.adb (Make_Predicate_Call): If the type of the expression to
      	which the predicate check applies is tagged, convert the expression to
      	that type. This is in most cases a no-op, but is relevant if the
      	expression is clas-swide, because the predicate function being invoked
      	is not a primitive of the type and cannot take a class-wide actual.
      
      2017-10-09  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_disp.adb: Minor reformatting.
      
      2017-10-09  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix typo.
      
      2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_elab.adb (Install_ABE_Check): Do not generate an ABE check for
      	GNATprove.
      	(Install_ABE_Failure): Do not generate an ABE failure for GNATprove.
      
      2017-10-09  Bob Duff  <duff@adacore.com>
      
      	* exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Return
      	immediately if the call has already been processed (by a previous call
      	to Make_Build_In_Place_Call_In_Anonymous_Context).
      	* sem_elab.adb: Minor typo fixes.
      
      2017-10-09  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Replace_Type_Ref): In the expression for a dynamic
      	predicate, do not replace an identifier that matches the type if the
      	identifier is a selector in a selected component, because this
      	indicates a reference to some homograph of the type itself, and  not to
      	the current occurence in the predicate.
      
      2017-10-09  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* repinfo.adb (List_Record_Layout): Tweak formatting.
      	(Write_Val): Remove superfluous spaces in back-end layout mode.
      
      2017-10-09  Piotr Trojanek  <trojanek@adacore.com>
      
      	* sem_res.adb (Property_Error): Remove.
      	(Resolve_Actuals): check for SPARK RM 7.1.3(10) rewritten to match the
      	current wording of the rule.
      
      2017-10-09  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch3.adb (Analyze_Declarations): Add check for ghost packages
      	before analyzing a given scope due to an expression function.
      	(Uses_Unseen_Lib_Unit_Priv): Rename to Uses_Unseen_Priv.
      
      From-SVN: r253563
      Pierre-Marie de Rodat committed
    • Add targetm.insn_cost hook · 94105f5c
      This adds a new hook that the insn_cost function uses if a target has
      implemented it (it uses the old pattern_cost nee insn_rtx_cost if not).
      
      
      	* target.def (insn_cost): New hook.
      	* doc/tm.texi.in (TARGET_INSN_COST): New hook.
      	* doc/tm.texi: Regenerate.
      	* rtlanal.c (insn_cost): Use the new hook.
      
      From-SVN: r253562
      Segher Boessenkool committed
    • combine: Use insn_cost instead of pattern_cost everywhere · a6f9eb8d
      
      	* combine.c (combine_validate_cost): Compute the new insn_cost,
      	not just pattern_cost.
      	(try_combine): Adjust comment.
      
      From-SVN: r253561
      Segher Boessenkool committed
    • Replace insn_rtx_cost with insn_cost and pattern_cost · d09e78e8
      This replaces insn_rtx_cost with insn_cost if an insn is readily
      available, and with pattern_cost otherwise.
      
      
      	* cfgrtl.c (rtl_account_profile_record): Replace insn_rtx_cost with
      	insn_cost.
      	* combine.c (uid_insn_cost): Adjust comment.
      	(combine_validate_cost): Adjust comment.  Use pattern_cost instead
      	of insn_rtx_cost
      	(combine_instructions): Use insn_cost instead of insn_rtx_cost.
      	* dse.c (find_shift_sequence): Ditto.
      	* ifcvt.c (cheap_bb_rtx_cost_p): Ditto.
      	(bb_valid_for_noce_process_p): Use pattern_cost.
      	* rtl.h (insn_rtx_cost): Delete.
      	(pattern_cost): New prototype.
      	(insn_cost): New prototype.
      	* rtlanal.c (insn_rtx_cost): Rename to...
      	(pattern_cost): ... this.
      	(insn_cost): New.
      
      From-SVN: r253560
      Segher Boessenkool committed
    • [multiple changes] · 90e491a7
      2017-10-09  Bob Duff  <duff@adacore.com>
      
      	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
      	Defining_Identifier (Obj_Decl) in two places, because it might have
      	changed.
      	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Deal with cases
      	involving 'Input on (not visibly) derived types.
      
      2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* atree.adb: Add new soft link Rewriting_Proc.
      	(Rewrite): Invoke the subprogram attached to the rewriting soft link.
      	(Set_Rewriting_Proc): New routine.
      	* attree.ads: Add new access-to-subprogram type Rewrite_Proc.
      	(Set_Rewriting_Proc): New routine.
      	* checks.adb (Install_Primitive_Elaboration_Check): Use 'E' character
      	for *E*laboration flag to maintain consistency with other elaboration
      	flag generating subprograms.
      	* debug.adb: Document the new usage of flag -gnatdL.
      	* einfo.adb: Node19 is now used as Receiving_Entry.  Node39 is now used
      	as Protected_Subprogram.  Flag148 is now used as
      	Is_Elaboration_Checks_OK_Id.  Flag302 is now used as
      	Is_Initial_Condition_Procedure.
      	(Is_Elaboration_Checks_OK_Id): New routine.
      	(Is_Initial_Condition_Procedure): New routine.
      	(Protected_Subprogram): New routine.
      	(Receiving_Entry): New routine.
      	(SPARK_Pragma): Update assertion.
      	(SPARK_Pragma_Inherited): Update assertion.
      	(Suppress_Elaboration_Warnings): Removed.
      	(Set_Is_Elaboration_Checks_OK_Id): New routine.
      	(Set_Is_Initial_Condition_Procedure): New routine.
      	(Set_Protected_Subprogram): New routine.
      	(Set_Receiving_Entry): New routine.
      	(Set_SPARK_Pragma): Update assertion.
      	(Set_SPARK_Pragma_Inherited): Update assertion.
      	(Write_Entity_Flags): Update the output for Flag148 and Flag302.
      	(Write_Field19_Name): Add output for Receiving_Entry.
      	(Write_Field39_Name): Add output for Protected_Subprogram.
      	(Write_Field40_Name): Update the output for SPARK_Pragma.
      	* einfo.ads: New attributes Is_Elaboration_Checks_OK_Id,
      	Is_Initial_Condition_Procedure, Protected_Subprogram, Receiving_Entry.
      	Remove attribute Suppress_Elaboration_Warnings.  Update the stricture
      	of various entities.
      	(Is_Elaboration_Checks_OK_Id): New routine along with pragma Inline.
      	(Is_Initial_Condition_Procedure): New routine along with pragma Inline.
      	(Protected_Subprogram): New routine along with pragma Inline.
      	(Receiving_Entry): New routine along with pragma Inline.
      	(Suppress_Elaboration_Warnings): Removed.
      	(Set_Is_Elaboration_Checks_OK_Id): New routine along with pragma
      	Inline.
      	(Set_Is_Initial_Condition_Procedure): New routine along with pragma
      	Inline.
      	(Set_Protected_Subprogram): New routine along with pragma Inline.
      	(Set_Receiving_Entry): New routine along with pragma Inline.
      	(Set_Suppress_Elaboration_Warnings): Removed.
      	* exp_ch3.adb (Build_Init_Procedure): Use name _Finalizer to maintain
      	consistency with other finalizer generating subprograms.
      	(Default_Initialize_Object): Mark the block which wraps the call to
      	finalize as being part of initialization.
      	* exp_ch7.adb (Expand_N_Package_Declaration): Directly expand pragma
      	Initial_Condition.
      	(Expand_N_Package_Body): Directly expand pragma Initial_Condition.
      	(Next_Suitable_Statement): Update the comment on usage. Skip over call
      	markers generated by the ABE mechanism.
      	* exp_ch9.adb (Activation_Call_Loc): New routine.
      	(Add_Accept): Link the accept procedure to the original entry.
      	(Build_Protected_Sub_Specification): Link the protected or unprotected
      	version to the original subprogram.
      	(Build_Task_Activation_Call): Code cleanup. Use a source location which
      	is very close to the "begin" or "end" keywords when generating the
      	activation call.
      	* exp_prag.adb (Expand_Pragma_Initial_Condition): Reimplemented.
      	* exp_spark.adb (Expand_SPARK): Use Expand_SPARK_N_Loop_Statement to
      	process loops.
      	(Expand_SPARK_N_Loop_Statement): New routine.
      	(Expand_SPARK_N_Object_Declaration): Code cleanup. Partially insert the
      	call to the Default_Initial_Condition procedure.
      	(Expand_SPARK_Op_Ne): Renamed to Expand_SPARK_N_Op_Ne.
      	* exp_util.adb (Build_DIC_Procedure_Body): Capture the SPARK_Mode in
      	effect.
      	(Build_DIC_Procedure_Declaration): Capture the SPARK_Mode in effect.
      	(Insert_Actions): Add processing for N_Call_Marker.
      	(Kill_Dead_Code): Explicitly kill an elaboration scenario.
      	* exp_util.ads (Make_Invariant_Call): Update the comment on usage.
      	* frontend.adb: Initialize Sem_Elab. Process all saved top level
      	elaboration scenarios for ABE issues.
      	* gcc-interface/trans.c (gnat_to_gnu): Add processing for N_Call_Marker
      	nodes.
      	* lib.adb (Earlier_In_Extended_Unit): New variant.
      	* sem.adb (Analyze): Ignore N_Call_Marker nodes.
      	(Preanalysis_Active): New routine.
      	* sem.ads (Preanalysis_Active): New routine.
      	* sem_attr.adb (Analyze_Access_Attribute): Save certain
      	elaboration-related attributes. Save the scenario for ABE processing.
      	* sem_ch3.adb (Analyze_Object_Declaration): Save the SPARK mode in
      	effect. Save certain elaboration-related attributes.
      	* sem_ch5.adb (Analyze_Assignment): Save certain elaboration-related
      	attributes. Save the scenario for ABE processing.
      	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Save the SPARK
      	mode in effect. Save certain elaboration-related attributes.
      	(Analyze_Subprogram_Body_Helper): Skip N_Call_Marker nodes when
      	locating the first real statement.
      	(Analyze_Subprogram_Declaration): Save the SPARK mode in effect. Save
      	certain elaboration-related attributes.
      	* sem_ch7.adb (Analyze_Package_Declaration): Do not suppress
      	elaboration warnings.
      	* sem_ch8.adb (Attribute_Renaming): Mark a subprogram body which was
      	generated for purposes of wrapping an attribute used as a generic
      	actual.
      	(Find_Direct_Name): Save certain elaboration-related attributes. Save
      	the scenario for ABE processing.
      	(Find_Expanded_Name): Save certain elaboration-related attributes. Save
      	the scenario for ABE processing.
      	* sem_ch9.adb (Analyze_Entry_Declaration): Save certain
      	elaboration-related attributes.
      	(Analyze_Requeue): Save certain elaboration-related attributes. Save
      	the scenario for ABE processing.
      	(Analyze_Single_Task_Declaration): Save certain elaboration-related
      	attributes.
      	(Analyze_Task_Type_Declaration): Save certain elaboration-related
      	attributes.
      	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Save certain
      	elaboration-related attributes.
      	(Analyze_Generic_Subprogram_Declaration): Save the SPARK mode in
      	effect. Save certain elaboration-related attributes.
      	(Analyze_Package_Instantiation): Save certain elaboration-related
      	attributes.  Save the scenario for ABE processing. Create completing
      	bodies in case the instantiation results in a guaranteed ABE.
      	(Analyze_Subprogram_Instantiation): Save certain elaboration-related
      	attributes Save the scenario for ABE processing. Create a completing
      	body in case the instantiation results in a guaranteed ABE.
      	(Provide_Completing_Bodies): New routine.
      	* sem_elab.ads: Brand new implementation.
      	* sem_prag.adb (Analyze_Pragma, cases Elaborate, Elaborate_All,
      	Elaborate_Body): Do not suppress elaboration warnings.
      	* sem_res.adb (Make_Call_Into_Operator): Set the parent field of the
      	operator.
      	(Resolve_Call): Save certain elaboration-related attributes. Save the
      	scenario for ABE processing.
      	(Resolve_Entity_Name): Do not perform any ABE processing here.
      	(Resolve_Entry_Call): Inherit certain attributes from the original call.
      	* sem_util.adb (Begin_Keyword_Location): New routine.
      	(Defining_Entity): Update the parameter profile. Add processing for
      	concurrent subunits that are rewritten as null statements.
      	(End_Keyword_Location): New routine.
      	(Find_Enclosing_Scope): New routine.
      	(In_Instance_Visible_Part): Code cleanup.
      	(In_Subtree): Update the parameter profile. Add new version.
      	(Is_Preelaborable_Aggregate): New routine.
      	(Is_Preelaborable_Construct): New routine.
      	(Mark_Elaboration_Attributes): New routine.
      	(Scope_Within): Update the parameter profile.
      	(Scope_Within_Or_Same): Update the parameter profile.
      	* sem_util.ads (Begin_Keyword_Location): New routine.
      	(Defining_Entity): Update the parameter profile and the comment on
      	usage.
      	(End_Keyword_Location): New routine.
      	(Find_Enclosing_Scope): New routine.
      	(In_Instance_Visible_Part): Update the parameter profile.
      	(In_Subtree): Update the parameter profile. Add new version.
      	(Is_Preelaborable_Aggregate): New routine.
      	(Is_Preelaborable_Construct): New routine.
      	(Mark_Elaboration_Attributes): New routine.
      	(Scope_Within): Update the parameter profile and the comment on usage.
      	(Scope_Within_Or_Same): Update the parameter profile and the comment on
      	usage.
      	* sem_warn.adb (Check_Infinite_Loop_Warning): Use Has_Condition_Actions
      	to determine whether a loop has meaningful condition actions.
      	(Has_Condition_Actions): New routine.
      	* sinfo.adb (ABE_Is_Certain): Removed.
      	(Is_Declaration_Level_Node): New routine.
      	(Is_Dispatching_Call): New routine.
      	(Is_Elaboration_Checks_OK_Node): New routine.
      	(Is_Initialization_Block): New routine.
      	(Is_Known_Guaranteed_ABE): New routine.
      	(Is_Recorded_Scenario): New routine.
      	(Is_Source_Call): New routine.
      	(Is_SPARK_Mode_On_Node): New routine.
      	(No_Elaboration_Check): Removed.
      	(Target): New routine.
      	(Was_Attribute_Reference): New routine.
      	(Set_ABE_Is_Certain): Removed.
      	(Set_Is_Declaration_Level_Node): New routine.
      	(Set_Is_Dispatching_Call): New routine.
      	(Set_Is_Elaboration_Checks_OK_Node): New routine.
      	(Set_Is_Initialization_Block): New routine.
      	(Set_Is_Known_Guaranteed_ABE): New routine.
      	(Set_Is_Recorded_Scenario): New routine.
      	(Set_Is_Source_Call): New routine.
      	(Set_Is_SPARK_Mode_On_Node): New routine.
      	(Set_No_Elaboration_Check): Removed.
      	(Set_Target): New routine.
      	(Set_Was_Attribute_Reference): New routine.
      	* sinfo.ads: Remove attribute ABE_Is_Certain.  Attribute
      	Do_Discriminant_Check now utilizes Flag3.  Attribute
      	No_Side_Effect_Removal now utilizes Flag17.  Add new node
      	N_Call_Marker.  Update the structure of various nodes.
      	(ABE_Is_Certain): Removed along with pragma Inline.
      	(Is_Declaration_Level_Node): New routine along with pragma Inline.
      	(Is_Dispatching_Call): New routine along with pragma Inline.
      	(Is_Elaboration_Checks_OK_Node): New routine along with pragma Inline.
      	(Is_Initialization_Block): New routine along with pragma Inline.
      	(Is_Known_Guaranteed_ABE): New routine along with pragma Inline.
      	(Is_Recorded_Scenario): New routine along with pragma Inline.
      	(Is_Source_Call): New routine along with pragma Inline.
      	(Is_SPARK_Mode_On_Node): New routine along with pragma Inline.
      	(No_Elaboration_Check): Removed along with pragma Inline.
      	(Target): New routine along with pragma Inline.
      	(Was_Attribute_Reference): New routine along with pragma Inline.
      	(Set_ABE_Is_Certain): Removed along with pragma Inline.
      	(Set_Is_Declaration_Level_Node): New routine along with pragma Inline.
      	(Set_Is_Dispatching_Call): New routine along with pragma Inline.
      	(Set_Is_Elaboration_Checks_OK_Node): New routine along with pragma
      	Inline.
      	(Set_Is_Initialization_Block): New routine along with pragma Inline.
      	(Set_Is_Known_Guaranteed_ABE): New routine along with pragma Inline.
      	(Set_Is_Recorded_Scenario): New routine along with pragma Inline.
      	(Set_Is_Source_Call): New routine along with pragma Inline.
      	(Set_Is_SPARK_Mode_On_Node): New routine along with pragma Inline.
      	(Set_No_Elaboration_Check): Removed along with pragma Inline.
      	(Set_Target): New routine along with pragma Inline.
      	(Set_Was_Attribute_Reference): New routine along with pragma Inline.
      	* sprint.adb (Sprint_Node_Actual): Add an entry for N_Call_Marker.
      
      From-SVN: r253559
      Pierre-Marie de Rodat committed
    • i386.md (*jcc_2): Remove insn pattern. · 341af81e
      	* config/i386/i386.md (*jcc_2): Remove insn pattern.
      	(*jcc<mode>_0_r_i387): Ditto.
      	(*jccxf_r_i387): Ditto.
      	(*jcc<mode>_r_i387): Ditto.
      	(*jccu<mode>_r_i387): Ditto.
      	(*jcc<X87MODEF:mode>_<SWI24:mode>_r_i387): Ditto.
      	(*jcc): Rename from *jcc_1.
      
      From-SVN: r253558
      Uros Bizjak committed