1. 20 Jun, 2018 5 commits
    • [4/n] PR85694: Remove redundant calls to types_compatible_p · 44ae7a00
      tree-vect-patterns.c checked that operands to primitive arithmetic ops
      are compatible with each other and with the result.  The checks date
      back years and have long been redundant with verify_gimple_stmt.
      
      2018-06-20  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Remove
      	redundant check that the types of a PLUS_EXPR or MULT_EXPR agree.
      	(vect_recog_sad_pattern): Likewise PLUS_EXPR, ABS_EXPR and MINUS_EXPR.
      	(vect_recog_widen_mult_pattern): Likewise MULT_EXPR.
      	(vect_recog_widen_sum_pattern): Likewise PLUS_EXPR.
      
      From-SVN: r261787
      Richard Sandiford committed
    • [3/n] PR85694: Fix dummy assignment handling in vectorizable_call · ed7b8123
      vectorizable_call stubs out the original scalar statement with
      a dummy assignment to the same lhs, so that we don't leave any bogus
      scalar calls around.  If the call is actually a pattern statement,
      the code rightly took the lhs of the original bb statement:
      
        if (is_pattern_stmt_p (stmt_info))
          lhs = gimple_call_lhs (STMT_VINFO_RELATED_STMT (stmt_info));
        else
          lhs = gimple_call_lhs (stmt);
      
      But it then associated the new statement with the stmt_vec_info of the
      pattern statement rather than the bb statement, which meant we had two
      stmt_vec_infos assigning to the same lhs.  This seems to be latent at
      the moment but caused problems further into the series.
      
      2018-06-20  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-stmts.c (vectorizable_call): Make sure that we
      	use the stmt_vec_info of the original bb statement for the
      	new zero assignment, even if the call is part of a pattern.
      
      From-SVN: r261786
      Richard Sandiford committed
    • [2/n] PR85694: Attach a DEF_SEQ only to the original statement · e3947d80
      A pattern's PATTERN_DEF_SEQ was attached to both the original statement
      and the main pattern statement, which made it harder to update later.
      This patch attaches it to just the original statement.  In practice,
      anything that cared had ready access to both.
      
      2018-06-20  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vectorizer.h (_stmt_vec_info): Note above pattern_def_seq
      	that the sequence is attached to the original statement rather
      	than the pattern statement.
      	* tree-vect-loop.c (vect_determine_vf_for_stmt): Take the
      	PATTERN_DEF_SEQ from the original statement rather than
      	the main pattern statement.
      	* tree-vect-stmts.c (free_stmt_vec_info): Likewise.
      	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Likewise.
      	(vect_mark_pattern_stmts): Don't copy the PATTERN_DEF_SEQ.
      
      From-SVN: r261785
      Richard Sandiford committed
    • [1/n] PR85694: Allow pattern definition statements to be reused · d54a098e
      This patch is the first part of a series to fix to PR85694.
      Later patches can make the pattern for a statement S2 reuse the
      results of a PATTERN_DEF_SEQ statement attached to an earlier
      statement S1.  Although vect_mark_stmts_to_be_vectorized handled
      this fine, vect_analyze_stmt and vect_transform_loop both skipped the
      PATTERN_DEF_SEQ for S1 if S1's main pattern wasn't live or relevant.
      
      I couldn't wrap my head around the flow in vect_transform_loop,
      so ended up moving the per-statement handling into a subroutine.
      That makes the patch look bigger than it actually is.
      
      2018-06-20  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-stmts.c (vect_analyze_stmt): Move the handling of pattern
      	definition statements before the early exit for statements that aren't
      	live or relevant.
      	* tree-vect-loop.c (vect_transform_loop_stmt): New function,
      	split out from...
      	(vect_transform_loop): ...here.  Process pattern definition
      	statements without first checking whether the main pattern
      	statement is live or relevant.
      
      From-SVN: r261784
      Richard Sandiford committed
    • Daily bump. · 036a9082
      From-SVN: r261779
      GCC Administrator committed
  2. 19 Jun, 2018 26 commits
    • Wrap is_static with COLLECT_EXPORT_LIST · e56f4605
      From-SVN: r261775
      David Edelsohn committed
    • PR middle-end/85602 - -Warray-bounds fails to detect the out of bound array access · b5ebb717
      gcc/testsuite/ChangeLog:
       	* c-c++-common/attr-nonstring-8.c: Adjust text of expected warning
       	to also match C++.
      
      From-SVN: r261774
      Martin Sebor committed
    • tree-cfgcleanup.c (tree_forwarder_block_p): Do not return false at -O0 if the… · 180720a5
      tree-cfgcleanup.c (tree_forwarder_block_p): Do not return false at -O0 if the locus represent UNKNOWN_LOCATION but have...
      
      	* tree-cfgcleanup.c (tree_forwarder_block_p): Do not return false at
      	-O0 if the locus represent UNKNOWN_LOCATION but have different values.
      
      From-SVN: r261770
      Eric Botcazou committed
    • rs6000-string.c (select_block_compare_mode): Check… · f7e94dfb
      rs6000-string.c (select_block_compare_mode): Check TARGET_EFFICIENT_OVERLAPPING_UNALIGNED here instead of in caller.
      
      2018-06-19  Aaron Sawdey  <acsawdey@linux.ibm.com>
      
      	* config/rs6000/rs6000-string.c (select_block_compare_mode): Check
      	TARGET_EFFICIENT_OVERLAPPING_UNALIGNED here instead of in caller.
      	(do_and3, do_and3_mask, do_compb3, do_rotl3): New functions.
      	(expand_block_compare): Change select_block_compare_mode call.
      	(expand_strncmp_align_check): Use new functions, fix comment.
      	(emit_final_str_compare_gpr): New function.
      	(expand_strn_compare): Refactor and clean up code.
      	* config/rs6000/vsx.md (vsx_mov<mode>_64bit): Remove *.
      
      From-SVN: r261769
      Aaron Sawdey committed
    • collect2.c (static_obj): New variable. · 6a513e2a
      2018-06-19  Tony Reix  <tony.reix@atos.com>
                  Damien Bergamini  <damien.bergamini@atos.com>
                  David Edelsohn  <dje.gcc@gmail.com>
      
              * collect2.c (static_obj): New variable.
              (static_libs): New variable.
              (is_in_list): Uncomment declaration.
              (main): Track AIX libraries linked statically.
              (is_in_list): Uncomment definition.
              (scan_prog_file): Don't add AIX shared libraries initializer
              to constructor list if linking statically.
      
      Co-Authored-By: Damien Bergamini <damien.bergamini@atos.com>
      Co-Authored-By: David Edelsohn <dje.gcc@gmail.com>
      
      From-SVN: r261759
      Tony Reix committed
    • cp-tree.h (CONSTRUCTOR_NO_IMPLICIT_ZERO): Remove. · e8c48716
      	* cp-tree.h (CONSTRUCTOR_NO_IMPLICIT_ZERO): Remove.
      
      	* constexpr.c: Use CONSTRUCTOR_NO_CLEARING instead.
      
      From-SVN: r261758
      Jason Merrill committed
    • PR c++/86192 - ICE with anonymous union passed to template. · 0e570cf8
      	* pt.c (tsubst_expr) [DECL_EXPR]: Handle an anonymous union type
      	used to declare a named variable.
      
      From-SVN: r261757
      Jason Merrill committed
    • xtensa: fix PR target/65416 · 9a775e9d
      The issue is caused by reordering of stack pointer update after stack
      space allocation with instructions that write to the allocated stack
      space. In windowed ABI register spill area for the previous call frame
      is located just below the stack pointer and may be reloaded back into
      the register file on movsp.
      Implement allocate_stack pattern for windowed ABI configuration and
      insert an instruction that prevents reordering of frame memory access
      and stack pointer update.
      
      gcc/
      2018-06-19  Max Filippov  <jcmvbkbc@gmail.com>
      
      	* config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec
      	constant.
      	(allocate_stack, frame_blockage, *frame_blockage): New patterns.
      
      From-SVN: r261755
      Max Filippov committed
    • re PR middle-end/85602 (-Wsizeof-pointer-memaccess for strncat with size of source) · 5f21ea67
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/85602
      	* c-c++-common/attr-nonstring-8.c: Adjust text of expected warning
      	to also match C++.
      
      From-SVN: r261751
      Martin Sebor committed
    • Remove unused <exception> header from <utility> · 828d6449
      This header was needed for the declaration of std::terminate but the
      calls to it were removed in r242401.
      
      	* include/std/utility: Remove unused <exception> header.
      
      From-SVN: r261749
      Jonathan Wakely committed
    • tree.c (find_decls_types_r): Remove all non-VAR_DECLs from blocks. · 694dc72e
      
      	* tree.c (find_decls_types_r): Remove all non-VAR_DECLs from
      	blocks.
      	* g++.dg/lto/pr84805_0.C: Update template.
      	* g++.dg/lto/pr84805_1.C: Update template.
      
      From-SVN: r261748
      Jan Hubicka committed
    • * es.po: Update. · 583d09f3
      From-SVN: r261745
      Joseph Myers committed
    • Clean-up usage of ipa_fn_summary and ipa_call_summary summaries. · 56f62793
      2018-06-19  Martin Liska  <mliska@suse.cz>
      
      	* config/i386/i386.c (ix86_can_inline_p): Do not use
              ipa_fn_summaries::get_create.
      	* ipa-cp.c (ipcp_cloning_candidate_p): Replace get_create with
              get.
      	(devirtualization_time_bonus): Likewise.
      	(ipcp_propagate_stage): Likewise.
      	* ipa-fnsummary.c (redirect_to_unreachable): Likewise.
      	(edge_set_predicate): Likewise.
      	(evaluate_conditions_for_known_args): Likewise.
      	(evaluate_properties_for_edge): Likewise.
      	(ipa_call_summary::reset): Tranform to ...
      	(ipa_call_summary::~ipa_call_summary): ... this.
      	(ipa_fn_summary::reset): Transform to ...
      	(ipa_fn_summary::~ipa_fn_summary): ... this.
      	(ipa_fn_summary_t::remove): Rename to ...
      	(ipa_fn_summary_t::remove_callees): ... this.
      	(ipa_fn_summary_t::duplicate): Use placement new
              instead of memory copy.
      	(ipa_call_summary_t::duplicate): Likewise.
      	(ipa_call_summary_t::remove): Remove.
      	(dump_ipa_call_summary): Change get_create to get.
      	(ipa_dump_fn_summary): Dump only when summary exists.
      	(analyze_function_body): Use symbol_summary::get instead
              of get_create.
      	(compute_fn_summary): Likewise.
      	(estimate_edge_devirt_benefit): Likewise.
      	(estimate_edge_size_and_time): Likewise.
      	(inline_update_callee_summaries): Likewise.
      	(remap_edge_change_prob): Likewise.
      	(remap_edge_summaries): Likewise.
      	(ipa_merge_fn_summary_after_inlining): Likewise.
      	(write_ipa_call_summary): Likewise.
      	(ipa_fn_summary_write): Likewise.
      	(ipa_free_fn_summary): Likewise.
      	* ipa-fnsummary.h (struct GTY): Add new ctor and copy ctor.
      	(struct ipa_call_summary): Likewise.
      	* ipa-icf.c (sem_function::merge): Use symbol_summary::get instead
              of get_create.
      	* ipa-inline-analysis.c (do_estimate_edge_time): Likewise.
      	(estimate_size_after_inlining): Likewise.
      	(estimate_growth): Likewise.
      	(growth_likely_positive): Likewise.
      	* ipa-inline-transform.c (clone_inlined_nodes): Likewise.
      	(inline_call): Likewise.
      	* ipa-inline.c (caller_growth_limits): Likewise.
      	(can_inline_edge_p): Likewise.
      	(can_inline_edge_by_limits_p): Likewise.
      	(compute_uninlined_call_time): Likewise.
      	(compute_inlined_call_time): Likewise.
      	(want_inline_small_function_p): Likewise.
      	(edge_badness): Likewise.
      	(update_caller_keys): Likewise.
      	(update_callee_keys): Likewise.
      	(inline_small_functions): Likewise.
      	(inline_to_all_callers_1): Likewise.
      	(dump_overall_stats): Likewise.
      	(early_inline_small_functions): Likewise.
      	(early_inliner): Likewise.
      	* ipa-profile.c (ipa_propagate_frequency_1): Likewise.
      	* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
      	* ipa-pure-const.c (malloc_candidate_p): Likewise.
      	* ipa-split.c (execute_split_functions): Likewise.
      	* symbol-summary.h: Likewise.
      	* tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.
      2018-06-19  Martin Liska  <mliska@suse.cz>
      
      	* lto-partition.c (add_symbol_to_partition_1): Use symbol_summary::get instead
              of get_create.
      	(undo_partition): Likewise.
      	(lto_balanced_map): Likewise.
      
      From-SVN: r261744
      Martin Liska committed
    • Improve gimple.vim syntax file. · ed0eb0c5
      From-SVN: r261742
      Martin Liska committed
    • Add initial version of rtl.vim syntax file. · 58508d3f
      2018-06-19  Martin Liska  <mliska@suse.cz>
      
      	* gcc-rtl.vim: New file.
      
      From-SVN: r261741
      Martin Liska committed
    • tree-vectorizer.c (try_vectorize_loop_1): Split out of ... · 5b04d77e
      2018-06-19  Richard Biener  <rguenther@suse.de>
      
      	* tree-vectorizer.c (try_vectorize_loop_1): Split out of ...
      	(vectorize_loops): ... here.  Fix dbgcnt handling.
      	(try_vectorize_loop): Wrap try_vectorize_loop_1.
      
      From-SVN: r261740
      Richard Biener committed
    • Allow building of the zlib component when the building takes place in the source directory. · 8006534c
      	* zlib/configure.ac: Restore old behaviour of only enabling
      	multilibs when a target subdirectory is defined.  This allows
      	building with srcdir == builddir.
      	* zlib/configure: Regenerate.
      
      From-SVN: r261739
      Nick Clifton committed
    • rs6000: Fix vector homogeneous aggregates (PR86197) · 6b3a9170
      The existing code allows only 4 vectors worth of ieee128 homogeneous
      aggregates, but it should be 8.  This happens because at one spot it
      is mistakenly qualified as being passed in floating point registers.
      
      
      	PR target/86197
      	* config/rs6000/rs6000.md (rs6000_discover_homogeneous_aggregate): An
      	ieee128 argument takes up only one (vector) register, not two (floating
      	point) registers.
      
      From-SVN: r261738
      Segher Boessenkool committed
    • gimplify.c (gimplify_init_constructor): Really never clear for an incomplete… · 7f1387e0
      gimplify.c (gimplify_init_constructor): Really never clear for an incomplete constructor if CONSTRUCTOR_NO_CLEARING is set.
      
      	* gimplify.c (gimplify_init_constructor): Really never clear for an
      	incomplete constructor if CONSTRUCTOR_NO_CLEARING is set.
      
      From-SVN: r261735
      Eric Botcazou committed
    • Remove unused stagestuff in config-lang.in. · 1724941e
      2018-06-19  Martin Liska  <mliska@suse.cz>
      
      	* config-lang.in: Remove stagestuff.
      
      From-SVN: r261733
      Martin Liska committed
    • re PR tree-optimization/86179 (ice in get_later_stmt, at tree-vectorizer.h:1108) · df0aef6d
      2018-06-19  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/86179
      	* tree-vect-patterns.c (vect_pattern_recog_1): Clean up
      	after failed recognition.
      
      	* gcc.dg/pr86179.c: New testcase.
      
      From-SVN: r261731
      Richard Biener committed
    • tree.c (cp_expr_location): New. · 6bdfada4
      	* tree.c (cp_expr_location): New.
      
      	* cp-tree.h (cp_expr_loc_or_loc): New.
      	* call.c, cvt.c, constexpr.c, constraint.cc, cp-gimplify.c, decl.c,
      	error.c, init.c, lex.c, parser.c, pt.c, semantics.c, typeck.c,
      	typeck2.c: Use it instead of EXPR_LOC_OR_LOC.
      
      From-SVN: r261728
      Jason Merrill committed
    • Use a range for LAMBDA_EXPR_LOCATION. · c0e11c6a
      	* parser.c (cp_parser_lambda_expression): Use a range for
      	LAMBDA_EXPR_LOCATION.
      
      From-SVN: r261727
      Jason Merrill committed
    • PR c++/86200 - ICE with unexpanded pack in lambda parameter. · 44e3e545
      	* pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Also look into the
      	function type.
      
      From-SVN: r261726
      Jason Merrill committed
    • PR c++/81060 - ICE with unexpanded parameter pack. · cae39eb4
      	* pt.c (check_for_bare_parameter_packs): Add loc parameter.
      	* decl.c (grokdeclarator): Call it for qualifying_scope.
      
      From-SVN: r261725
      Jason Merrill committed
    • Daily bump. · 094c2a23
      From-SVN: r261724
      GCC Administrator committed
  3. 18 Jun, 2018 9 commits
    • PR middle-end/85602 - -Wsizeof-pointer-memaccess for strncat with size of source · 4252ccd7
      gcc/c-family/ChangeLog:
      
      	PR middle-end/85602
      	* c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
      	nonstring.
      
      gcc/ChangeLog:
      
      	PR middle-end/85602
      	* calls.c (maybe_warn_nonstring_arg): Handle strncat.
      	* tree-ssa-strlen.c (is_strlen_related_p): Make extern.
      	Handle integer subtraction.
      	(maybe_diag_stxncpy_trunc): Handle nonstring source arguments.
      	* tree-ssa-strlen.h (is_strlen_related_p): Declare.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/85602
      	* gcc.dg/attr-nonstring-2.c: Adjust text of expected warning.
      	* c-c++-common/attr-nonstring-8.c: New test.
      
      From-SVN: r261718
      Martin Sebor committed
    • Makefile.def (fortran): Add check-target-libgomp-fortran. · 9e03592e
      	* Makefile.def (fortran): Add check-target-libgomp-fortran.
      	* Makefile.tpl (check-target-libgomp-fortran): New phony target.
      	* Makefile.in: Regenerate.
      
      From-SVN: r261717
      Eric Botcazou committed
    • LWG 2975 ensure construct(pair<T,U>*, ...) used to construct pairs · 05891e9f
      	* include/std/scoped_allocator (__not_pair): Define SFINAE helper.
      	(construct(_Tp*, _Args&&...)): Remove from overload set when _Tp is
      	a specialization of std::pair.
      	* testsuite/20_util/scoped_allocator/construct_pair.cc: Ensure
      	pair elements are constructed correctly.
      
      From-SVN: r261716
      Jonathan Wakely committed
    • More rtx to rtx_insn * cleanups · df0b55f0
      gcc/ChangeLog:
      	* config/frv/frv-protos.h (frv_ifcvt_modify_insn): Strengthen 3rd
      	param from rtx to rtx_insn *.
      	* config/frv/frv.c (frv_ifcvt_add_insn): Likewise for "insn"
      	param.
      	(frv_ifcvt_modify_insn): Likwise.
      	(frv_ifcvt_modify_final): Likwise for local "existing_insn",
      	adding an as_a <rtx_insn *> cast.  Likewise for local "insn".
      	* config/mips/mips.c (r10k_insert_cache_barriers): Add an
      	as_a <rtx_insn *> cast to local "unprotected_region" once
      	it's been established that it's not NULL or pc_rtx.
      	* config/nds32/nds32-relax-opt.c (nds32_group_insns): Strengthen
      	param "sethi" from rtx to rtx_insn *.
      	(nds32_group_float_insns): Likewise for param "insn".
      	* config/vax/vax-protos.h (vax_output_int_add): Likewise for 1st
      	param.
      	(vax_output_int_subtract): Likewise.
      	* config/vax/vax.c (vax_output_int_add): Likewise for param
      	"insn".
      	(vax_output_int_subtract): Likewise.
      	* emit-rtl.c (set_insn_deleted): Likewise, removing cast.
      	(emit_pattern_after): Likewise for param "after".
      	(emit_insn_after): Likewise.
      	(emit_jump_insn_after): Likewise.
      	(emit_call_insn_after): Likewise.
      	(emit_debug_insn_after): Likewise.
      	(emit_pattern_before): Likewise for param "before".
      	(emit_insn_before): Likewise.
      	(emit_jump_insn_before): Likewise.
      	* final.c (get_insn_template): Likewise for param "insn", removing
      	a cast.
      	* output.h (get_insn_template): Likewise for 2nd param.
      	* rtl.h (emit_insn_before): Likewise.
      	(emit_jump_insn_before): Likewise.
      	(emit_debug_insn_before_noloc): Likewise.
      	(emit_insn_after): Likewise.
      	(emit_jump_insn_after): Likewise.
      	(emit_call_insn_after): Likewise.
      	(emit_debug_insn_after): Likewise.
      	(set_insn_deleted): Likewise for param.
      
      From-SVN: r261715
      David Malcolm committed
    • re PR target/85358 (PowerPC: Using -mabi=ieeelongdouble -mcpu=power9 breaks __ibm128) · 6a8886e4
      [gcc]
      2018-06-18  Michael Meissner  <meissner@linux.ibm.com>
      
      	PR target/85358
      	* config/rs6000/rs6000-modes.def (toplevel): Rework the 128-bit
      	floating point modes, so that IFmode is numerically greater than
      	TFmode, which is greater than KFmode using FRACTIONAL_FLOAT_MODE
      	to declare the ordering.  This prevents IFmode from being
      	converted to TFmode when long double is IEEE 128-bit on an ISA 3.0
      	machine.  Include rs6000-modes.h to share the fractional values
      	between genmodes* and the rest of the compiler.
      	(IFmode): Likewise.
      	(KFmode): Likewise.
      	(TFmode): Likewise.
      	* config/rs6000/rs6000-modes.h: New file.
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Change the
      	meaning of rs6000_long_double_size so that 126..128 selects an
      	appropriate 128-bit floating point type.
      	(rs6000_option_override_internal): Likewise.
      	* config/rs6000/rs6000.h (toplevel): Include rs6000-modes.h.
      	(TARGET_LONG_DOUBLE_128): Change the meaning of
      	rs6000_long_double_size so that 126..128 selects an appropriate
      	128-bit floating point type.
      	(LONG_DOUBLE_TYPE_SIZE): Update comment.
      	* config/rs6000/rs6000.md (trunciftf2): Correct the modes of the
      	source and destination to match the standard usage.
      	(truncifkf2): Likewise.
      	(copysign<mode>3, IEEE iterator): Rework copysign of float128 on
      	ISA 2.07 to use an explicit clobber, instead of passing in a
      	temporary.
      	(copysign<mode>3_soft): Likewise.
      
      [libgcc]
      2018-06-18  Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/t-float128 (FP128_CFLAGS_SW): Compile float128
      	support modules with -mno-gnu-attribute.
      	* config/rs6000/t-float128-hw (FP128_CFLAGS_HW): Likewise.
      
      From-SVN: r261712
      Michael Meissner committed
    • LWG 2989 hide path iostream operators from normal lookup · b0874c66
      By only defining these operators as friends (with no namespace-scope
      declaration) they can only be found by ADL and do not participate in
      overload resolution for arguments of types other than path.
      
      	LWG 2989 hide path iostream operators from normal lookup
      	* include/bits/fs_path.h (operator<<, operator>>): Define inline as
      	friends.
      	* testsuite/27_io/filesystem/path/io/dr2989.cc: New.
      
      From-SVN: r261711
      Jonathan Wakely committed
    • Introduce DUMP_VECT_SCOPE macro · adac3a68
      gcc/ChangeLog:
      	* tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
      	Replace dump_printf_loc call with DUMP_VECT_SCOPE.
      	(vect_slp_analyze_instance_dependence): Likewise.
      	(vect_enhance_data_refs_alignment): Likewise.
      	(vect_analyze_data_refs_alignment): Likewise.
      	(vect_slp_analyze_and_verify_instance_alignment
      	(vect_analyze_data_ref_accesses): Likewise.
      	(vect_prune_runtime_alias_test_list): Likewise.
      	(vect_analyze_data_refs): Likewise.
      	* tree-vect-loop-manip.c (vect_update_inits_of_drs): Likewise.
      	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
      	(vect_analyze_scalar_cycles_1): Likewise.
      	(vect_get_loop_niters): Likewise.
      	(vect_analyze_loop_form_1): Likewise.
      	(vect_update_vf_for_slp): Likewise.
      	(vect_analyze_loop_operations): Likewise.
      	(vect_analyze_loop): Likewise.
      	(vectorizable_induction): Likewise.
      	(vect_transform_loop): Likewise.
      	* tree-vect-patterns.c (vect_pattern_recog): Likewise.
      	* tree-vect-slp.c (vect_analyze_slp): Likewise.
      	(vect_make_slp_decision): Likewise.
      	(vect_detect_hybrid_slp): Likewise.
      	(vect_slp_analyze_operations): Likewise.
      	(vect_slp_bb): Likewise.
      	* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
      	(vectorizable_bswap): Likewise.
      	(vectorizable_call): Likewise.
      	(vectorizable_simd_clone_call): Likewise.
      	(vectorizable_conversion): Likewise.
      	(vectorizable_assignment): Likewise.
      	(vectorizable_shift): Likewise.
      	(vectorizable_operation): Likewise.
      	* tree-vectorizer.h (DUMP_VECT_SCOPE): New macro.
      
      From-SVN: r261710
      David Malcolm committed
    • PR c++/86171 - ICE with recursive alias instantiation. · 5d4d0be8
      	* pt.c (tsubst_decl): Handle recursive alias instantiation.
      
      From-SVN: r261709
      Jason Merrill committed
    • LWG 3050 Fix cv-qualification of convertibility constraints · 8499a82c
      	LWG 3050 Fix cv-qualification of convertibility constraints
      	* include/std/chrono (duration, operator*, operator/, operator%): Use
      	const-qualified type as source type in is_convertible constraints.
      	* testsuite/20_util/duration/arithmetic/dr3050.cc: New.
      	* testsuite/20_util/duration/cons/dr3050.cc: New.
      	* testsuite/20_util/duration/literals/range.cc: Rename to...
      	* testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
      	dg-error lineno.
      
      From-SVN: r261708
      Jonathan Wakely committed