1. 10 May, 2018 6 commits
    • Improve boostrap-ubsan config (PR bootstrap/64914). · 84ec5aea
      2018-05-10  Martin Liska  <mliska@suse.cz>
      
      	PR bootstrap/64914
      	* bootstrap-ubsan.mk: Define UBSAN_BOOTSTRAP.
      2018-05-10  Martin Liska  <mliska@suse.cz>
      
      	PR bootstrap/64914
      	* md5.c: Use strict alignment with UBSAN_BOOTSTRAP.
      
      From-SVN: r260112
      Martin Liska committed
    • rs6000: Remove -maltivec={be,le} · 427a7384
      This removes the -maltivec=be and -maltivec=le options.  Those were
      deprecated in GCC 8.
      
      Altivec will keep working on both BE and LE; it is just the BE-vectors-
      on-LE that is removed (the other way around was never supported).
      
      The main change is replacing VECTOR_ELT_ORDER_BIG by BYTES_BIG_ENDIAN
      (and then simplifying).
      
      
      	* config/rs6000/altivec.md (altivec_vmrghb, altivec_vmrghh,
      	altivec_vmrghw, altivec_vmrglb, altivec_vmrglh, altivec_vmrglw): Remove
      	-maltivec=be support.
      	(vec_widen_umult_even_v16qi, vec_widen_smult_even_v16qi,
      	vec_widen_umult_even_v8hi, vec_widen_smult_even_v8hi,
      	vec_widen_umult_even_v4si, vec_widen_smult_even_v4si,
      	vec_widen_umult_odd_v16qi, vec_widen_smult_odd_v16qi,
      	vec_widen_umult_odd_v8hi, vec_widen_smult_odd_v8hi,
      	vec_widen_umult_odd_v4si, vec_widen_smult_odd_v4si, altivec_vpkpx,
      	altivec_vpks<VI_char>ss, altivec_vpks<VI_char>us,
      	altivec_vpku<VI_char>us, altivec_vpku<VI_char>um, altivec_vsum2sws,
      	altivec_vsumsws): Adjust.
      	(altivec_vspltb *altivec_vspltb_internal, altivec_vsplth,
      	*altivec_vsplth_internal, altivec_vspltw, *altivec_vspltw_internal,
      	altivec_vspltsf, *altivec_vspltsf_internal): Remove -maltivec=be
      	support.
      	(altivec_vperm_<mode>, altivec_vperm_<mode>_uns,
      	altivec_vupkhs<VU_char>, altivec_vupkls<VU_char>, altivec_vupkhpx,
      	altivec_vupklpx, altivec_lvsl, altivec_lvsr): Adjust.
      	(altivec_lve<VI_char>x): Delete expand.
      	(*altivec_lve<VI_char>x_internal): Rename to...
      	(altivec_lve<VI_char>x): ... this.
      	(altivec_lvxl_<mode>): Delete expand.
      	(*altivec_lvxl_<mode>_internal): Rename to ...
      	(altivec_lvxl_<mode>): ... this.
      	(altivec_stvxl_<mode>): Delete expand.
      	(*altivec_stvxl_<mode>_internal): Rename to ...
      	(altivec_stvxl_<mode>): ... this.
      	(altivec_stve<VI_char>x): Delete expand.
      	(*altivec_stve<VI_char>x_internal): Rename to ...
      	(altivec_stve<VI_char>x): ... this.
      	(doublee<mode>2, unsdoubleev4si2, doubleo<mode>2, unsdoubleov4si2,
      	doubleh<mode>2, unsdoublehv4si2, doublel<mode>2, unsdoublelv4si2,
      	reduc_plus_scal_<mode>): Adjust.
      	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Adjust
      	comment.
      	(rs6000_cpu_cpp_builtins): Adjust.
      	(altivec_resolve_overloaded_builtin): Remove -maltivec=be support.
      	* config/rs6000/rs6000-protos.h (altivec_expand_lvx_be,
      	altivec_expand_stvx_be, altivec_expand_stvex_be): Delete.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
      	-maltivec=be support.
      	(rs6000_split_vec_extract_var): Adjust.
      	(rs6000_split_v4si_init): Adjust.
      	(swap_selector_for_mode): Delete.
      	(altivec_expand_lvx_be, altivec_expand_stvx_be,
      	altivec_expand_stvex_be): Delete.
      	(altivec_expand_lv_builtin, altivec_expand_stv_builtin): Remove
      	-maltivec=be support.
      	(rs6000_gimple_fold_builtin): Ditto.
      	(rs6000_generate_float2_double_code, rs6000_generate_float2_code):
      	Adjust.
      	* config/rs6000/rs6000.h (VECTOR_ELT_ORDER_BIG): Delete.
      	(TARGET_DIRECT_MOVE_64BIT): Adjust.
      	* config/rs6000/rs6000.md (split for extendsidi2 for vectors): Adjust.
      	* config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Delete.
      	* config/rs6000/vsx.md (floate<mode>, unsfloatev2di, floato<mode>,
      	unsfloatov2di, vsignedo_v2df, vsignede_v2df, vunsignedo_v2df,
      	vunsignede_v2df, vsx_extract_<mode>_p9, *vsx_extract_si,
      	*vsx_extract_<mode>_p8, *vsx_extract_si_<uns>float_df,
      	*vsx_extract_si_<uns>float_<mode>, vsx_set_<mode>_p9, vsx_set_v4sf_p9,
      	*vsx_insert_extract_v4sf_p9, *vsx_insert_extract_v4sf_p9_2, and an
      	anonymous split): Adjust.
      	(vsx_mergel_<mode>, vsx_mergeh_<mode>): Remove -maltivec=be support.
      	(vsx_xxspltd_<mode>, extract4b, insert4b): Adjust.
      
      gcc/testsuite/
      	* gcc.dg/vmx/extract-be-order.c: Delete testcase.
      	* gcc.dg/vmx/extract-vsx-be-order.c: Delete testcase.
      	* gcc.dg/vmx/insert-be-order.c: Delete testcase.
      	* gcc.dg/vmx/insert-vsx-be-order.c: Delete testcase.
      	* gcc.dg/vmx/ld-be-order.c: Delete testcase.
      	* gcc.dg/vmx/ld-vsx-be-order.c: Delete testcase.
      	* gcc.dg/vmx/lde-be-order.c: Delete testcase.
      	* gcc.dg/vmx/ldl-be-order.c: Delete testcase.
      	* gcc.dg/vmx/ldl-vsx-be-order.c: Delete testcase.
      	* gcc.dg/vmx/merge-be-order.c: Delete testcase.
      	* gcc.dg/vmx/merge-vsx-be-order.c: Delete testcase.
      	* gcc.dg/vmx/mult-even-odd-be-order.c: Delete testcase.
      	* gcc.dg/vmx/pack-be-order.c: Delete testcase.
      	* gcc.dg/vmx/perm-be-order.c: Delete testcase.
      	* gcc.dg/vmx/splat-be-order.c: Delete testcase.
      	* gcc.dg/vmx/splat-vsx-be-order.c: Delete testcase.
      	* gcc.dg/vmx/st-be-order.c: Delete testcase.
      	* gcc.dg/vmx/st-vsx-be-order.c: Delete testcase.
      	* gcc.dg/vmx/ste-be-order.c: Delete testcase.
      	* gcc.dg/vmx/stl-be-order.c: Delete testcase.
      	* gcc.dg/vmx/stl-vsx-be-order.c: Delete testcase.
      	* gcc.dg/vmx/sum2s-be-order.c: Delete testcase.
      	* gcc.dg/vmx/unpack-be-order.c: Delete testcase.
      	* gcc.dg/vmx/vsums-be-order.c: Delete testcase.
      	* gcc.target/powerpc/vec-setup-be-double.c: Delete testcase.
      	* gcc.target/powerpc/vec-setup-be-long.c: Delete testcase.
      	* gcc.target/powerpc/vec-setup.h: Remove -maltivec=be support.
      
      From-SVN: r260109
      Segher Boessenkool committed
    • configure.ac (gcc_gxx_include_dir_add_sysroot): Set it to 1 only when… · b4d3485e
      configure.ac (gcc_gxx_include_dir_add_sysroot): Set it to 1 only when --with-gxx-include-dir is also specified.
      
      	* configure.ac (gcc_gxx_include_dir_add_sysroot): Set it to 1 only
      	when --with-gxx-include-dir is also specified.
      	* configure: Regenerate.
      
      From-SVN: r260108
      Eric Botcazou committed
    • re PR tree-optimization/85699 (gcc.dg/nextafter-2.c fail) · 573d8a24
      	PR tree-optimization/85699
      	* gcc.dg/nextafter-1.c (NO_LONG_DOUBLE): Define if not defined.  Use
      	!NO_LONG_DOUBLE instead of __LDBL_MANT_DIG__ != 106.
      	* gcc.dg/nextafter-2.c: Include stdlib.h.  For glibc < 2.24 define
      	NO_LONG_DOUBLE to 1 before including nextafter-1.c.
      
      From-SVN: r260107
      Jakub Jelinek committed
    • re PR c++/85400 (invalid Local Dynamic TLS relaxation for symbol defined in method) · 86c12f76
      	PR c++/85400
      cp/
      	* decl2.c (adjust_var_decl_tls_model): New static function.
      	(comdat_linkage): Call it on a variable.
      	(maybe_make_one_only): Likewise.
      c-family/
      	* c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
      
      From-SVN: r260106
      Eric Botcazou committed
    • Daily bump. · 09dd57a3
      From-SVN: r260104
      GCC Administrator committed
  2. 09 May, 2018 23 commits
    • go/build, cmd/go: update to match recent changes to gc · 2f55f4aa
          
          Several recent changes to the gc version of cmd/go improve the
          gofrontend support. These changes are partially copies of existing
          gofrontend differences, and partially new code. This CL makes the
          gofrontend match the upstream code.
          
          The changes included here come from:
              https://golang.org/cl/111575
              https://golang.org/cl/111595
              https://golang.org/cl/111635
              https://golang.org/cl/111636
          
          For the record, the following recent gc changes are based on code
          already present in the gofrontend repo:
              https://golang.org/cl/110915
              https://golang.org/cl/111615
          
          For the record, a gc change, partially based on earlier gofrontend
          work, also with new gc code, was already copied to gofrontend repo in
          CL 111099:
              https://golang.org/cl/111097
          
          This moves the generated list of standard library packages from
          cmd/go/internal/load to go/build.
          
          Reviewed-on: https://go-review.googlesource.com/112475
      
      gotools/:
      	* Makefile.am (check-go-tool): Don't copy zstdpkglist.go.
      	* Makefile.in: Rebuild.
      
      From-SVN: r260097
      Ian Lance Taylor committed
    • RISC-V: Add with-multilib-list support. · f2410266
      	gcc/
      	PR target/84797
      	* config.gcc (riscv*-*-*): Handle --with-multilib-list.
      	* config/riscv/t-withmultilib: New.
      	* config/riscv/withmultilib.h: New.
      	* doc/install.texi: Document RISC-V --with-multilib-list support.
      
      From-SVN: r260096
      Jim Wilson committed
    • safe_iterator.h (_Safe_iterator<>::_M_constant()): Rename in... · 6c882d0f
      2018-05-09  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant()):
      	Rename in...
      	(_Safe_iterator<>::_S_constant()): ...that.
      	* include/debug/safe_local_iterator.h
      	(_Safe_local_iterator<>::_M_constant()): Rename in...
      	(_Safe_local_iterator<>::_S_constant()): ...that.
      	* include/debug/formatter.h: Remove bits/cpp_type_traits.h include.
      	(_Iterator_state::__rbegin): New.
      	(_Iterator_state::__rmiddle): New.
      	(_Iterator_state::__rend): New.
      	(_Parameter::_Parameter(const _Safe_iterator<>&, const char*,
      	_Is_iterator)): Use _Safe_iterator<>::_S_constant. Grab normal underlying
      	iterator type.
      	(_Parameter::_Parameter(const _Safe_local_iterator<>&, const char*,
      	_Is_iterator)): Likewise.
      	(_Parameter::_S_reverse_state(_Iterator_state)): New.
              (_Parameter(__gnu_cxx::__normal_iterator<> const&, const char*,
      	_Is_iterator)): New.
      	(_Parameter(std::reverse_iterator<> const&, const char*,
      	_Is_iterator)): New.
      	(_Parameter(std::reverse_iterator<_Safe_iterator<>> const&,
      	const char*, _Is_iterator)): New.
      	(_Parameter(std::move_iterator<> const&, const char*, _Is_iterator):
      	New.
      	(_Parameter(std::move_iterator<_Safe_iterator<>> const&, const char*,
      	_Is_iterator)): New.
      	* testsuite/24_iterators/move_iterator/debug_neg.cc: New.
      	* testsuite/24_iterators/normal_iterator/debug_neg.cc: New.
      	* testsuite/24_iterators/reverse_iterator/debug_neg.cc: New.
      
      From-SVN: r260093
      François Dumont committed
    • re PR c++/85713 (ICE in dependent_type_p, at cp/pt.c:24582 on valid code) · bb6cb6e3
      2018-05-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85713
      	* g++.dg/cpp1y/lambda-generic-85713.C: New.
      
      From-SVN: r260092
      Paolo Carlini committed
    • builtins-8-runnable.c: New builtin test file. · eb1d9e8e
      gcc/testsuite/ChangeLog:
      
      2018-05-09 Carl Love  <cel@us.ibm.com>
      	* gcc.target/powerpc/builtins-8-runnable.c: New builtin test file.
      
      From-SVN: r260090
      Carl Love committed
    • re PR c++/85713 (ICE in dependent_type_p, at cp/pt.c:24582 on valid code) · 9410d824
      /cp
      2018-05-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85713
      	Revert:
      	2018-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84588
      	* parser.c (cp_parser_parameter_declaration_list): When the
      	entire parameter-declaration-list is erroneous maybe call
      	abort_fully_implicit_template.
      
      /testsuite
      2018-05-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85713
      	Revert:
      	2018-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84588
      	* g++.dg/cpp1y/pr84588.C: New.
      
      From-SVN: r260087
      Paolo Carlini committed
    • re PR c++/85713 (ICE in dependent_type_p, at cp/pt.c:24582 on valid code) · 1a9f989a
      /cp
      2018-05-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85713
      	Revert:
      	2018-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84588
      	* parser.c (cp_parser_parameter_declaration_list): When the
      	entire parameter-declaration-list is erroneous maybe call
      	abort_fully_implicit_template.
      
      /testsuite
      2018-05-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85713
      	Revert:
      	2018-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84588
      	* g++.dg/cpp1y/pr84588.C: New.
      
      From-SVN: r260086
      Paolo Carlini committed
    • [openacc, libgomp] Use GOMP_ASYNC_SYNC in GOACC_declare · f5ad16f1
      2018-05-09  Tom de Vries  <tom@codesourcery.com>
      
      	PR libgomp/82901
      	* oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
      	to GOACC_enter_exit_data.
      
      From-SVN: r260085
      Tom de Vries committed
    • Add ax_pthread.m4 for use in binutils-gdb · e7785777
      config/
      	* ax_pthread.m4: Add file
      
      From-SVN: r260083
      Joshua Watt committed
    • * gcc.target/aarch64/sve/vcond_6.c: Add missing brace. · 247f726f
      From-SVN: r260082
      Andreas Schwab committed
    • [openacc] Factor out async argument utility functions · edbd038a
      2018-05-09  Tom de Vries  <tom@codesourcery.com>
      
      	PR libgomp/83792
      	* oacc-int.h (async_valid_stream_id_p, async_valid_p)
      	(async_synchronous_p): New function.
      	* oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
      	async_valid_p.
      	* oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
      	async_valid_stream_id_p.
      	* oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
      	* oacc-parallel.c (GOACC_parallel_keyed): Same.
      
      From-SVN: r260081
      Tom de Vries committed
    • Make std::function tolerate semantically non-CopyConstructible objects · 88b1e41c
      To satisfy the CopyConstructible requirement a callable object stored in
      a std::function must behave the same when copied from a const or
      non-const source. If copying a non-const object doesn't produce an
      equivalent copy then the behaviour is undefined. But we can make our
      std::function more tolerant of such objects by ensuring we always copy
      from a const lvalue.
      
      Additionally use an if constexpr statement in the _M_get_pointer
      function to avoid unnecessary instantiations in the discarded branch.
      
      	* include/bits/std_function.h (_Base_manager::_M_get_pointer):
      	Use constexpr if in C++17 mode.
      	(_Base_manager::_M_clone(_Any_data&, const _Any_data&, true_type)):
      	Copy from const object.
      	* testsuite/20_util/function/cons/non_copyconstructible.cc: New.
      
      From-SVN: r260080
      Jonathan Wakely committed
    • tree-vect-slp.c (vect_bb_slp_scalar_cost): Fill a cost vector. · a296d6d3
      2018-05-09  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Fill a cost
      	vector.
      	(vect_bb_vectorization_profitable_p): Adjust.  Compute
      	actual scalar cost using the cost vector and the add_stmt_cost
      	machinery.
      
      From-SVN: r260078
      Richard Biener committed
    • rs6000: Give an argument to every REG_CFA_REGISTER (PR85645) · cd9ba4ca
      The one for the prologue mflr did not have any value set, which means
      use the SET that is in the insn pattern.  This works fine, except when
      some late pass decides to replace the SET_SRC -- this changes the
      meaning of the REG_CFA_REGISTER!  Such passes should not do these
      things, but let's be more explicit here, for extra robustness.  It
      could be argued that this defaulting is a design misfeature (it does
      not save much space either, etc.)
      
      
      	PR rtl-optimization/85645
      	* config/rs6000/rs6000.c (rs6000_emit_prologue_components): Put a SET
      	in the REG_CFA_REGISTER note for LR, don't leave it empty.
      
      From-SVN: r260077
      Segher Boessenkool committed
    • shrink-wrap: Improve spread_components (PR85645) · 826f35d8
      In the testcase for PR85645 we do a pretty dumb placement of the
      prologue/epilogue for the LR component: we place an epilogue for LR
      before a control flow split where one of the branches clobbers LR
      eventually, and the other does not.  The branch that does clobber it
      will need a prologue again some time later.  Because saving and
      restoring LR is a two step process---it needs to be moved via a GPR---
      the backend emits CFI directives so that we get correct unwind
      information.  But both regcprop and regrename do not properly handle
      such CFI directives leading to ICEs.
      
      Now, neither of the two branches needs to have LR restored at all,
      because both of the branches end up in an infinite loop.
      
      This patch makes spread_component return a boolean saying if anything
      was changed, and if so, it is called again.  This obviously is finite
      (there is a finite number of basic blocks, each with a finite number
      of components, and spread_components can only assign more components
      to a block, never less).  I also instrumented the code, and on a
      bootstrap+regtest spread_components made changes a maximum of two
      times.  Interestingly though it made changes on two iterations in
      a third of the cases it did anything at all!
      
      
      	PR rtl-optimization/85645
      	* shrink-wrap.c (spread_components): Return a boolean saying if
      	anything was changed.
      	(try_shrink_wrapping_separate): Iterate spread_components until
      	nothing changes anymore.
      
      From-SVN: r260076
      Segher Boessenkool committed
    • regrename: Don't rename the dest of a REG_CFA_REGISTER (PR85645) · 97741c11
      We should never change the destination of a REG_CFA_REGISTER, just
      like for insns with a REG_CFA_RESTORE, because we need to have the
      same control flow information on all branches that join.  It is very
      doubtful that renaming the scratch registers used for prologue/epilogue
      will help anything either.
      
      
      	PR rtl-optimization/85645
      	* regrename.c (build_def_use): Also kill the chains that include the
      	destination of a REG_CFA_REGISTER note.
      
      From-SVN: r260075
      Segher Boessenkool committed
    • regcprop: Avoid REG_CFA_REGISTER notes (PR85645) · c35533d7
      Changing a SET that has a REG_CFA_REGISTER note is wrong if we are
      changing the SET_DEST, or if the REG_CFA_REGISTER has nil as its
      argument, and maybe some other cases.  It's never really useful to
      propagate into such an instruction, so let's just bail whenever we
      see such a note.
      
      
      	PR rtl-optimization/85645
      	*  regcprop.c (copyprop_hardreg_forward_1): Don't propagate into an
      	insn that has a REG_CFA_REGISTER note.
      
      From-SVN: r260074
      Segher Boessenkool committed
    • Add clobbers around IFN_LOAD/STORE_LANES · 3ba4ff41
      We build up the input to IFN_STORE_LANES one vector at a time.
      In RTL, each of these vector assignments becomes a write to
      subregs of the form (subreg:VEC (reg:AGGR R)), where R is the
      eventual input to the store lanes instruction.  The problem is
      that RTL isn't very good at tracking liveness when things are
      initialised piecemeal by subregs, so R tends to end up being
      live on all paths from the entry block to the store.  This in
      turn leads to unnecessary spilling around calls, as well as to
      excess register pressure in vector loops.
      
      This patch adds gimple clobbers to indicate the liveness of the
      IFN_STORE_LANES variable and makes sure that gimple clobbers are
      expanded to rtl clobbers where useful.  For consistency it also
      uses clobbers to mark the point at which an IFN_LOAD_LANES
      variable is no longer needed.
      
      2018-05-08  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* cfgexpand.c (expand_clobber): New function.
      	(expand_gimple_stmt_1): Use it.
      	* tree-vect-stmts.c (vect_clobber_variable): New function,
      	split out from...
      	(vectorizable_simd_clone_call): ...here.
      	(vectorizable_store): Emit a clobber either side of an
      	IFN_STORE_LANES sequence.
      	(vectorizable_load): Emit a clobber after an IFN_LOAD_LANES sequence.
      
      gcc/testsuite/
      	* gcc.target/aarch64/store_lane_spill_1.c: New test.
      	* gcc.target/aarch64/sve/store_lane_spill_1.c: Likewise.
      
      From-SVN: r260073
      Richard Sandiford committed
    • [nvptx] Make trap insn noreturn · 82191cbf
      2018-05-09  Tom de Vries  <tom@codesourcery.com>
      
      	PR target/85626
      	* config/nvptx/nvptx.md (define_insn "trap", define_insn "trap_if_true")
      	(define_insn "trap_if_false"): Add exit after trap.
      
      From-SVN: r260072
      Tom de Vries committed
    • re PR rtl-optimization/85638 (build failure for Ada runtime with SJLJ exceptions on x86) · 40305631
      	PR rtl-optimization/85638
      	* bb-reorder.c: Include common/common-target.h.
      	(create_forwarder_block): New function extracted from...
      	(fix_up_crossing_landing_pad): ...here.  Rename into...
      	(dw2_fix_up_crossing_landing_pad): ...this.
      	(sjlj_fix_up_crossing_landing_pad): New function.
      	(find_rarely_executed_basic_blocks_and_crossing_edges): In SJLJ mode,
      	call sjlj_fix_up_crossing_landing_pad if there are incoming EH edges
      	from both partitions and exit the loop after one iteration.
      
      From-SVN: r260070
      Eric Botcazou committed
    • PR c++/85706 - class deduction under decltype · 655b16da
      	* pt.c (for_each_template_parm_r): Handle DECLTYPE_TYPE.  Clear
      	*walk_subtrees whether or not we walked into the operand.
      	(type_uses_auto): Only look at deduced contexts.
      
      From-SVN: r260066
      Jason Merrill committed
    • revert: extend.texi (PowerPC Built-in Functions): Rename this subsection. · 6f9a76b1
      2018-05-08  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	Revert:
      	* doc/extend.texi (PowerPC Built-in Functions): Rename this
      	subsection.
      	(Basic PowerPC Built-in Functions): The new name of the
      	subsection previously known as "PowerPC Built-in Functions".
      	(Basic PowerPC Built-in Functions Available on all Configurations):
      	New subsubsection.
      	(Basic PowerPC Built-in Functions Available on ISA 2.05): New
      	subsubsection.
      	(Basic PowerPC Built-in Functions Available on ISA 2.06): New
      	subsubsection.
      	(Basic PowerPC Built-in Functions Available on ISA 2.07): New
      	subsubsection.
      	(Basic PowerPC Built-in Functions Available on ISA 3.0): New
      	subsubsection.
      
      From-SVN: r260065
      Kelvin Nilsen committed
    • Daily bump. · 6fd6a4d0
      From-SVN: r260063
      GCC Administrator committed
  3. 08 May, 2018 11 commits
    • * de.po, sv.po: Update. · 7cac0d8b
      From-SVN: r260057
      Joseph Myers committed
    • [PATCH] RISC-V: Use new linker emulations for glibc ABI. · 37d57ac9
      	gcc/
      	* config/riscv/linux.h (MUSL_ABI_SUFFIX): Delete unnecessary backslash.
      	(LD_EMUL_SUFFIX): New.
      	(LINK_SPEC): Use it.
      
      From-SVN: r260056
      Jim Wilson committed
    • builtins-8-p9-runnable.c: Add new test file. · 6d8c870a
      gcc/testsuite/ChangeLog:
      
      2018-05-08  Carl Love  <cel@us.ibm.com>
      	* gcc.target/powerpc/builtins-8-p9-runnable.c: Add new test file.
      
      From-SVN: r260055
      Carl Love committed
    • debug.cc [...]: Include execinfo.h. · e95a74fd
      2018-05-08  François Dumont  <fdumont@gcc.gnu.org>
      
      	* src/c++11/debug.cc [_GLIBCXX_HAVE_EXECINFO_H]: Include execinfo.h.
      	[_GLIBCXX_HAVE_EXECINFO_H](_Error_formatter::_M_error): Render
      	backtrace.
      
      From-SVN: r260054
      François Dumont committed
    • macros.h (__glibcxx_check_valid_range_at): New. · 90aabc7e
      2018-05-08  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/debug/macros.h (__glibcxx_check_valid_range_at): New.
      	* include/debug/functions.h (__check_valid_range): Use latter.
      	* include/debug/macros.h (__glibcxx_check_valid_constructor_range): New,
      	use latter.
      	* include/debug/deque
      	(deque::deque<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
      	* include/debug/forward_list
      	(forward_list::forward_list<_Iter>(_Iter, _Iter, const _Alloc&)):
      	Likewise.
      	* include/debug/list
      	(list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
      	* include/debug/list
      	(list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
      	* include/debug/map.h
      	(map::map<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
      	(map::map<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
      	Likewise.
      	* include/debug/multimap.h
      	(multimap::multimap<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
      	(multimap::multimap<_Iter>(_Iter, _Iter, const _Compare&,
      	const _Alloc&)): Likewise.
      	* include/debug/set.h
      	(set::set<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
      	(set::set<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
      	Likewise.
      	* include/debug/multiset.h
      	(multiset::multiset<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
      	(multiset::multiset<_Iter>(_Iter, _Iter, const _Compare&,
      	const _Alloc&)): Likewise.
      	* include/debug/string
      	(basic_string::basic_string<_Iter>(_Iter, _Iter, const _Alloc&)):
      	Likewise.
      	* include/debug/unordered_map
      	(unordered_map::unordered_map<_Iter>(_Iter, _Iter, const _Alloc&)):
      	Likewise.
      	(unordered_multimap::unordered_multimap<_Iter>(_Iter, _Iter,
      	const _Alloc&)): Likewise.
      	* include/debug/unordered_set
      	(unordered_set::unordered_set<_Iter>(_Iter, _Iter, const _Alloc&)):
      	Likewise.
      	(unordered_multiset::unordered_multiset<_Iter>(_Iter, _Iter,
      	const _Alloc&)): Likewise.
      	* include/debug/vector
      	(vector::vector<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
      
      From-SVN: r260053
      François Dumont committed
    • formatter.h (_Error_formatter::_M_function): New. · a5277405
      2018-05-08  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/debug/formatter.h (_Error_formatter::_M_function): New.
      	(_Error_formatter(const char*, unsigned int)): Adapt.
      	(_Error_formatter::_M_at): Rename in...
      	(_Error_formatter::_S_at): ...that and adapt.
      	* include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): New.
      	(_GLIBCXX_DEBUG_VERIFY_AT, _GLIBCXX_DEBUG_VERIFY): Adapt.
      	* src/c++11/debug.cc (_Error_formatter::_M_error): Render _M_function
      	when available.
      
      From-SVN: r260052
      François Dumont committed
    • re PR c++/84588 (internal compiler error: Segmentation fault (contains_struct_check())) · 9f171abd
      /cp
      2018-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84588
      	* parser.c (cp_parser_parameter_declaration_list): When the
      	entire parameter-declaration-list is erroneous maybe call
      	abort_fully_implicit_template.
      
      /testsuite
      2018-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84588
      	* g++.dg/cpp1y/pr84588.C: New.
      
      From-SVN: r260050
      Paolo Carlini committed
    • re PR c++/85695 (if constexpr misevaluates typedefed type value) · 0e45c664
      	PR c++/85695
      	* semantics.c (finish_if_stmt_cond): See through typedefs.
      
      	* g++.dg/cpp1z/constexpr-if22.C: New test.
      
      From-SVN: r260049
      Marek Polacek committed
    • extend.texi (PowerPC Built-in Functions): Rename this subsection. · 3b275e65
      gcc/ChangeLog:
      
      2018-05-08  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* doc/extend.texi (PowerPC Built-in Functions): Rename this
      	subsection.
      	(Basic PowerPC Built-in Functions): The new name of the
      	subsection previously known as "PowerPC Built-in Functions".
      	(Basic PowerPC Built-in Functions Available on all Configurations):
      	New subsubsection.
      	(Basic PowerPC Built-in Functions Available on ISA 2.05): New
      	subsubsection.
      	(Basic PowerPC Built-in Functions Available on ISA 2.06): New
      	subsubsection.
      	(Basic PowerPC Built-in Functions Available on ISA 2.07): New
      	subsubsection.
      	(Basic PowerPC Built-in Functions Available on ISA 3.0): New
      	subsubsection.
      
      From-SVN: r260048
      Kelvin Nilsen committed
    • re PR tree-optimization/85693 (Generation of SAD (Sum of Absolute Difference) instruction) · 49c0e806
      	PR target/85693
      	* gcc.target/i386/pr85693.c: New test.
      
      From-SVN: r260047
      Uros Bizjak committed
    • Make std::regex automata use non-debug vector in Debug Mode · ec332f1b
      	* include/bits/regex_automaton.h (_NFA_base::_M_paren_stack, _NFA):
      	Use normal std::vector even in Debug Mode.
      
      From-SVN: r260046
      Jonathan Wakely committed