From: Jonathan Wakely Date: Fri, 30 Jun 2023 10:17:56 +0000 (+0100) Subject: libstdc++: Enable OpenMP 5.0 pragmas in PSTL headers X-Git-Tag: basepoints/gcc-15~7866 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8bef8e713fd5f17c5dee45d9bb7ffca3cf3c0f9d;p=thirdparty%2Fgcc.git libstdc++: Enable OpenMP 5.0 pragmas in PSTL headers 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+. --- diff --git a/libstdc++-v3/include/pstl/pstl_config.h b/libstdc++-v3/include/pstl/pstl_config.h index 74d2139c736a..ccb9dd32838d 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