1. 10 May, 2018 28 commits
    • re PR fortran/85521 (ICE in gfc_resolve_character_array_constructor, at fortran/array.c:2049) · 14ee7de0
      2018-05-10  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/85521
      	* array.c (gfc_resolve_character_array_constructor): Substrings
      	with upper bound smaller than lower bound are zero length strings.
      
      2018-05-10  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/85521
      	* gfortran.dg/pr85521_1.f90: New test.
      	* gfortran.dg/pr85521_2.f90: New test.
      
      From-SVN: r260139
      Steven G. Kargl committed
    • re PR fortran/70870 (Segmentation violation in gfc_assign_data_value) · 7b24db31
      2018-05-10  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/70870
      	* data.c (gfc_assign_data_value): Check that a data object does
      	not also have default initialization.
      
      2018-05-10  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/70870
      	* gfortran.dg/pr70870_1.f90: New test.
      
      From-SVN: r260138
      Steven G. Kargl committed
    • * gcc.target/i386/xgetsetbv.c: Fix whitespace. · b0aed64b
      From-SVN: r260137
      Uros Bizjak committed
    • i386.c (ix86_expand_builtin): Generate SImode target register for null target. · 1c3c479a
      	* config/i386/i386.c (ix86_expand_builtin) <case IX86_BUILTIN_RDPID>:
      	Generate SImode target register for null target.
      	<case IX86_BUILTIN_XGETBV>: Ditto.
      	<case IX86_BUILTIN_XSETBV>: Optimize LSHIFTRT generation.
      	* config/i386/xsaveintrin.h (_xgetbv): Add missing return.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/xgetsetbv.c: Check also variable arguments.
      
      From-SVN: r260135
      Uros Bizjak committed
    • rs6000.md (prefetch): Generate ISA 2.06 instructions dcbtt and dcbtstt if operands[2] is 0. · 267eee04
      gcc/ChangeLog:
      
      2018-05-10  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000.md (prefetch): Generate ISA 2.06 instructions
      	dcbtt and dcbtstt if operands[2] is 0.
      
      From-SVN: r260134
      Carl Love committed
    • cp-tree.h (DECL_CONSTRUCTOR_P): Use DECL_CXX_CONSTRUCTOR_P. · b947b54c
      	* cp-tree.h (DECL_CONSTRUCTOR_P): Use DECL_CXX_CONSTRUCTOR_P.
      
      	(DECL_DESTRUCTOR_P): Use DECL_CXX_DESTRUCTOR_P.
      
      From-SVN: r260133
      Jason Merrill committed
    • Document Dual ABI for std::ios_base::failure · 0f8a1c15
      	* doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
      	* doc/xml/manual/debug_mode.xml: Add array and forward_list to list
      	of C++11 containers with Debug Mode support.
      	* doc/xml/manual/using.xml: Document Dual ABI for ios_base::failure.
      	* doc/html/*: Regenerate.
      
      From-SVN: r260129
      Jonathan Wakely committed
    • regex_compiler.h (_S_cache_size): Change from function to variable. · a6e1cfdd
      	* include/bits/regex_compiler.h (_S_cache_size): Change from
      	function to variable.
      
      From-SVN: r260128
      Jason Merrill committed
    • Core issue 2310 - conversion to base of incomplete type. · f8e94a01
      	* class.c (build_base_path): Check COMPLETE_TYPE_P for source type.
      
      From-SVN: r260127
      Jason Merrill committed
    • CWG 2267 - list-initialization of reference temporary · d86d6e27
      	* call.c (reference_binding): List-initializing a reference
      	temporary is copy-list-initialization.
      
      From-SVN: r260126
      Jason Merrill committed
    • Make sure we aren't trying to do a nested instantiation in template context. · 5d7b4c6f
      	* pt.c (instantiate_decl): Make sure we aren't trying to do a nested
      	instantiation in template context.
      
      From-SVN: r260124
      Jason Merrill committed
    • * lambda.c (lambda_expr_this_capture): Improve logic. · 86cf1084
      From-SVN: r260122
      Jason Merrill committed
    • decl.c (make_typename_type): s/parameters/arguments/. · fa141e9b
      	* decl.c (make_typename_type): s/parameters/arguments/.
      
      	* parser.c (cp_parser_nested_name_specifier_opt): Likewise.
      	* pt.c (make_pack_expansion): Correct error message.
      
      From-SVN: r260121
      Jason Merrill committed
    • re PR fortran/85735 (f951 crashes on empty input) · 4c35d099
      	PR fortran/85735
      	* options.c (gfc_post_options): Set main_input_filename.
      
      From-SVN: r260120
      Marek Polacek committed
    • re PR c++/85662 ("error: non-constant condition for static assertion" from… · 79e7b1fe
      re PR c++/85662 ("error: non-constant condition for static assertion" from __builtin_offsetof in C++)
      
      	PR c++/85662
      	* c-common.h (fold_offsetof_1): Removed.
      	(fold_offsetof): Add TYPE argument defaulted to size_type_node and
      	CTX argument defaulted to ERROR_MARK.
      	* c-common.c (fold_offsetof_1): Renamed to ...
      	(fold_offsetof): ... this.  Remove wrapper function.  Add TYPE
      	argument, convert the pointer constant to TYPE and use size_binop
      	with PLUS_EXPR instead of fold_build_pointer_plus if type is not
      	a pointer type.  Adjust recursive calls.
      
      	* c-fold.c (c_fully_fold_internal): Use fold_offsetof rather than
      	fold_offsetof_1, pass TREE_TYPE (expr) as TYPE to it and drop the
      	fold_convert_loc.
      	* c-typeck.c (build_unary_op): Use fold_offsetof rather than
      	fold_offsetof_1, pass argtype as TYPE to it and drop the
      	fold_convert_loc.
      
      	* cp-gimplify.c (cp_fold): Use fold_offsetof rather than
      	fold_offsetof_1, pass TREE_TYPE (x) as TYPE to it and drop the
      	fold_convert.
      
      	* g++.dg/ext/offsetof2.C: New test.
      
      From-SVN: r260119
      Jakub Jelinek committed
    • re PR tree-optimization/85693 (Generation of SAD (Sum of Absolute Difference) instruction) · c7b7749d
      	PR target/85693
      	* config/i386/sse.md (usadv64qi): New expander.
      
      From-SVN: r260117
      Uros Bizjak committed
    • re PR fortran/54613 ([F08] Add FINDLOC plus support MAXLOC/MINLOC with KIND=/BACK=) · 6c4578da
      2018-05-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/54613
      	* intrinsic.texi: Document BACK for MINLOC and MAXLOC.
      
      From-SVN: r260116
      Thomas Koenig committed
    • PR libstdc++/83140 - assoc_legendre returns negated value when m is odd · 88bf4c34
      2018-05-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	PR libstdc++/83140 - assoc_legendre returns negated value when m is odd
      	* include/tr1/legendre_function.tcc (__assoc_legendre_p): Add __phase
      	argument defaulted to +1.  Doxy comments on same.
      	* testsuite/special_functions/02_assoc_legendre/
      	check_assoc_legendre.cc: Regen.
      	* testsuite/tr1/5_numerical_facilities/special_functions/
      	02_assoc_legendre/check_tr1_assoc_legendre.cc: Regen.
      
      From-SVN: r260115
      Edward Smith-Rowland committed
    • PR libstdc++/85729 add linkage specifications to headers · daf69489
      	PR libstdc++/85729
      	* include/bits/c++config.h (__replacement_assert): Add linkage
      	specification.
      	* include/bits/std_abs.h: Add comment to closing brace of block.
      	* include/c_global/cstddef: Add linkage specification.
      	* include/c_global/cstring: Likewise.
      	* include/c_global/cwchar: Likewise.
      
      From-SVN: r260114
      Jonathan Wakely committed
    • re PR fortran/68846 (Pointer function as LValue doesn't work when the assignment… · 9caa7e07
      re PR fortran/68846 (Pointer function as LValue doesn't work when the assignment regards a dummy argument.)
      
      2018-05-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/68846
      	PR fortran/70864
      	* resolve.c (get_temp_from_expr): The temporary must not have
      	dummy or intent attributes.
      
      2018-05-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/68846
      	* gfortran.dg/temporary_3.f90 : New test.
      
      	PR fortran/70864
      	* gfortran.dg/temporary_2.f90 : New test.
      
      From-SVN: r260113
      Paul Thomas committed
    • 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 12 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