1. 08 Aug, 2018 12 commits
    • Add missing <experimental/numeric> header to docs · c0d57e63
      	* doc/xml/manual/using.xml: Add missing header to table and fix typo.
      	* doc/html/*: Regenerate.
      
      From-SVN: r263398
      Jonathan Wakely committed
    • PR libstdc++/86597 directory_entry observers should clear error_code · d3f3c680
      	PR libstdc++/86597
      	* include/bits/fs_dir.h (directory_entry::_M_file_type(error_code&)):
      	Clear error_code when cached type is used.
      	* testsuite/27_io/filesystem/directory_entry/86597.cc: New test.
      
      From-SVN: r263397
      Jonathan Wakely committed
    • S/390: Fix PR85295 · 9f3c21d6
      gcc/ChangeLog:
      
      2018-08-08  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	PR target/85295
      	* config/s390/constraints.md ("NxHD0", "NxSD0"): New constraint
      	definitions.
      	* config/s390/s390.md ("movti"): Add more alternatives for
      	constant to GPR copies.
      
      gcc/testsuite/ChangeLog:
      
      2018-08-08  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	PR target/85295
      	* gcc.target/s390/TI-constants-lra.c: New testcase.
      	* gcc.target/s390/TI-constants-nolra.c: New testcase.
      
      From-SVN: r263396
      Andreas Krebbel committed
    • S/390: Fix whitespace problems in the backend · 0ff3dcd6
      2018-08-08  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390.c: Fix whitespace damage throughout the file.
      	* config/s390/s390.h: Likewise.
      	* config/s390/tpf.h: Likewise.
      
      From-SVN: r263395
      Andreas Krebbel committed
    • S/390: Remove TARGET_CPU_ZARCH · 8cc6307c
      TARGET_CPU_ZARCH allowed to distinguish between g5/g6 and newer
      machines.  Since the former are now gone, we can assume that
      TARGET_CPU_ZARCH is always true.  As a side-effect, branch splitting
      is now completely gone.  Some parts of literal pool splitting are also
      gone, but it's still there: we need to support it because floating
      point and vector instructions still cannot use relative addressing.
      
      gcc/ChangeLog:
      
      2018-08-08  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	* config/s390/s390.c (s390_loadrelative_operand_p):
              Remove TARGET_CPU_ZARCH usages.
      	(s390_rtx_costs): Likewise.
      	(s390_legitimate_constant_p): Likewise.
      	(s390_cannot_force_const_mem): Likewise.
      	(legitimate_reload_constant_p): Likewise.
      	(s390_preferred_reload_class): Likewise.
      	(legitimize_pic_address): Likewise.
      	(legitimize_tls_address): Likewise.
      	(s390_split_branches): Removed.
      	(s390_add_execute): Removed.
      	(s390_dump_pool): Remove TARGET_CPU_ZARCH usages.
      	(s390_mainpool_start): Likewise.
      	(s390_mainpool_finish): Likewise.
      	(s390_mainpool_cancel): Removed.
      	(s390_chunkify_start): Remove TARGET_CPU_ZARCH usages.
      	(s390_chunkify_cancel): Likewise.
      	(s390_return_addr_rtx): Likewise.
      	(s390_register_info): Remove split_branches_pending_p uages.
      	(s390_optimize_register_info): Likewise.
      	(s390_init_frame_layout): Remove TARGET_CPU_ZARCH and
              split_branches_pending_p usages.
      	(s390_can_eliminate): Remove TARGET_CPU_ZARCH usages.
      	(s390_load_got): Likewise.
      	(s390_expand_split_stack_prologue): Likewise.
      	(output_asm_nops): Likewise.
      	(s390_function_profiler): Likewise.
      	(s390_emit_call): Likewise.
      	(s390_conditional_register_usage): Likewise.
      	(s390_optimize_prologue): Likewise.
      	(s390_reorg): Remove TARGET_CPU_ZARCH and
              split_branches_pending_p usages.
      	(s390_option_override_internal): Remove TARGET_CPU_ZARCH
              usages.
      	(s390_output_indirect_thunk_function): Likewise.
      	* config/s390/s390.h (TARGET_CPU_ZARCH): Removed.
      	(TARGET_CPU_ZARCH_P): Removed.
      	(struct machine_function): Remove split_branches_pending_p.
      	* config/s390/s390.md: Remove TARGET_CPU_ZARCH usages.
      
      From-SVN: r263394
      Ilya Leoshkevich committed
    • S/390: Remove support for g5 and g6 machines · 52d4aa4f
      g5 and g6 were deprecated since gcc 6.1.0 (commit 3bd8520f).
      
      gcc/ChangeLog:
      
      2018-08-08  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	* common/config/s390/s390-common.c (processor_flags_table):
              Remove flags.
      	* config.gcc: Remove with_arch/with_tune support.
      	* config/s390/2064.md: Remove cpu attribute comparisons.
      	* config/s390/driver-native.c (s390_host_detect_local_cpu):
              Remove MTN.
      	* config/s390/linux.h (ASM_SPEC):
              Remove -march support.
      	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal):
              Use a table to get an arch level.
      	* config/s390/s390-opts.h (enum processor_type):
              Remove enum values.
      	* config/s390/s390.c
              (processor_table): Remove entries, add arch_level values.
              (s390_issue_rate): Remove cases.
              (s390_option_override): Adjust
              s390_option_override_internal() call.
      	(s390_option_override_internal): Remove deprecation warning.
              (s390_valid_target_attribute_tree): Adjust
              s390_option_override_internal() call.
      	* config/s390/s390.h (struct s390_processor):
              Share with s390-c.c, add arch_level field.
      	* config/s390/s390.md:
              Remove occurrences in cpu attribute.
      	* config/s390/s390.opt: Remove -march/-mtune support.
      	* config/s390/tpf.h (ASM_SPEC): Remove -march support.
      	* doc/invoke.texi: Remove deprecation warning.
      
      gcc/testsuite/ChangeLog:
      
      2018-08-08  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	* gcc.target/s390/hotpatch-8.c: Remove.
      	* gcc.target/s390/hotpatch-9.c: Remove.
      	* gcc.target/s390/mnop-mcount-m31-fpic.c: Remove.
      	* gcc.target/s390/mnop-mcount-m31.c: Remove.
      
      From-SVN: r263393
      Ilya Leoshkevich committed
    • P0595R1 - is_constant_evaluated · e4082611
      	P0595R1 - is_constant_evaluated
      cp/
      	* cp-tree.h (enum cp_built_in_function): New.
      	(maybe_constant_init): Add pretend_const_required argument.
      	* typeck2.c (store_init_value): Pass true as new argument to
      	maybe_constant_init.
      	* constexpr.c (constexpr_fn_retval): Check also DECL_BUILT_IN_CLASS
      	for BUILT_IN_UNREACHABLE.
      	(struct constexpr_ctx): Add pretend_const_required field.
      	(cxx_eval_builtin_function_call): Use DECL_IS_BUILTIN_CONSTANT_P
      	macro.  Handle CP_BUILT_IN_IS_CONSTANT_EVALUATED.  Check also
      	DECL_BUILT_IN_CLASS for BUILT_IN_UNREACHABLE.
      	(cxx_eval_outermost_constant_expr): Add pretend_const_required
      	argument, initialize pretend_const_required field in ctx.  If the
      	result is TREE_CONSTANT and non_constant_p, retry with
      	pretend_const_required false if it was true.
      	(is_sub_constant_expr): Initialize pretend_const_required_field in
      	ctx.
      	(cxx_constant_value): Pass true as pretend_const_required to
      	cxx_eval_outermost_constant_expr.
      	(maybe_constant_value): Pass false as pretend_const_required to
      	cxx_eval_outermost_constant_expr.
      	(fold_non_dependent_expr): Likewise.
      	(maybe_constant_init_1): Add pretend_const_required argument, pass it
      	down to cxx_eval_outermost_constant_expr.  Pass !allow_non_constant
      	instead of false as strict to cxx_eval_outermost_constant_expr.
      	(maybe_constant_init): Add pretend_const_required argument, pass it
      	down to maybe_constant_init_1.
      	(cxx_constant_init): Pass true as pretend_const_required to
      	maybe_constant_init_1.
      	* cp-gimplify.c (cp_gimplify_expr): Handle CALL_EXPRs to
      	CP_BUILT_IN_IS_CONSTANT_EVALUATED.
      	(cp_fold): Don't fold CP_BUILT_IN_IS_CONSTANT_EVALUATED calls.
      	* decl.c: Include langhooks.h.
      	(cxx_init_decl_processing): Register __builtin_is_constant_evaluated
      	built-in.
      	* tree.c (builtin_valid_in_constant_expr_p): Return true for
      	CP_BUILT_IN_IS_CONSTANT_EVALUATED.
      	* pt.c (declare_integer_pack): Initialize DECL_FUNCTION_CODE.
      testsuite/
      	* g++.dg/cpp2a/is-constant-evaluated1.C: New test.
      
      From-SVN: r263392
      Jakub Jelinek committed
    • re PR c++/86836 (internal compiler error on structured bindings with shadow… · 5e539332
      re PR c++/86836 (internal compiler error on structured bindings with shadow parameter on templated function)
      
      	PR c++/86836
      	* pt.c (tsubst_expr): For structured bindings, call tsubst_decomp_names
      	before tsubst_init, not after it.
      
      	* g++.dg/cpp1z/decomp46.C: New test.
      
      From-SVN: r263391
      Jakub Jelinek committed
    • re PR c++/86738 (gcc 8.2: Internal compiler error memcpy) · bf533db8
      	PR c++/86738
      	* constexpr.c (cxx_eval_binary_expression): For arithmetics involving
      	NULL pointer set *non_constant_p to true.
      	(cxx_eval_component_reference): For dereferencing of a NULL pointer,
      	set *non_constant_p to true and return t.
      
      	* g++.dg/opt/pr86738.C: New test.
      
      From-SVN: r263390
      Jakub Jelinek committed
    • [AArch64, Falkor] Switch to using Falkor-specific vector costs. · e75bc10e
      The adjusted vector costs give Falkor a reasonable boost in performance for FP
      benchmarks (both CPU2017 and CPU2006) and doesn't change INT benchmarks that
      much. There are some regressions that will be investigated as follow on work.
      
      Numbers from the CI run:
      
      CPU2017:
      
      (R) 605.mcf_s: -1.8%
      (R) 620.omnetpp_s: -2%
          623.xalancbmk_s: 2%
          654.roms_s: 7%
      
      (R) INT mean: -0.09%
          FP mean: 0.70%
      
      CPU2006:
      
      (R) 429.mc: -5%
      (R) 471.omnetpp: -9.5% (potentially noise/fluctuations)
          483.xalancbmk: 6.02%
          410.bwaves: 5.03%
          433.milc: 2%
          434.zeusmp: 10.5%
      (R) 436.cactusADM: -12.75%
          437.leslie3d: 5.94%
      (R) 453.povray: -0.82%
          459.GemsFDTD: 16.87%
          465.tonto: 1%
      
      (R) INT mean: -0.79%
          FP mean: 1.54%
      
      gcc/ChangeLog:
      
      2018-08-08  Luis Machado  <luis.machado@linaro.org>
      
      	* config/aarch64/aarch64.c (qdf24xx_vector_cost): New static global.
      	(qdf24xx_tunings): Set vector cost structure to qdf24xx_vector_cost.
      
      From-SVN: r263389
      Luis Machado committed
    • [aarch64] Adjust Falkor's sign extend reg+reg address cost · 31508b39
      Adjust Falkor's register_sextend cost from 4 to 3.  This fixes a testsuite
      failure in gcc.target/aarch64/extend.c:ldr_sxtw where GCC was generating
      a sbfiz instruction rather than a load with sign extension.
      
      No performance changes.
      
      gcc/ChangeLog:
      
      2018-08-08  Luis Machado  <luis.machado@linaro.org>
      
      	* config/aarch64/aarch64.c (qdf24xx_addrcost_table)
      	<register_sextend>: Set to 3.
      
      From-SVN: r263388
      Luis Machado committed
    • Daily bump. · 8a1d7237
      From-SVN: r263387
      GCC Administrator committed
  2. 07 Aug, 2018 15 commits
    • [OpenACC] cleanup trans-stmt.h · 1972d615
      	gcc/fortran/
      	* trans-stmt.h: Remove stale reference to trans-openacc.c.
      
      From-SVN: r263372
      Cesar Philippidis committed
    • [PATCH] Line map table allocation · e81c3c4d
      https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00434.html
      	* line-map.c: (linemap_init): Set default allocator here.
      	(new_linemap): Rather than here.  Refactor allocation logic.
      
      From-SVN: r263366
      Nathan Sidwell committed
    • PR libstdc++/86874 fix std::variant::swap regression · 0ec78a93
      	PR libstdc++/86874
      	* include/std/variant (_Copy_ctor_base::_M_destructive_move): Define
      	here instead of in _Move_assign_base.
      	(_Copy_ctor_base<true, _Types...>::_M_destructive_move): Define.
      	(_Copy_assign_base::operator=): Use _M_destructive_move when changing
      	the contained value to another alternative.
      	(_Move_assign_base::operator=): Likewise.
      	(_Move_assign_base::_M_destructive_move): Remove.
      	* testsuite/20_util/variant/86874.cc: New test.
      
      From-SVN: r263365
      Jonathan Wakely committed
    • runtime: use poll rather than pollset for netpoll on AIX · b7d7c92f
          
          Updates golang/go#26634
          
          Reviewed-on: https://go-review.googlesource.com/126857
      
      From-SVN: r263364
      Ian Lance Taylor committed
    • libgo: uncomment trace.Stop() call in testing package · 9be4d772
          
          Fix up the testing package to insure that execution traces
          work properly (e.g. "-test.trace=<XXX>" command line option). The
          call to stop tracing and emit the output file was stubbed out.
          
          Reviewed-on: https://go-review.googlesource.com/128275
      
      From-SVN: r263363
      Ian Lance Taylor committed
    • [AArch64] Fix -mlow-precision-div (PR 86838) · 4663b943
      The "@" handling broke -mlow-precision-div, because the scalar forms of
      the instruction were provided by a pattern that also provided FRECPX
      (and so were parameterised on an unspec code as well as a mode),
      while the SIMD versions had a dedicated FRECPE pattern.  This patch
      moves the scalar FRECPE handling to the SIMD pattern too (as for FRECPS)
      and uses a separate pattern for FRECPX.
      
      The convention in aarch64-simd-builtins.def seemed to be to add
      comments only if the mapping wasn't obvious (i.e. not just sticking
      "aarch64_" on the beginning and "<mode>" on the end), so the patch
      deletes the reference to the combined pattern instead of rewording it.
      
      There didn't seem to be any coverage of -mlow-precision-div in the
      testsuite, so the patch adds some tests for it.
      
      2018-08-07  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	PR target/86838
      	* config/aarch64/iterators.md (FRECP, frecp_suffix): Delete.
      	* config/aarch64/aarch64-simd.md
      	(aarch64_frecp<FRECP:frecp_suffix><mode>): Fold FRECPE into...
      	(@aarch64_frecpe<mode>): ...here and the move FRECPX to...
      	(aarch64_frecpx<mode>): ...this new pattern.
      	* config/aarch64/aarch64-simd-builtins.def: Remove comment
      	about aarch64_frecp<FRECP:frecp_suffix><mode>.
      
      gcc/testsuite/
      	PR target/86838
      	* gcc.target/aarch64/frecpe_1.c: New test.
      	* gcc.target/aarch64/frecpe_2.c: Likewise.
      
      From-SVN: r263362
      Richard Sandiford committed
    • PR c++/59480, DR 136 · 6429b8e0
      /cp
      2018-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59480, DR 136
      	* decl.c (check_no_redeclaration_friend_default_args): New.
      	(duplicate_decls): Use the latter; also check that a friend
      	declaration specifying default arguments is a definition.
      
      /testsuite
      2018-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59480, DR 136
      	* g++.dg/other/friend8.C: New.
      	* g++.dg/other/friend9.C: Likewise.
      	* g++.dg/other/friend10.C: Likewise.
      	* g++.dg/other/friend11.C: Likewise.
      	* g++.dg/other/friend12.C: Likewise.
      	* g++.dg/other/friend13.C: Likewise.
      	* g++.dg/other/friend14.C: Likewise.
      	* g++.dg/other/friend15.C: Likewise.
      	* g++.dg/parse/defarg4.C: Compile with -fpermissive -w.
      	* g++.dg/parse/defarg8.C: Likewise.
      
      From-SVN: r263361
      Paolo Carlini committed
    • PR libstdc++/86861 Meet precondition for Solaris memalign · 1d1b7328
      Solaris memalign requires alignment to be at least sizeof(int), so
      increase it as needed.
      
      Also move the check for valid alignments from the fallback
      implementation of aligned_alloc into operator new, as it's required for
      all of aligned_alloc, memalign, posix_memalign and __aligned_malloc.
      This adds a branch to check for undefined behaviour which we could just
      ignore, so the check could just be removed. It should certainly be
      removed if PR 86878 is implemented to issue a warning about calls with
      invalid alignments.
      
      	PR libstdc++/86861
      	* libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc):
      	Replace macro with inline function.
      	[__sun]: Increase alignment to meet memalign precondition.
      	[!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN]
      	(aligned_alloc): Move check for valid alignment to operator new.
      	Remove redundant check for non-zero size, it's enforced by the caller.
      	(operator new): Move check for valid alignment here. Use
      	__builtin_expect on check for zero size.
      
      From-SVN: r263360
      Jonathan Wakely committed
    • Fix PR number for HPPA speculation patch: PR target/86807 -> PR target/86785 · e81c3c1e
      This just fixes the PR number in the ChangeLog.  Nothing we can do
      about the SVN history.
      
      From-SVN: r263358
      Richard Earnshaw committed
    • re PR c++/79133 (lambda capture shadowing parameter & decltype confusion) · 63b48839
      PR c++/79133
      
      gcc/cp/
      
      PR c++/79133
      * name-lookup.c (check_local_shadow): Reject captures and parameters
      with the same name.
      
      testsuite/
      
      PR c++/79133
      * g++.dg/cpp0x/lambda/lambda-shadow3.C: New.
      * g++.dg/cpp1y/lambda-generic-variadic18.C: Likewise.
      
      From-SVN: r263357
      Ville Voutilainen committed
    • Add malloc predictor (PR middle-end/83023). · 806562fd
      2018-08-07  Martin Liska  <mliska@suse.cz>
      
              PR middle-end/83023
      	* predict.c (expr_expected_value_1): Handle DECL_IS_MALLOC,
              BUILT_IN_REALLOC and DECL_IS_OPERATOR_NEW.
      	* predict.def (PRED_MALLOC_NONNULL): New predictor.
      	* doc/extend.texi: Document that malloc attribute adds
              hit to compiler.
      2018-08-07  Martin Liska  <mliska@suse.cz>
      
              PR middle-end/83023
      	* gcc.dg/predict-16.c: New test.
      	* g++.dg/predict-1.C: New test.
      
      From-SVN: r263355
      Martin Liska committed
    • Define monotonic_buffer_resource members out-of-line · ea2329d1
      Move the allocation logic into libstdc++.so so that it can be changed
      without worrying about inlined code in existing binaries.
      
      Leave do_allocate inline so that calls to it can be devirtualized, and
      only the slow path needs to call into the library.
      
      	* config/abi/pre/gnu.ver: Export monotonic_buffer_resource members.
      	* include/std/memory_resource (monotonic_buffer_resource::release):
      	Call _M_release_buffers to free buffers.
      	(monotonic_buffer_resource::do_allocate): Call _M_new_buffer to
      	allocate a new buffer from upstream.
      	(monotonic_buffer_resource::_M_new_buffer): Declare.
      	(monotonic_buffer_resource::_M_release_buffers): Declare.
      	(monotonic_buffer_resource::_Chunk): Replace definition with
      	declaration as opaque type.
      	* src/c++17/memory_resource.cc (monotonic_buffer_resource::_Chunk):
      	Define.
      	(monotonic_buffer_resource::_M_new_buffer): Define.
      	(monotonic_buffer_resource::_M_release_buffers): Define.
      
      From-SVN: r263354
      Jonathan Wakely committed
    • Fix gcc.dg/vect/no-section-anchors-vect-69.c on SPARC etc. (PR tree-optimization/80925) · 4c929126
      2018-08-07  Steve Ellcey  <sellcey@cavium.com>
      	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	PR tree-optimization/80925
      	* gcc.dg/vect/no-section-anchors-vect-69.c: Expect 3 loops
      	vectorized on !vect_hw_misalign targets.
      
      Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
      
      From-SVN: r263352
      Steve Ellcey committed
    • Add missing gcc-interface/ to 2018-07-31 ChangeLog entry · a6ac1bf6
      From-SVN: r263351
      Alexandre Oliva committed
    • Daily bump. · c4beb725
      From-SVN: r263350
      GCC Administrator committed
  3. 06 Aug, 2018 13 commits
    • [libgomp, nvptx] Handle CUDA_ONE_CALL_MAYBE_NULL · 02150de8
      This patch adds handling of functions that may not be present in the cuda
      driver.
      
      Such a function can be declared using CUDA_ONE_CALL_MAYBE_NULL in cuda-lib.def,
      it can be called with the usual convenience macros, but before calling its
      presence needs to be tested using new macro CUDA_CALL_EXISTS.
      
      When using the dlopen interface (PLUGIN_NVPTX_DYNAMIC == 1), we allow
      non-present functions by allowing dlsym to return NULL.  Otherwise
      (PLUGIN_NVPTX_DYNAMIC == 0) we declare the non-present function to be weak.
      
      Build and reg-tested libgomp on x86_64 with nvidia accelerator, with and without
      --disable-cuda-driver, in combination with a trigger patch that adds a
      non-existing function foo to cuda-lib.def:
      ...
      CUDA_ONE_CALL_MAYBE_NULL (foo)
      ...
      and declares it in plugin-nvptx.c:
      ...
      CUresult foo (void);
      ...
      and then uses it in nvptx_init after the init_cuda_lib call:
      ...
        if (CUDA_CALL_EXISTS (foo))
          CUDA_CALL (foo);
      ...
      
      Also build and reg-tested on x86_64 with nvidia accelerator, with and without
      --disable-cuda-driver, in combination with a trigger patch that replaces all
      CUDA_ONE_CALLs in cuda-lib.def with CUDA_ONE_CALL_MAYBE_NULL, and guards two
      CUDA_CALLs with CUDA_CALL_EXISTS, one for a regular fn, and one for a fn that is
      a define in cuda/cuda.h.
      
      2018-08-07  Tom de Vries  <tdevries@suse.de>
      
      	* plugin/plugin-nvptx.c (DO_PRAGMA): Define.
      	(struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
      	(init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
      	corresponding call in CUDA_ONE_CALL.  Add def/undef of
      	CUDA_ONE_CALL_MAYBE_NULL.
      	(CUDA_CALL_EXISTS): Define.
      
      From-SVN: r263346
      Tom de Vries committed
    • [libgomp, nvptx] Minimize lifetime of CUDA_ONE_CALL defines · 9e28b107
      This patch makes sure that the lifetimes of the CUDA_ONE_CALL macro (which is
      defined twice in plugin-nvptx.c) are minimized, to make it obvious that the
      definitions are used only in the lib-cuda.def include.
      
      Build on x86_64 with nvptx accelerator and reg-tested libgomp.
      
      2018-08-07  Tom de Vries  <tdevries@suse.de>
      
      	* plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
      	CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
      	corresponding undefs right after.
      
      From-SVN: r263345
      Tom de Vries committed
    • re PR target/86807 (spu port needs updating for CVE-2017-5753) · 611c75f0
      	PR target/86807
      	* config/pa/pa.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
      	Define to speculation_safe_value_not_needed.
      
      From-SVN: r263344
      John David Anglin committed
    • tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Pass down the vr_values… · 47ca20b4
      tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Pass down the vr_values instance to cprop_into_stmt.
      
      	* tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Pass down
      	the vr_values instance to cprop_into_stmt.
      	(cprop_into_stmt): Pass vr_values instance down to cprop_operand.
      	(cprop_operand): Also query EVRP to determine if OP is a constant.
      
      From-SVN: r263342
      Jeff Law committed
    • [PATCH] Diagnostic included-from loop · 9e525f08
      https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00416.html
      	* diagnostic.c (diagnostic_report_current_module): Reroll
      	included-at loop.  Translate text.
      
      From-SVN: r263341
      Nathan Sidwell committed
    • re PR c++/86767 (continue statements in constexpr functions causes unbounded looping) · 0250ba58
      	PR c++/86767
      	* constexpr.c (cxx_eval_statement_list): Handle continue.
      
      	* g++.dg/cpp1y/constexpr-86767.C: New test.
      
      From-SVN: r263340
      Marek Polacek committed
    • Fix memory leak in selftest::test_expansion_to_rtl · 5242b3cb
      "make selftest-valgrind" shows:
      
      187 bytes in 1 blocks are definitely lost in loss record 567 of 669
          at 0x4A081D4: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
          by 0x1F08260: xcalloc (xmalloc.c:162)
          by 0xB24F32: init_emit() (emit-rtl.c:5843)
          by 0xC10080: prepare_function_start() (function.c:4803)
          by 0xC10254: init_function_start(tree_node*) (function.c:4877)
          by 0x1CDF92A: selftest::test_expansion_to_rtl() (function-tests.c:595)
          by 0x1CE007C: selftest::function_tests_c_tests() (function-tests.c:676)
          by 0x1E010E7: selftest::run_tests() (selftest-run-tests.c:98)
          by 0x1062D1E: toplev::run_self_tests() (toplev.c:2225)
          by 0x1062F40: toplev::main(int, char**) (toplev.c:2303)
          by 0x1E5B90A: main (main.c:39)
      
      The allocation in question is:
      
        crtl->emit.regno_pointer_align
          = XCNEWVEC (unsigned char, crtl->emit.regno_pointer_align_length);
      
      This patch fixes this leak (and makes the output of
      "make selftest-valgrind" clean) by calling free_after_compilation at the
      end of the selftest in question.
      
      gcc/ChangeLog:
      	* function-tests.c (selftest::test_expansion_to_rtl): Call
      	free_after_compilation.
      
      From-SVN: r263339
      David Malcolm committed
    • pr86763.C (dg-additional-options): Add -lrt for target *-*-linux-gnu. · 27ee6398
      	* g++.dg/torture/pr86763.C (dg-additional-options): Add -lrt
      	for target *-*-linux-gnu.
      
      From-SVN: r263338
      Uros Bizjak committed
    • Enable clobber high for tls descs on Aarch64 · 234c9000
      gcc/
      	* config/aarch64/aarch64.md: Add clobber highs to tls_desc.
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve/tls_preserve_1.c: New test.
      	* gcc.target/aarch64/sve/tls_preserve_2.c: New test.
      	* gcc.target/aarch64/sve/tls_preserve_3.c: New test.
      
      From-SVN: r263337
      Alan Hayward committed
    • S/390: Don't unroll memory blk op loops · 8eed4721
      gcc/ChangeLog:
      
      2018-08-06  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390.c (s390_loop_unroll_adjust): Prevent small
      	loops with memory block operations from getting unrolled.
      
      gcc/testsuite/ChangeLog:
      
      2018-08-06  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/nomemloopunroll-1.c: New test.
      
      From-SVN: r263336
      Andreas Krebbel committed
    • [spu, commit] Define TARGET_HAVE_SPECULATION_SAFE_VALUE · 2f171da9
      The SPU processor is not affected by speculation, so this macro can
      safely be defined as speculation_safe_value_not_needed.
      
      gcc/ChangeLog:
      
      	PR target/86807
      	* config/spu/spu.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
      	Define to speculation_safe_value_not_needed.
      
      From-SVN: r263335
      Ulrich Weigand committed
    • reload1.c (forget_old_reloads_1): Adjust CLOBBER_HIGH assert. · 5dc09626
      	* reload1.c (forget_old_reloads_1): Adjust CLOBBER_HIGH
      	assert.
      
      From-SVN: r263333
      Jeff Law committed
    • re PR target/86662 (msp430-elf segfault with -flto and -mlarge) · edbbb166
      PR target/86662
      
              * gcc/tree.c (build_common_tree_nodes): Initialize integer_types array
              with all enabled __intN types.
      
              * gcc/testsuite/gcc.target/msp430/pr86662.c: New test.
      
      From-SVN: r263332
      Jozef Lawrynowicz committed