1. 13 Dec, 2018 19 commits
    • [libgomp, nvptx] Fix libgomp.c/target-5.c compilation · fe0827ee
      Libgomp test-case libgomp.c/target-5.c is failing to compile when building for
      x86_64 with nvptx accelerator due to missing:
      - getpid
      - gethostname
      - isatty (pulled in by fwrite)
      in the nvptx newlib.
      
      This patch fixes the build failure by:
      - adding a function gomp_print_string which limits the use of fwrite to a single
        location (in affinity-fmt.c), and
      - creating an nvptx version of affinity-fmt.c, which:
        - overrides the configure test results HAVE_GETPID and HAVE_GETHOSTNAME, and
        - implements fwrite using write.
      
      Build and reg-tested on x86_64 with nvptx accelerator.
      
      2018-12-13  Tom de Vries  <tdevries@suse.de>
      
      	* affinity-fmt.c (gomp_print_string): New function, factored out of ...
      	(omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
      	* fortran.c (omp_display_affinity_): ... here.
      	* libgomp.h (gomp_print_string): Declare.
      	* config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
      	undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
      	write.
      
      From-SVN: r267100
      Tom de Vries committed
    • gdbinit.in (pp): New macro. · b3147e59
      	* gdbinit.in (pp): New macro.
      
      	(pbb): Remove.
      
      From-SVN: r267098
      Jason Merrill committed
    • re PR tree-optimization/88464 (AVX-512 vectorization of masked scatter failing… · 0e350f13
      re PR tree-optimization/88464 (AVX-512 vectorization of masked scatter failing with "not suitable for scatter store")
      
      	PR tree-optimization/88464
      	* tree-vect-stmts.c (vect_build_gather_load_calls): Handle INTEGER_TYPE
      	masktype if mask is non-NULL.
      	(vectorizable_load): Don't reject masked gather loads if masktype
      	in the decl is INTEGER_TYPE.
      
      	* gcc.target/i386/avx512f-pr88462-1.c: New test.
      	* gcc.target/i386/avx512f-pr88462-2.c: New test.
      
      From-SVN: r267097
      Jakub Jelinek committed
    • [PR c++/87531] Fix second bug · 2139fd74
      https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00929.html
      
      	PR c++/87531
      	* class.c (finish_struct): Set DECL_CONTEXT of template assign op.
      	* name-lookup.c (get_class_binding_direct): Don't strip using-decl
      	of overload here.
      	* parser.c (cp_parser_postfix_expression): Cope with using decl in
      	overload set.
      	* semantics.c (finish_id_expr): Likewise.
      
      	* g++.dg/lookup/pr87531-2.C: New.
      
      From-SVN: r267096
      Nathan Sidwell committed
    • Include gdc.test prefix in test names (PR testsuite/88041) · f1d42e85
      	PR testsuite/88041
      	* lib/gdc-dg.exp (gdc-dg-test): Strip gdc.test prefix.
      	* gdc.test/gdc-test.exp (gdc-do-test): Create $subdir link.
      	Include $subdir in filename.
      	Cleanup generated source.
      	* gdc.test/compilable/ddoc9676a.d (EXTRA_SOURCES): Don't use
      	absolute path.
      	* gdc.test/compilable/depsOutput9948.d: Likewise.
      
      From-SVN: r267094
      Rainer Orth committed
    • re PR libgomp/88460 ([nvptx] FAIL: libgomp.c++/for-24.C (internal compiler error)) · a51f8c92
      	PR libgomp/88460
      	* testsuite/libgomp.c++/for-24.C (results): Include it in
      	omp declare target region.
      	(main): Use map (always, tofrom: results) instead of
      	map (tofrom: results).
      
      From-SVN: r267093
      Jakub Jelinek committed
    • re PR testsuite/88454 (test case gcc.dg/tree-ssa/split-path-5.c fails after r266971) · b9cbcd3e
      	PR testsuite/88454
      	* gcc.dg/tree-ssa/split-path-5.c (__ctype_ptr__): Change type from
      	const char * to const signed char *.
      	(bmhi_init): Change pattern parameter's type the same.  Use
      	__builtin_strlen instead of undeclared strlen.
      
      From-SVN: r267092
      Jakub Jelinek committed
    • Fix [fs.path.gen] tests to use backslashes for mingw · a7a6c14a
      The normalized paths contain backslashes so fix the expected values to
      use backslashes too.
      
      	* testsuite/27_io/filesystem/path/generation/proximate.cc: Use
      	preferred directory separators for normalized paths.
      	* testsuite/27_io/filesystem/path/generation/relative.cc: Likewise.
      
      From-SVN: r267090
      Jonathan Wakely committed
    • Fix test to work when path::native() returns wstring · ebfaf345
      	* testsuite/27_io/filesystem/path/itr/traversal.cc: Fix test for
      	mingw.
      
      From-SVN: r267089
      Jonathan Wakely committed
    • S/390: Fix zvector vec_double builtin · a00ccce8
      The (unsigned) long int to double vector conversion instructions
      expect 2 immediate parameters. One for the inexact suppression
      control and another one for the rounding mode.  However, the
      vec_double builtin has just the vector source operand.  The 2
      addtional operands need to be added with an intermediate expander.
      The expanders were already there but unfortunately not wired up
      correctly to the builtin.
      
      gcc/ChangeLog:
      
      2018-12-13  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/s390-builtins.def (s390_vec_double_s64): Map to
      	s390_vec_double_s64 instead of s390_vcdgb.
      	(s390_vec_double_u64): Map to s390_vec_double_u64 instead of
      	s390_vcdlgb.
      
      gcc/testsuite/ChangeLog:
      
      2018-12-13  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.target/s390/zvector/vec-double-1.c: New test.
      	* gcc.target/s390/zvector/vec-double-2.c: New test.
      
      From-SVN: r267084
      Andreas Krebbel committed
    • S/390: Use VEC_INEXACT/VEC_NOINEXACT instead of magic numbers. · 99daf8e8
      2018-12-13  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/vx-builtins.md ("vec_ctd_s64", "vec_ctd_u64")
      	("vec_ctsl", "vec_ctul"): Replace 0 with VEC_NOINEXACT.
      	("vec_double_s64", "vec_double_u64"): Replace 4 with VEC_INEXACT.
      
      From-SVN: r267083
      Andreas Krebbel committed
    • Disable new tests for configurations with no libstdc++fs.a · bc51a764
      	* testsuite/27_io/filesystem/path/construct/80762.cc: Skip test if
      	the Filesystem TS support is not configured.
      	* testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.
      
      From-SVN: r267082
      Jonathan Wakely committed
    • [AArch64][doc] Clarify -msve-vector-bits=128 behaviour · ee03c51c
      We've received reports about the -msve-vector-bits=128 bits being somewhat ambiguous.
      It isn't clear whether -msve-vector-bits=128 forces vector-length-agnostic code or whether
      -msve-vector-bits=scalable forces 128-bit vector-lengh-specific code.
      The latter is a, perhaps unintuitive, reading that we want to exclude.
      
      This patch makes it more explicit that -msve-vector-bits=128 is special and produces
      vector-length *agnostic* code. In the end, I've rewritten the whole option documentation.
      
      Checked make pdf that the output looks reasonable.
      
          * doc/invoke.texi (-msve-vector-bits): Clarify -msve-vector-bits=128
          behavior.
      
      From-SVN: r267081
      Kyrylo Tkachov committed
    • i386-common.c (processor_names): Add cascadelake. · 7cab07f0
      gcc/
            * common/config/i386/i386-common.c (processor_names): Add cascadelake.
            (processor_alias_table): Add cascadelake.
            * config.gcc: Add -march=cascadelake.
            * config/i386/i386-c.c (ix86_target_macros_internal): Handle cascadelake.
            * config/i386/i386.c (Add m_CASCADELAKE): New.
            (processor_cost_table): Add cascadelake.
            (get_builtin_code_for_version): Handle cascadelake.
            * config/i386/i386.h (TARGET_CASCADELAKE, PROCESSOR_CASCADELAKE): New.
            (PTA_CASCADELAKE): Ditto.
            * doc/invoke.texi: Add -march=cascadelake.
      
      gcc/testsuite/
            * gcc.target/i386/funcspec-56.inc: Handle new march.
      
      From-SVN: r267080
      Wei Xiao committed
    • Add note about abort and ZCX runtime. · 81f3e60f
      Part of RC12-001
      
      From-SVN: r267079
      Arnaud Charlet committed
    • re PR target/88465 (AVX512: optimize loading of constant values to kN registers) · 26b57b93
      	PR target/88465
      	* config/i386/i386.md (*movdi_internal, *movsi_internal,
      	*movhi_internal, *movqi_internal): Add alternative(s) to load
      	0 or -1 into k registers using kxor or kxnoq instructions.
      
      	* gcc.target/i386/avx512f-pr88465.c: New test.
      	* gcc.target/i386/avx512dq-pr88465.c: New test.
      
      From-SVN: r267078
      Jakub Jelinek committed
    • re PR target/88461 (AVX512: gcc should keep value in kN registers if possible) · e00199d7
      	PR target/88461
      	* config/i386/sse.md (VI1248_AVX512VLBW, AVX512ZEXTMASK): New
      	mode iterators.
      	(<avx512>_testm<mode>3<mask_scalar_merge_name>,
      	<avx512>_testnm<mode>3<mask_scalar_merge_name>): Merge patterns
      	with VI12_AVX512VL and VI48_AVX512VL iterators into ones with
      	VI1248_AVX512VLBW iterator.
      	(*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
      	*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
      	*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
      	*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask): New
      	define_insns.
      
      	* gcc.target/i386/pr88461.c: New test.
      
      From-SVN: r267077
      Jakub Jelinek committed
    • re PR target/88461 (AVX512: gcc should keep value in kN registers if possible) · 87d570a0
      	PR target/88461
      	* config/i386/i386.md (*zero_extendsidi2, zero_extend<mode>di2,
      	*zero_extend<mode>si2, *zero_extendqihi2): Add =*k, *km alternatives.
      
      From-SVN: r267076
      Jakub Jelinek committed
    • Daily bump. · 401069da
      From-SVN: r267074
      GCC Administrator committed
  2. 12 Dec, 2018 21 commits
    • runtime: handle DW_EH_PE_absptr in type table encoding · e7db55f6
          
          The type table encoding can be DW_EH_PE_absptr, but this case
          was missing, which was causing abort on ARM32 EABI. Add the
          missing case.
          
          Reviewed-on: https://go-review.googlesource.com/c/153857
      
      From-SVN: r267070
      Ian Lance Taylor committed
    • re PR fortran/88463 (Rejects conforming source, OpenMP Parallel region… · 7a289b7d
      re PR fortran/88463 (Rejects conforming source, OpenMP Parallel region Default(None) reference to module parameter array, separate source)
      
      	PR fortran/88463
      	* trans-openmp.c (gfc_omp_predetermined_sharing): Handle TREE_READONLY
      	VAR_DECLs with DECL_EXTERNAL like those with TREE_STATIC.
      
      	* testsuite/libgomp.fortran/pr88463-1.f90: New test.
      	* testsuite/libgomp.fortran/pr88463-2.f90: New test.
      
      From-SVN: r267069
      Jakub Jelinek committed
    • os/signal: increase deliver time for signal testcase · 44cacba3
          
          This increases the time to wait for signals to be delivered in the
          TestAtomicStop testcase. When running gccgo tests on ppc64 or ppc64le,
          there are intermittent failures in this test because the wait time is
          too small.
          
          Updates golang/go#29046
          
          Reviewed-on: https://go-review.googlesource.com/c/153879
      
      From-SVN: r267068
      Ian Lance Taylor committed
    • omp-builtins.def (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_START, [...]): Fix up… · a6ef2ac9
      omp-builtins.def (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_START, [...]): Fix up function types - remove one argument.
      
      	* omp-builtins.def (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_START,
      	BUILT_IN_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_START,
      	BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_RUNTIME,
      	BUILT_IN_GOMP_PARALLEL_LOOP_MAYBE_NONMONOTONIC_RUNTIME): Fix up
      	function types - remove one argument.
      
      	* testsuite/libgomp.c-c++-common/for-16.c: New test.
      
      From-SVN: r267067
      Jakub Jelinek committed
    • decl.c (grokdeclarator): Fix location of error message about static data member definition. · 77a24286
      /cp
      2018-12-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (grokdeclarator): Fix location of error message about
      	static data member definition.
      
      /testsuite
      2018-12-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/other/static5.C: New.
      
      From-SVN: r267066
      Paolo Carlini committed
    • extend.texi (attribute copy): Fix typos. · 293267bc
      gcc/ChangeLog:
      
      	* doc/extend.texi (attribute copy): Fix typos.
      
      From-SVN: r267065
      Martin Sebor committed
    • extend.texi (Function Attributes): Clarify C++ aspects. · 348846ff
      gcc/ChangeLog:
      
      	* doc/extend.texi (Function Attributes): Clarify C++ aspects.
      	(Variable Attributes): Same.
      	(Type Attributes): Same.
      
      From-SVN: r267064
      Martin Sebor committed
    • Fix independent-cloneids-1.c testcase (PR88318) · c46eb979
      The testcase uses REs like {(?n)\m_*bar[.$_]constprop[.$_]0:} to find
      what functions are defined.  But, this also matches lines like
      .L.bar.constprop.0:(which are used on powerpc64-linux).
      The "(?n)" doesn't do anything here either.  We should use "^" here
      instead of just "\m".
      
      
      	PR testsuite/88318
      	* gcc.dg/independent-cloneids-1.c: Use ^ not \m.
      
      From-SVN: r267063
      Segher Boessenkool committed
    • Add support for SUBTARGET_OVERRIDE_OPTIONS on aarch64 · 6881e3c1
      	* config/aarch64/aarch64.c (aarch64_override_options): Once arch,
      	cpu and tune were validated, insert SUBTARGET_OVERRIDE_OPTIONS if
      	defined.
      
      From-SVN: r267060
      Olivier Hainque committed
    • Use REGNUM macros in the definitions of aarch64 PROBE_STACK regs · 8921ccbb
      	* config/aarch64/aarch64.c (PROBE_STACK_FIRST_REG) : Redefine as
      	R9_REGNUM instead of 9.
      	(PROBE_STACK_SECOND_REG): Redefine as R10_REGNUM instead of 10.
      
      From-SVN: r267059
      Olivier Hainque committed
    • Fix PR number in my last commit · 7bd0ca11
      From-SVN: r267058
      Richard Earnshaw committed
    • Overload std::distance and std::advance for path::iterator · 9e160526
      Although filesystem::path::iterator is only a bidirectional iterator,
      the underlying sequence has random access iterators (specifically, raw
      pointers). This means std::distance and std::advance can be implemented
      more efficiently than the generic versions which apply ++ and --
      repeatedly.
      
      	PR libstdc++/71044 (partial)
      	* include/bits/fs_path.h (__path_iter_distance, __path_iter_advance):
      	New friend functions to implement std::distance and std::advance more
      	efficiently.
      	(distance, advance): Add overloads for path::iterator.
      	* testsuite/27_io/filesystem/path/itr/components.cc: Test new
      	overload.
      
      From-SVN: r267057
      Jonathan Wakely committed
    • PR libstdc++/80762 avoid ambiguous __constructible_from<void, void> · 6b7c0b55
      Ensure we don't try to instantiate __is_constructible_from<void, void>,
      because there are two partial specializations that are equally good
      matches.
      
      	PR libstdc++/80762
      	* include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void.
      	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
      	* testsuite/27_io/filesystem/path/construct/80762.cc: New test.
      	* testsuite/experimental/filesystem/path/construct/80762.cc: New test.
      
      From-SVN: r267056
      Jonathan Wakely committed
    • require profiling support for gcc.dg/lto/20100430-1_0.c test · 5da5fefe
      This test currently fails unexpectedly if GCC is configured with
      --disable-gcov, because it requires -fprofile-arcs. This patch
      fixes the issue by requiring profiling support in order to run
      this test.
      
      Tested with two compilers, one built with --disable-gcov, resulting
      in the test reporting an UNSUPPORTED result; and one built with gcov
      support, resulting in 2 PASS tests.
      
      gcc/testsuite/ChangeLog:
      
              * gcc.dg/lto/20100430-1_0.c: Add dg-require-profiling requirement.
      
      From-SVN: r267055
      Joel Brobecker committed
    • [libbacktrace] Add allocfail.sh test-case · d665cd9b
      Add test-case that forces alloc.c functions to fail, and check whether fail
      handling is robust.
      
      This is the test-case for "[libbacktrace] Fix segfault upon allocation
      failure".  Without that patch, this test-case fails like this:
      ...
      allocfail.sh: line 71: 26041 Segmentation fault      (core dumped) \
        ./allocfail $i > /dev/null 2>&1
      Unallowed fail found: 13
      FAIL allocfail.sh (exit status: 1)
      ...
      
      This is a seperate patch because the test-case is nontrivial.
      
      Bootstrapped and reg-tested on x86_64.
      
      2018-12-12  Tom de Vries  <tdevries@suse.de>
      
      	* Makefile.am (TESTS): Add allocfail.sh.
      	(check_PROGRAMS): Add allocfail.
      	* Makefile.in: Regenerate.
      	* instrumented_alloc.c: New file.  Redefine malloc and realloc.
      	Include alloc.c.
      	* allocfail.c: New file.
      	* allocfail.sh: New file.
      
      From-SVN: r267054
      Tom de Vries committed
    • re PR target/86806 (SPARC port needs updating for CVE-2017-5753) · bf4eca2e
      	PR target/86806
      	* config/sparc/sparc.md (unspecv): Add UNSPECV_SPECULATION_BARRIER.
      	(speculation_barrier): New instruction for V9.
      
      From-SVN: r267053
      Eric Botcazou committed
    • Don't mark stack pointer as clobbered in asm · 9c47a019
      * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
      clobbered.
      
      From-SVN: r267052
      Andreas Schwab committed
    • libgcc: rs6000: tramp.S: fix placement of .cfi_endproc for __trampoline_setup · 5a2580b6
      Currently, .cfi_endproc and FUNC_END(__trampoline_setup) are placed
      inside the #else branch of an "#if defined (__VXWORKS__) ...", so
      non-pic vxworks does not get proper CFI nor a .size directive for
      __trampoline_setup. I assume there's no magic reason for that (which
      would warrant a comment), so move them outside.
      
      From-SVN: r267051
      Rasmus Villemoes committed
    • rs6000 - add missed hunk · 0c1342df
      This add the hunk
      	(macho_call_template): Remove.
      
      missed from r267049
      
      From-SVN: r267050
      Iain Sandoe committed
    • rs6000 - Fix PR target/88343 · be611c9c
      The PR is about unnecessary saves of the pic base register, it shows on m32 Linux and m32/m64 Darwin.
      
      The fix is to check that we are in a pic mode and that the picbase has actually been used.
      As a bonus, some #ifdef’d TARGET_MACHO code is no longer required.
      
      2018-12-12 Segher Boessenkool  <segher@kernel.crashing.org>
      	   Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR target/88343
      	* config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg
      	unless it has been used.
      	(first_reg_to_save): Remove dead code.
      
      
      Co-Authored-By: Iain Sandoe <iain@sandoe.co.uk>
      
      From-SVN: r267049
      Segher Boessenkool committed
    • rs6000, update Darwin call handling to latest scheme. · aa3a2eca
      This patch mormalises Darwin's call handling to match the scheme
      recently introduced and gives it target-specific call expanders.
      
      2018-12-12  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/rs6000/rs6000-protos.h (rs6000_call_darwin): New.
      	(rs6000_sibcall_darwin): New. (macho_call_template): Remove.
      	* config/rs6000/rs6000.c (get_prev_label): Forward declaration. 
      	(rs6000_call_template_1): Handle Darwin.
      	(macho_call_template): Remove.
      	(rs6000_call_sysv): Remove handling for Darwin.
      	(rs6000_call_darwin_1, rs6000_call_darwin): New
      	(rs6000_sibcall_darwin): New.
      	* config/rs6000/rs6000.md (define_expand “call”): Handle Darwin
      	with its own expander. (define_expand “call_value”): Likewise.
      	(define_expand “sibcall”): Likewise.
      	(define_expand “sibcall_value”): Likewise.
      	(call_nonlocal_sysv): Remove Darwin special-casing.
      	(call_value_nonlocal_sysv): Likewise.
      
      From-SVN: r267048
      Iain Sandoe committed