Skip to content
Snippets Groups Projects
  1. Dec 31, 2019
  2. Dec 30, 2019
    • Olivier Hainque's avatar
      Add ChangeLog entry for rev 279797 · 8c3dbddb
      Olivier Hainque authored
      From-SVN: r279798
      8c3dbddb
    • Olivier Hainque's avatar
      undefine OFFSET in testsuite/gcc.dg/vect/tree-vect.h · 5d8ccdc9
      Olivier Hainque authored
      2019-12-20  Olivier Hainque  <hainque@adacore.com>
      
      	* gcc.dg/vect/tree-vect.h: #undef OFFSET.
      
      From-SVN: r279797
      5d8ccdc9
    • Corentin Gay's avatar
      VxWorks has_nanosleep for libstdc++ enable-libstdcxx-time auto · 784daa97
      Corentin Gay authored
      2019-12-30  Corentin Gay  <gay@adacore.com>
      
      	* acinclude.m4 (vxworks*): New entry. Set ac_has_nanosleep=yes.
      	* configure: Regenerate.
      
      From-SVN: r279796
      784daa97
    • Olivier Hainque's avatar
      Prevent redefinition of WCHAR_MAX from testsuite/gcc.dg/cpp/ucs.c · 1cf49e51
      Olivier Hainque authored
      gcc/testsuite/gcc.dg/cpp/ucs.c #include <limits.h>
      and then crafts a definition of WCHAR_MAX depending
      on __WCHAR_TYPE__.
      
      The test fails in VxWorks configurations because WCHAR_MAX
      is already exposed by the system limits.h.
      
      The patch simply guards the tentative definition
      by a check verifying if the macro is defined already, so
      we're using the value exposed by limits.h in this case.
      
      2019-12-30  Olivier Hainque  <hainque@adacore.com>
      
      	* testsuite/gcc.dg/cpp/ucs.c: Prevent redefinition
      	of WCHAR_MAX if already exposed by limits.h.
      
      From-SVN: r279795
      1cf49e51
    • Olivier Hainque's avatar
      allow $ in scan-tree-dump expressions matching symbol names · 8ee81b4d
      Olivier Hainque authored
      
      This change adjusts a few scan-tree-dump expressions
      to allow '$' as well as '.' when matching symbol names,
      
      This improves results on VxWorks targets configured with:
      
       #undef NO_DOLLAR_IN_LABEL
       #define NO_DOT_IN_LABEL
      
      2019-12-20  Olivier Hainque  <hainque@adacore.com>
                 Jerome Lambourg  <lambourg@adacore.com>
      
      	* c-c++-common/pr56493.c: Allow '$' in addition to '.'
      	scan-tree-dump expressions matching symbol names.
      	* gcc.dg/tree-ssa/sra-17.c: Likewise.
      	* gcc.dg/tree-ssa/sra-18.c: Likewise.
      
      Co-Authored-By: default avatarJerome Lambourg <lambourg@adacore.com>
      
      From-SVN: r279794
      8ee81b4d
    • Joel Brobecker's avatar
      Guard aarch64/aapcs64 tests using abitest.S by check_weak_available · 2f7f96b1
      Joel Brobecker authored
      
      2019-12-16  Joel Brobecker  <brobecker@adacore.com>
                 Olivier Hainque  <hainque@adacore.com>
      
      	* gcc.target/aarch64/aapcs64/aapcs64.exp: Guard tests using
      	abitest.S by check_weak_available.
      
      Co-Authored-By: default avatarOlivier Hainque <hainque@adacore.com>
      
      From-SVN: r279793
      2f7f96b1
    • Jerome Lambourg's avatar
      Adapt libstdc++ os_defines for VxWorks to more recent versions · c75e82cd
      Jerome Lambourg authored
      
      This change reworks the VxWorks specific os_defines.h internal
      lisbstdc++ header to help fix build and runtime failures of various
      kinds in environments from 6.4/6.9 to 7 SR640, based on experiments
      and observations conducted against real installs of these OSes for
      different CPU architectures.
      
      2019-12-30  Jerome Lambourg  <lambourg@adacore.com>
                 Olivier Hainque  <hainque@adacore.com>
      
      	libstdc++
      	* config/os/vxworks/os_defines.h
      	(NOMINMAX): Always redefine to 1.
      	(_NO_CPP_INLINES): Likewise.
      	(_GLIBCXX_USE_WEAK_REF): Define to 1 for RTP on
      	VxWorks >= 7, to 0 otherwise.
      	(_GLIBCXX_HAVE_TLS): Define to 1.
      	For VxWorks >= 7:
      	(_GLIBCXX_USE_C99_MATH): Define to 1.
      	(_GLIBCXX_USE_C99_MATH_FP_MACROS_DYNAMIC): Define to 0.
      	(_HAS_TR1_DECLARATIONS): Redefine to 0.
      	For VxWorks < 7, RTP:
      	(_GLIBCXX_INCLUDE_NEXT_C_HEADERS): Define to 1.
      	(_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC): Redefine to 1.
      	(__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): Define.
      	For VxWorks < 7, kernel: #include <vxWorks.h>
      
      Co-Authored-By: default avatarOlivier Hainque <hainque@adacore.com>
      
      From-SVN: r279792
      c75e82cd
    • Olivier Hainque's avatar
      Arrange to preinclude yvals.h ahead of stdint on VxWorks 7 · bbbc0595
      Olivier Hainque authored
      On Vxworks 7, includers of stdint.h (which we currently "provide")
      need yvals.h to have been included ahead.
      
      Instead of altering the common stdint-gcc.h with unpleasant
      vxworks specific bits to do that, we arrange to provide stdint-gcc.h
      on its own along with a stdint.h wrapper which preincludes yvals.h
      on vx7 then includes stdint-gcc.h.
      
      2019-12-30  Olivier Hainque  <hainque@adacore.com>
      
      	* config/vxworks/stdint.h: New file.  Include _yvals.h
      	then stdint-gcc.h.
      	* config/t-vxworks: Arrange to install the stdint.h wrapper.
      	* config.gcc (*-*-vxworks*): Add stdint-gcc.h to $extra_headers
      	so it gets copied.  Set use_gcc_stdint to request _not_ crafting
      	stdint.h through the common Makefile rules.
      
      From-SVN: r279791
      bbbc0595
    • Olivier Hainque's avatar
      Add missing file expected with rev 279781 · 9905fec4
      Olivier Hainque authored
                  * config/vxworks-c.c: New file.
      
      From-SVN: r279790
      9905fec4
    • Joseph Myers's avatar
      * fi.po: Update. · c1a75e9b
      Joseph Myers authored
      From-SVN: r279788
      c1a75e9b
    • Olivier Hainque's avatar
      Add missing files expected with rev 279784 · 1d28a854
      Olivier Hainque authored
      	* config/vxworks/_yvals.h: New file.
      	* config/vxworks/_yvals-wrapper.h: New file.
      	* config/vxworks/math.h: Use it to wrap the VxWorks
      	math.h header.
      	* config/vxworks/complex.h: Likewise.
      	* config/vxworks/setjmp.h: Likewise.
      	* config/vxworks/inttypes.h: Likewise.
      
      From-SVN: r279787
      1d28a854
    • Olivier Hainque's avatar
      Add missing file expected with rev 279783 · f5109bbf
      Olivier Hainque authored
      	* config/vxworks/_vxworks-versions.h: New File.
      
      From-SVN: r279786
      f5109bbf
    • Olivier Hainque's avatar
      Add missing file expected with rev 279781 · ca405dbc
      Olivier Hainque authored
      From-SVN: r279785
      ca405dbc
    • Olivier Hainque's avatar
      Setup system header wrappers for C++ on VxWorks · 41c1b913
      Olivier Hainque authored
      Starting from VxWorks 7, the system comes with a Dinkumware
      environment which requires the inclusion of "yvals.h" before other
      system headers.  We provide wrapped versions of a few headers to
      accommodate such constraints.
      
      2019-12-30  Jerome Lambourg  <lambourg@adaccore.com>
                  Olivier Hainque  <hainque@adacore.com>
      
      	gcc/
      	* config/vxworks/_yvals.h: New file.
      	* config/vxworks/_yvals-wrapper.h: New file.
      	* gcc/config/vxworks/math.h: Use it to wrap the VxWorks
      	math.h header.
      	* gcc/config/vxworks/complex.h: Likewise.
      	* gcc/config/vxworks/setjmp.h: Likewise.
      	* gcc/config/vxworks/inttypes.h: Likewise.
      	* config.gcc (*-*-vxworks*): Add system header wrappers
      	to extra_headers.
      	(powerpc-*-vxworks*): Reuse the common extra_headers.
      
      From-SVN: r279784
      41c1b913
    • Olivier Hainque's avatar
      Introduce an internal API for VxWorks version checks · abb6c3ee
      Olivier Hainque authored
      This changes introduces an internal API for VxWorks version checks
      within runtime files, a prerequisite to a few fixes coming up for libstdc++
      builds on more recent versions of the OS.
      
      2019-12-30  Olivier Hainque  <hainque@adacore.com>
      
      	gcc/
      	* config/vxworks/_vxworks-versions.h: New file.
      	* config.gcc (*-*-vxworks*): Add it to extra_headers.
      
      	libgcc/
      	* config/gthr-vxworks.h: Use _vxworks-versions.h.
      	* config/gthr-vxworks-tls.c: Likewise.
      
      From-SVN: r279783
      abb6c3ee
    • Olivier Hainque's avatar
      Simplify the compilation commands for config/vxworks.c · c62f986a
      Olivier Hainque authored
      2019-12-30  Olivier Hainque  <hainque@adacore.com>
      
      	* config/t-vxworks: Rework the vxworks.o compilation
      	rules to use $(COMPILE).
      
      From-SVN: r279782
      c62f986a
    • Joel Brobecker's avatar
      Setup TARGET_C_PREINCLUDE for VxWorks · b3405ddc
      Joel Brobecker authored
      This patch modifies the C & C++ VxWorks compiler to predefine
      the __STDC_ macros verified by gcc.dg/c99-predef-1.c in the testsuite.
      
      2019-12-13  Joel Brobecker  <brobecker@adacore.com>
      
      	* config.gcc <*-*-vxworks*>: Add vxworks-c.o to c_target_objs
      	and cxx_target_objs. Set target_has_targetcm to "yes". Add
      	vxworks-predef.h to extra_headers.
      	* config/t-vxworks (vxworks-c.o): New target.
      	* config/vxworks-c.c: New file.
      	* config/vxworks/vxworks-predef.h: New file.
      
      From-SVN: r279781
      b3405ddc
    • Alexandre Oliva's avatar
      Refine definitions for wchar_t/wint_t on VxWorks · 1361ae0e
      Alexandre Oliva authored
      
      This change refines the VxWorks macro definitions configuring
      wchar_t to accommodate the VxWorks7 environment, where wchar_t
      is now typically a 32bit type.
      
      We also ensure that the definitions for wint_t are always based
      on those for wchar_t, so the two remain in sync in environments
      where WCHAR_TYPE is redefined for a specific CPU architecture.
      
      2019-12-30  Alexandre Oliva  <oliva@adacore.com>
                 Olivier Hainque  <hainque@adacore.com>
      
      	* config/vx-common.h (WCHAR_TYPE_SIZE): 32 on VxWorks 7.
      	(WCHAR_TYPE): Pick accordingly.
      	(WINT_TYPE_SIZE): Define in terms of WCHAR_TYPE_SIZE.
      	(WINT_TYPE): Define in terms of WCHAR_TYPE.
      
      Co-Authored-By: default avatarOlivier Hainque <hainque@adacore.com>
      
      From-SVN: r279780
      1361ae0e
    • Olivier Hainque's avatar
      Identify sections in vx-common.h · 4e6bcaa6
      Olivier Hainque authored
      2019-12-30  Olivier Hainque  <hainque@adacore.com>
      
              * config/vx-common.h: Minor reorganization and add
              sectioning comments.
      
      From-SVN: r279779
      4e6bcaa6
    • Doug Rupp's avatar
      Define STARTFILE_PREFIX_SPEC for powerpc VxWorks < 7 · bd8efb66
      Doug Rupp authored
      2019-12-30  Doug Rupp  <rupp@adacore.com>
      
      	* config/rs6000/vxworks.h (STARTFILE_PREFIX_SPEC): Define.
      
      From-SVN: r279778
      bd8efb66
    • Olivier Hainque's avatar
      Improve recursion protection for VxWorks limits.h · 7800631f
      Olivier Hainque authored
      
      2019-12-30  Olivier Hainque  <hainque@adacore.com>
                  Jerome Lambourg  <labourg@adacore.com>
      
         	* config/t-vxworks: Arrange to alter/restore glimits.h
         	before/after stmp-int-hdrs, so it uses a different macro
         	name to protect itself against recursive inclusions.
      
      Co-Authored-By: default avatarJerome Lambourg <lambourg@adacore.com>
      
      From-SVN: r279777
      7800631f
    • Olivier Hainque's avatar
      Improve VxWorks GTHREAD_ONCE_INIT · d7f5094a
      Olivier Hainque authored
      2019-12-30  Olivier Hainque  <hainque@adacore.com>
      
      	* config/gthr-vxworks.h (GTHREAD_ONCE_INIT): Use
      	standard zero-initializer syntax.
      
      From-SVN: r279776
      d7f5094a
    • Olivier Hainque's avatar
      Fix macro reference in gthr-vxworks-tls.c · 49cfaa2a
      Olivier Hainque authored
      2019-12-30  Olivier Hainque  <hainque@adacore.com>
      
      	libgcc/
      	* config/gthr-vxworks-tls.c (__gthread_getspecific): Fix
      	reference to the internal VX_GET_TLS_DATA interface.
      
      From-SVN: r279775
      49cfaa2a
    • Olivier Hainque's avatar
      Fix typo in macro name guarding conditional in vxcrtstuff.c · 89b9a554
      Olivier Hainque authored
      2019-12-30  Olivier Hainque  <hainque@adacore.com>
      
      	libgcc/
      	* config/vxcrtstuff.c: Fix incorrect spelling of
      	USE_INITFINI_ARRAY in guard.
      
      From-SVN: r279774
      89b9a554
    • John David Anglin's avatar
      re PR libgomp/93066 (libgomp/target.c:525:46: error: expected expression before ')' token) · 5ee5eddb
      John David Anglin authored
      	PR libgomp/93066
      	* inclhack.def (hpux_c99_inttypes3): Fix defines for INTPTR_MAX
      	and UINTPTR_MAX, and missing define for SIZE_MAX.
      	* fixincl.x: Regenerate.
      	* tests/base/inttypes.h: Update for above fix.
      
      From-SVN: r279773
      5ee5eddb
    • Peter Bergner's avatar
      Fix builtin functions needlessly using VIEW_CONVERT_EXPRs on their operands. · 4559be23
      Peter Bergner authored
      gcc/
      	PR target/92923
      	* config/rs6000/rs6000-builtin.def (VAND, VANDC, VNOR, VOR, VXOR):
      	Delete.
      	(EQV_V16QI_UNS, EQV_V8HI_UNS, EQV_V4SI_UNS, EQV_V2DI_UNS, EQV_V1TI_UNS,
      	NAND_V16QI_UNS, NAND_V8HI_UNS, NAND_V4SI_UNS, NAND_V2DI_UNS,
      	NAND_V1TI_UNS, ORC_V16QI_UNS, ORC_V8HI_UNS, ORC_V4SI_UNS, ORC_V2DI_UNS,
      	ORC_V1TI_UNS, VAND_V16QI_UNS, VAND_V16QI, VAND_V8HI_UNS, VAND_V8HI,
      	VAND_V4SI_UNS, VAND_V4SI, VAND_V2DI_UNS, VAND_V2DI, VAND_V4SF,
      	VAND_V2DF, VANDC_V16QI_UNS, VANDC_V16QI, VANDC_V8HI_UNS, VANDC_V8HI,
      	VANDC_V4SI_UNS, VANDC_V4SI, VANDC_V2DI_UNS, VANDC_V2DI, VANDC_V4SF,
      	VANDC_V2DF, VNOR_V16QI_UNS, VNOR_V16QI, VNOR_V8HI_UNS, VNOR_V8HI,
      	VNOR_V4SI_UNS, VNOR_V4SI, VNOR_V2DI_UNS, VNOR_V2DI, VNOR_V4SF,
      	VNOR_V2DF, VOR_V16QI_UNS, VOR_V16QI, VOR_V8HI_UNS, VOR_V8HI,
      	VOR_V4SI_UNS, VOR_V4SI, VOR_V2DI_UNS, VOR_V2DI, VOR_V4SF, VOR_V2DF,
      	VXOR_V16QI_UNS, VXOR_V16QI, VXOR_V8HI_UNS, VXOR_V8HI,
      	VXOR_V4SI_UNS, VXOR_V4SI, VXOR_V2DI_UNS, VXOR_V2DI, VXOR_V4SF,
      	VXOR_V2DF): Add definitions.
      	* config/rs6000/rs6000-call.c (altivec_overloaded_builtins)
      	<ALTIVEC_BUILTIN_VAND, ALTIVEC_BUILTIN_VANDC, ALTIVEC_BUILTIN_VNOR,
      	ALTIVEC_BUILTIN_VOR, ALTIVEC_BUILTIN_VXOR>: Remove.
      	<ALTIVEC_BUILTIN_VAND_V4SF, ALTIVEC_BUILTIN_VAND_V2DF,
      	ALTIVEC_BUILTIN_VAND_V2DI, ALTIVEC_BUILTIN_VAND_V2DI_UNS,
      	ALTIVEC_BUILTIN_VAND_V4SI_UNS, ALTIVEC_BUILTIN_VAND_V4SI,
      	ALTIVEC_BUILTIN_VAND_V8HI_UNS, ALTIVEC_BUILTIN_VAND_V8HI,
      	ALTIVEC_BUILTIN_VAND_V16QI, ALTIVEC_BUILTIN_VAND_V16QI_UNS,
      	ALTIVEC_BUILTIN_VANDC_V4SF, ALTIVEC_BUILTIN_VANDC_V2DF,
      	ALTIVEC_BUILTIN_VANDC_V2DI, ALTIVEC_BUILTIN_VANDC_V2DI_UNS,
      	ALTIVEC_BUILTIN_VANDC_V4SI_UNS, ALTIVEC_BUILTIN_VANDC_V4SI,
      	ALTIVEC_BUILTIN_VANDC_V8HI_UNS, ALTIVEC_BUILTIN_VANDC_V8HI,
      	ALTIVEC_BUILTIN_VANDC_V16QI, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
      	ALTIVEC_BUILTIN_VNOR_V4SF, ALTIVEC_BUILTIN_VNOR_V2DF,
      	ALTIVEC_BUILTIN_VNOR_V2DI, ALTIVEC_BUILTIN_VNOR_V2DI_UNS,
      	ALTIVEC_BUILTIN_VNOR_V4SI, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
      	ALTIVEC_BUILTIN_VNOR_V8HI, ALTIVEC_BUILTIN_VNOR_V8HI_UNS,
      	ALTIVEC_BUILTIN_VNOR_V16QI, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
      	ALTIVEC_BUILTIN_VOR_V4SF, ALTIVEC_BUILTIN_VOR_V2DF,
      	ALTIVEC_BUILTIN_VOR_V2DI, ALTIVEC_BUILTIN_VOR_V2DI_UNS,
      	ALTIVEC_BUILTIN_VOR_V4SI_UNS, ALTIVEC_BUILTIN_VOR_V4SI,
      	ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V8HI,
      	ALTIVEC_BUILTIN_VOR_V16QI, ALTIVEC_BUILTIN_VOR_V16QI_UNS,
      	ALTIVEC_BUILTIN_VXOR_V4SF, ALTIVEC_BUILTIN_VXOR_V2DF,
      	ALTIVEC_BUILTIN_VXOR_V2DI, ALTIVEC_BUILTIN_VXOR_V2DI_UNS,
      	ALTIVEC_BUILTIN_VXOR_V4SI_UNS, ALTIVEC_BUILTIN_VXOR_V4SI,
      	ALTIVEC_BUILTIN_VXOR_V8HI, ALTIVEC_BUILTIN_VXOR_V8HI_UNS,
      	ALTIVEC_BUILTIN_VXOR_V16QI, ALTIVEC_BUILTIN_VXOR_V16QI_UNS>: Add
      	definitions.
      	<P8V_BUILTIN_EQV_V16QI, P8V_BUILTIN_EQV_V8HI, P8V_BUILTIN_EQV_V4SI,
      	P8V_BUILTIN_EQV_V2DI, P8V_BUILTIN_NAND_V16QI, P8V_BUILTIN_NAND_V8HI,
      	P8V_BUILTIN_NAND_V4SI, P8V_BUILTIN_NAND_V2DI, P8V_BUILTIN_ORC_V16QI,
      	P8V_BUILTIN_ORC_V8HI, P8V_BUILTIN_ORC_V4SI,
      	P8V_BUILTIN_ORC_V2DI>: Change unsigned usages to use the new *_UNS
      	definition names.
      	(rs6000_gimple_fold_builtin) <ALTIVEC_BUILTIN_VAND_V16QI_UNS,
      	ALTIVEC_BUILTIN_VAND_V16QI, ALTIVEC_BUILTIN_VAND_V8HI_UNS,
      	ALTIVEC_BUILTIN_VAND_V8HI, ALTIVEC_BUILTIN_VAND_V4SI_UNS,
      	ALTIVEC_BUILTIN_VAND_V4SI, ALTIVEC_BUILTIN_VAND_V2DI_UNS,
      	ALTIVEC_BUILTIN_VAND_V2DI, ALTIVEC_BUILTIN_VAND_V4SF,
      	ALTIVEC_BUILTIN_VAND_V2DF, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
      	ALTIVEC_BUILTIN_VANDC_V16QI, ALTIVEC_BUILTIN_VANDC_V8HI_UNS,
      	ALTIVEC_BUILTIN_VANDC_V8HI, ALTIVEC_BUILTIN_VANDC_V4SI_UNS,
      	ALTIVEC_BUILTIN_VANDC_V4SI, ALTIVEC_BUILTIN_VANDC_V2DI_UNS,
      	ALTIVEC_BUILTIN_VANDC_V2DI, ALTIVEC_BUILTIN_VANDC_V4SF,
      	ALTIVEC_BUILTIN_VANDC_V2DF, P8V_BUILTIN_NAND_V16QI_UNS,
      	P8V_BUILTIN_NAND_V8HI_UNS, P8V_BUILTIN_NAND_V4SI_UNS,
      	P8V_BUILTIN_NAND_V2DI_UNS, P8V_BUILTIN_NAND_V2DI,
      	ALTIVEC_BUILTIN_VOR_V16QI_UNS, ALTIVEC_BUILTIN_VOR_V16QI,
      	ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V8HI,
      	ALTIVEC_BUILTIN_VOR_V4SI_UNS, ALTIVEC_BUILTIN_VOR_V4SI,
      	ALTIVEC_BUILTIN_VOR_V2DI_UNS, ALTIVEC_BUILTIN_VOR_V2DI,
      	ALTIVEC_BUILTIN_VOR_V4SF, ALTIVEC_BUILTIN_VOR_V2DF,
      	P8V_BUILTIN_ORC_V16QI_UNS, P8V_BUILTIN_ORC_V8HI_UNS,
      	P8V_BUILTIN_ORC_V4SI_UNS, P8V_BUILTIN_ORC_V2DI_UNS,
      	P8V_BUILTIN_ORC_V2DI, ALTIVEC_BUILTIN_VXOR_V16QI_UNS,
      	ALTIVEC_BUILTIN_VXOR_V16QI, ALTIVEC_BUILTIN_VXOR_V8HI_UNS,
      	ALTIVEC_BUILTIN_VXOR_V8HI, ALTIVEC_BUILTIN_VXOR_V4SI_UNS,
      	ALTIVEC_BUILTIN_VXOR_V4SI, ALTIVEC_BUILTIN_VXOR_V2DI_UNS,
      	ALTIVEC_BUILTIN_VXOR_V2DI, ALTIVEC_BUILTIN_VXOR_V4SF,
      	ALTIVEC_BUILTIN_VXOR_V2DF, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
      	ALTIVEC_BUILTIN_VNOR_V16QI, ALTIVEC_BUILTIN_VNOR_V8HI_UNS,
      	ALTIVEC_BUILTIN_VNOR_V8HI, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
      	ALTIVEC_BUILTIN_VNOR_V4SI, ALTIVEC_BUILTIN_VNOR_V2DI_UNS,
      	ALTIVEC_BUILTIN_VNOR_V2DI, ALTIVEC_BUILTIN_VNOR_V4SF,
      	ALTIVEC_BUILTIN_VNOR_V2DF>: Use new definition names.
      	(builtin_function_type) <ALTIVEC_BUILTIN_VAND_V16QI_UNS,
      	ALTIVEC_BUILTIN_VAND_V8HI_UNS, ALTIVEC_BUILTIN_VAND_V4SI_UNS,
      	ALTIVEC_BUILTIN_VAND_V2DI_UNS, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
      	ALTIVEC_BUILTIN_VANDC_V8HI_UNS, ALTIVEC_BUILTIN_VANDC_V4SI_UNS,
      	ALTIVEC_BUILTIN_VANDC_V2DI_UNS, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
      	ALTIVEC_BUILTIN_VNOR_V8HI_UNS, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
      	ALTIVEC_BUILTIN_VNOR_V2DI_UNS, ALTIVEC_BUILTIN_VOR_V16QI_UNS,
      	ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V4SI_UNS,
      	ALTIVEC_BUILTIN_VOR_V2DI_UNS, ALTIVEC_BUILTIN_VXOR_V16QI_UNS,
      	ALTIVEC_BUILTIN_VXOR_V8HI_UNS, ALTIVEC_BUILTIN_VXOR_V4SI_UNS,
      	ALTIVEC_BUILTIN_VXOR_V2DI_UNS, P8V_BUILTIN_EQV_V16QI_UNS,
      	P8V_BUILTIN_EQV_V8HI_UNS, P8V_BUILTIN_EQV_V4SI_UNS,
      	P8V_BUILTIN_EQV_V2DI_UNS, P8V_BUILTIN_EQV_V1TI_UNS,
      	P8V_BUILTIN_NAND_V16QI_UNS, P8V_BUILTIN_NAND_V8HI_UNS,
      	P8V_BUILTIN_NAND_V4SI_UNS, P8V_BUILTIN_NAND_V2DI_UNS,
      	P8V_BUILTIN_NAND_V1TI_UNS, P8V_BUILTIN_ORC_V16QI_UNS,
      	P8V_BUILTIN_ORC_V8HI_UNS, P8V_BUILTIN_ORC_V4SI_UNS,
      	P8V_BUILTIN_ORC_V2DI_UNS, P8V_BUILTIN_ORC_V1TI_UNS>: Handle unsigned
      	builtins.
      
      gcc/testsuite/
             PR target/92923
             * gcc.target/powerpc/pr92923-1.c: New test.
             * gcc.target/powerpc/pr92923-2.c: Likewise.
      
      From-SVN: r279772
      4559be23
    • Marek Polacek's avatar
      Remove assert in reshape_init_r. · a5650762
      Marek Polacek authored
      Asserting !BRACE_ENCLOSED_INITIALIZER_P seems pretty pointless, since
      that checks for init_list_type_node, and a compound literal won't have
      that type, nor will we see that type if we just checked that it's
      something else.
      
      	* decl.c (reshape_init_r): Remove assert.
      
      From-SVN: r279771
      a5650762
    • Paolo Carlini's avatar
      decl2.c (delete_sanity): Add location_t parameter and use it throughout. · 04e4997a
      Paolo Carlini authored
      /gcc/cp
      2019-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl2.c (delete_sanity): Add location_t parameter and use
      	it throughout.
      	* init.c (build_vec_delete_1): Likewise.
      	(build_delete): Likewise.
      	(build_vec_delete): Likewise.
      	(perform_target_ctor): Adjust call.
      	(perform_member_init): Likewise.
      	(build_vec_init): Likewise.
      	* decl.c (cxx_maybe_build_cleanup): Likewise.
      	* pt.c (tsubst_copy_and_build): Likewise.
      	* parser.c (cp_parser_delete_expression): Likewise, pass the
      	combined_loc.
      	* cp-tree.h: Update declarations.
      
      /libcc1
      2019-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* libcp1plugin.cc (plugin_build_unary_expr): Update delete_sanity
      	call.
      
      /gcc/testsuite
      2019-12-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/init/delete1.C: Check locations too.
      	* g++.dg/ipa/pr85607.C: Likewise.
      	* g++.dg/warn/Wdelete-incomplete-1.C: Likewise.
      	* g++.dg/warn/delete-non-virtual-dtor.C: Likewise.
      	* g++.dg/warn/incomplete1.C: Likewise.
      
      From-SVN: r279768
      04e4997a
    • Thomas Koenig's avatar
      re PR fortran/91651 ([F03] Implement KIND argument for INDEX) · 9332e5ac
      Thomas Koenig authored
      2019-12-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/91651
      	* gfortran.dg/index_3.f90: Fix PR number.
      
      From-SVN: r279766
      9332e5ac
    • Thomas Koenig's avatar
      re PR fortran/91651 ([F03] Implement KIND argument for INDEX) · f1cc032c
      Thomas Koenig authored
      2019-12-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/91651
      	Fix PR numbers in ChangeLog.
      
      From-SVN: r279765
      f1cc032c
    • Thomas Koenig's avatar
      Remove KIND argument from INDEX so it does not mess up scalarization. · d0984735
      Thomas Koenig authored
      2019-12-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/91541
      	* intrinsic.c (add_sym_4ind): New function.
      	(add_functions): Use it for INDEX.
      	(resolve_intrinsic): Also call f1m for INDEX.
      	* intrinsic.h (gfc_resolve_index_func): Adjust prototype to
      	take a gfc_arglist instead of individual arguments.
      	* iresolve.c (gfc_resolve_index_func): Adjust arguments.
      	Remove KIND argument if present, and make sure this is
      	not done twice.
      	* trans-decl.c: Include "intrinsic.h".
      	(gfc_get_extern_function_decl): Special case for resolving INDEX.
      
      2019-12-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/91541
      	* gfortran.dg/index_3.f90: New test.
      
      From-SVN: r279763
      d0984735
    • Thomas Koenig's avatar
      Catch division by zero errors in array sizes. · 67251118
      Thomas Koenig authored
      2019-12-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/92961
      	* gfortran.h (gfc_seen_div0): Add declaration.
      	* arith.h (gfc_seen_div0): Add definition.
      	(eval_intrinsic): For integer division by zero, set gfc_seen_div0.
      	* decl.c (variable_decl):  If resolution resp. simplification
      	fails for array spec and a division of zero error has been
      	seen, return MATCH_ERROR.
      
      2019-12-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/92961
      	* gfortran.dg/arith_divide_2.f90: New test.
      
      From-SVN: r279762
      67251118
    • GCC Administrator's avatar
      Daily bump. · c3182576
      GCC Administrator authored
      From-SVN: r279761
      c3182576
  3. Dec 29, 2019
    • Jakub Jelinek's avatar
      re PR c++/92745 (Initializing array with vec4 results in compile error) · 769019d9
      Jakub Jelinek authored
      	PR c++/92745
      	* g++.dg/cpp0x/initlist118.C: Add -Wno-psabi -w to dg-options.
      
      From-SVN: r279758
      769019d9
    • Marek Polacek's avatar
      PR c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr. · 22edf943
      Marek Polacek authored
      This patch implements
      <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1327r1.html>.
      
      When build_dynamic_cast realizes that a dynamic_cast needs a run-time check, it
      generates a call to __dynamic_cast -- see dyncast.cc in libsupc++ for its
      definition.  The gist of my approach is to evaluate such a call at compile time.
      
      	* constexpr.c (cxx_dynamic_cast_fn_p): New function.
      	(extract_obj_from_addr_offset): New function.
      	(get_component_with_type): New function.
      	(cxx_eval_dynamic_cast_fn): New function.
      	(cxx_eval_call_expression): Call cxx_eval_dynamic_cast_fn for a call
      	to __dynamic_cast.
      	(potential_constant_expression_1): Don't give up on
      	cxx_dynamic_cast_fn_p.
      	* rtti.c (build_dynamic_cast_1): When creating a call to
      	__dynamic_cast, use the location of the original expression.
      
      	* g++.dg/cpp2a/constexpr-dynamic1.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic10.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic11.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic12.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic13.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic14.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic15.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic16.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic17.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic2.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic3.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic4.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic5.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic6.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic7.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic8.C: New test.
      	* g++.dg/cpp2a/constexpr-dynamic9.C: New test.
      
      From-SVN: r279755
      22edf943
    • Jakub Jelinek's avatar
      re PR target/93078 (Missing fma and round functions auto-vectorization with x86-64 (sse2)) · 6ec06754
      Jakub Jelinek authored
      	PR target/93078
      	* config/i386/i386-builtins.c (ix86_builtin_vectorized_function):
      	Remove CASE_CFN_RINT handling.
      	* config/i386/i386-builtin.def (IX86_BUILTIN_RINTPD,
      	IX86_BUILTIN_RINTPS, IX86_BUILTIN_RINTPD256, IX86_BUILTIN_RINTPS256):
      	Remove.
      	* config/i386/sse.md (nearbyint<mode>2, rint<mode>2): New expanders
      	with VF iterator.
      
      	* gcc.target/i386/sse4_1-pr93078.c: New test.
      	* gcc.target/i386/avx-pr93078.c: New test.
      	* gcc.target/i386/avx512f-pr93078.c: New test.
      
      From-SVN: r279754
      6ec06754
    • Richard Sandiford's avatar
      Unshare DR_STEP before gimplifying it · f0657516
      Richard Sandiford authored
      In this testcase we use an unmasked SVE loop with an Advanced SIMD
      epilogue (because we don't yet support fully-masked downward loops).
      The main loop uses a gather load for the strided access while the
      epilogue loop builds the access from scalars instead.  In both cases
      we gimplify expressions based on the DR_STEP and insert them in the
      loop preheader.
      
      The problem was that the gather load code didn't copy the DR_STEP before
      gimplifying it, meaning that the epilogue loop tried to reuse a result
      from the (non-dominating) main loop preheader.
      
      It looks at first glance like there could be other instances of this too,
      but this patch just deals with the gather/scatter case.
      
      2019-12-29  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-stmts.c (vect_get_strided_load_store_ops): Copy
      	DR_STEP before gimplifying it.
      
      gcc/testsuite/
      	* gcc.dg/vect/vect-strided-epilogue-1.c: New test.
      
      From-SVN: r279753
      f0657516
    • Richard Sandiford's avatar
      Check for a supported comparison when using EXTRACT_LAST_REDUCTION · 4bbd661e
      Richard Sandiford authored
      The EXTRACT_LAST_REDUCTION handling needs to generate a separate
      comparison instruction that feeds the vector mask argument of the
      IFN_EXTRACT_LAST call.  We weren't checking whether that comparison
      was supported, leading to an ICE on the testcase.
      
      2019-12-29  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-stmts.c (vectorizable_condition): For extract-last
      	reductions, check that the target supports the required comparison
      	operation.
      
      gcc/testsuite/
      	* gcc.dg/vect/vect-cond-12.c: New test.
      
      From-SVN: r279752
      4bbd661e
    • GCC Administrator's avatar
      Daily bump. · ba2bf6fe
      GCC Administrator authored
      From-SVN: r279751
      ba2bf6fe
Loading