]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Enable OpenMP 5.0 pragmas in PSTL headers
authorJonathan Wakely <jwakely@redhat.com>
Fri, 30 Jun 2023 10:17:56 +0000 (11:17 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Mon, 3 Jul 2023 23:05:53 +0000 (00:05 +0100)
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

index 74d2139c736abcb44921b22a1179d8e7da9e21ec..ccb9dd32838d3f32581d66035734f4cd9b4f931e 100644 (file)
@@ -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))
 #    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