Jakub made a similar change a few yeas ago, but I think it got lost
in the recent PSTL rebase.

Tested x86_64-linux.

Does this look OK for trunk?

-- >8 --

This reapplies r10-1314-g32bab8b6ad0a90 which was lost in the recent
PSTL rebase from upstream.

        * 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+.
---
 libstdc++-v3/include/pstl/pstl_config.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/include/pstl/pstl_config.h 
b/libstdc++-v3/include/pstl/pstl_config.h
index 74d2139c736..ccb9dd32838 100644
--- a/libstdc++-v3/include/pstl/pstl_config.h
+++ b/libstdc++-v3/include/pstl/pstl_config.h
@@ -82,7 +82,8 @@
 #    define _PSTL_PRAGMA_FORCEINLINE
 #endif
 
-#if defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1900
+#if (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1900) || \
+    (!defined(__INTEL_COMPILER) && _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))
@@ -126,7 +127,8 @@
 #    define _PSTL_UDR_PRESENT
 #endif
 
-#if defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1900 && 
__INTEL_COMPILER_BUILD_DATE >= 20180626
+#if (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1900 && 
__INTEL_COMPILER_BUILD_DATE >= 20180626) || \
+    (!defined(__INTEL_COMPILER) && _PSTL_GCC_VERSION >= 100000)
 #   define _PSTL_UDS_PRESENT
 #endif
 
-- 
2.41.0

Reply via email to