From 32bab8b6ad0a9079ae306eb7c6bbfad0d749623f Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 25 Jun 2019 08:59:12 +0200 Subject: [PATCH] pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN, [...]): Define to OpenMP 5.0 pragmas even for GCC 10.0+. * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN, _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN): Define to OpenMP 5.0 pragmas even for GCC 10.0+. (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+. From-SVN: r272634 --- libstdc++-v3/ChangeLog | 7 +++++++ libstdc++-v3/include/pstl/pstl_config.h | 8 ++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 35c79f93389..d7392553901 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2019-06-25 Jakub Jelinek + + * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN, + _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN): + Define to OpenMP 5.0 pragmas even for GCC 10.0+. + (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+. + 2019-06-24 Jonathan Wakely * include/std/numeric (midpoint(T, T)): Change implementation for diff --git a/libstdc++-v3/include/pstl/pstl_config.h b/libstdc++-v3/include/pstl/pstl_config.h index a6867cac40c..a96e06b77b0 100644 --- a/libstdc++-v3/include/pstl/pstl_config.h +++ b/libstdc++-v3/include/pstl/pstl_config.h @@ -70,7 +70,7 @@ # define _PSTL_PRAGMA_FORCEINLINE #endif -#if (__INTEL_COMPILER >= 1900) +#if (__INTEL_COMPILER >= 1900) || (_PSTL_GCC_VERSION >= 100000) # define _PSTL_PRAGMA_SIMD_SCAN(PRM) _PSTL_PRAGMA(omp simd reduction(inscan, PRM)) # define _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan inclusive(PRM)) # define _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan exclusive(PRM)) @@ -100,7 +100,11 @@ # define _PSTL_UDR_PRESENT 0 #endif -#define _PSTL_UDS_PRESENT (__INTEL_COMPILER >= 1900 && __INTEL_COMPILER_BUILD_DATE >= 20180626) +#if ((__INTEL_COMPILER >= 1900 && __INTEL_COMPILER_BUILD_DATE >= 20180626) || _PSTL_GCC_VERSION >= 100000) +# define _PSTL_UDS_PRESENT 1 +#else +# define _PSTL_UDS_PRESENT 0 +#endif #if _PSTL_EARLYEXIT_PRESENT # define _PSTL_PRAGMA_SIMD_EARLYEXIT _PSTL_PRAGMA(omp simd early_exit)