diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2023-12-18 20:30:12 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2024-04-06 20:11:55 +0000 |
| commit | 5f757f3ff9144b609b3c433dfd370cc6bdc191ad (patch) | |
| tree | 1b4e980b866cd26a00af34c0a653eb640bd09caf /lib/libomp | |
| parent | 3e1c8a35f741a5d114d0ba670b15191355711fe9 (diff) | |
| parent | 312c0ed19cc5276a17bacf2120097bec4515b0f1 (diff) | |
Diffstat (limited to 'lib/libomp')
| -rw-r--r-- | lib/libomp/Makefile | 13 | ||||
| -rw-r--r-- | lib/libomp/kmp_config.h | 2 | ||||
| -rw-r--r-- | lib/libomp/kmp_i18n_default.inc | 6 | ||||
| -rw-r--r-- | lib/libomp/kmp_i18n_id.inc | 4 | ||||
| -rw-r--r-- | lib/libomp/omp.h | 8 |
5 files changed, 26 insertions, 7 deletions
diff --git a/lib/libomp/Makefile b/lib/libomp/Makefile index 52f234512ea7..aa9e6799ab59 100644 --- a/lib/libomp/Makefile +++ b/lib/libomp/Makefile @@ -57,7 +57,8 @@ CXXFLAGS+= -fno-exceptions CXXFLAGS+= -fno-rtti CXXSTD= c++17 -.if ${COMPILER_TYPE} == "clang" && ${MACHINE_CPUARCH} == "i386" +.if ${COMPILER_TYPE} == "clang" +.if ${MACHINE_CPUARCH} == "i386" .if ${COMPILER_VERSION} >= 90000 # When targeting i386, clang 9.0.0 produces a new warning about large atomic # operations "possibly incurring significant performance penalties", but there @@ -69,8 +70,14 @@ CWARNFLAGS+= -Wno-atomic-alignment # builtin operations must have natural alignment, but there is not much we # can do about it. CWARNFLAGS+= -Wno-sync-alignment -.endif -.endif +.endif # COMPILER_VERSION >= 170000 +.endif # MACHINE_CPUARCH == i386 +.if ${COMPILER_VERSION} >= 180000 +# clang 18.0.0 introduces a new warning about variable length arrays in C++, +# which OpenMP makes use of in several sources. +CXXWARNFLAGS+= -Wno-vla-cxx-extension +.endif # COMPILER_VERSION >= 180000 +.endif # COMPILER_TYPE == clang LDFLAGS+= -Wl,--warn-shared-textrel LDFLAGS+= -Wl,--gc-sections diff --git a/lib/libomp/kmp_config.h b/lib/libomp/kmp_config.h index eb6bca431a3d..3a8f726353bf 100644 --- a/lib/libomp/kmp_config.h +++ b/lib/libomp/kmp_config.h @@ -152,6 +152,8 @@ # define CACHE_LINE 128 #elif KMP_ARCH_AARCH64_A64FX # define CACHE_LINE 256 +#elif KMP_ARCH_S390X +# define CACHE_LINE 256 #else # define CACHE_LINE 64 #endif diff --git a/lib/libomp/kmp_i18n_default.inc b/lib/libomp/kmp_i18n_default.inc index 5445622c4d82..253ef7472ce5 100644 --- a/lib/libomp/kmp_i18n_default.inc +++ b/lib/libomp/kmp_i18n_default.inc @@ -1,5 +1,5 @@ // Do not edit this file! // -// The file was generated from en_US.txt by message-converter.pl on Sun Sep 3 00:38:26 2023. // +// The file was generated from en_US.txt by message-converter.pl on Sun Dec 17 22:59:54 2023. // static char const * __kmp_i18n_default_meta[] = @@ -415,6 +415,8 @@ __kmp_i18n_default_messages[] = "KMP_HW_SUBSET ignored: Too many attributes specified. This machine is not a hybrid architecutre.", "KMP_HW_SUBSET: ignoring %1$s attribute. This machine is not a hybrid architecutre.", "Target memory not available, will use default allocator.", + "%1$s ignored: This machine is not a hybrid architecutre. Using \"%2$s\" instead.", + "%1$s ignored: %2$s is not available. Using \"%3$s\" instead.", NULL }; @@ -467,7 +469,7 @@ __kmp_i18n_sections[] = { 5, __kmp_i18n_default_meta }, { 79, __kmp_i18n_default_strings }, { 6, __kmp_i18n_default_formats }, - { 299, __kmp_i18n_default_messages }, + { 301, __kmp_i18n_default_messages }, { 29, __kmp_i18n_default_hints }, { 0, NULL } }; diff --git a/lib/libomp/kmp_i18n_id.inc b/lib/libomp/kmp_i18n_id.inc index 7fee381ab780..e2895a860b32 100644 --- a/lib/libomp/kmp_i18n_id.inc +++ b/lib/libomp/kmp_i18n_id.inc @@ -1,5 +1,5 @@ // Do not edit this file! // -// The file was generated from en_US.txt by message-converter.pl on Sun Sep 3 00:38:26 2023. // +// The file was generated from en_US.txt by message-converter.pl on Sun Dec 17 22:59:54 2023. // enum kmp_i18n_id { @@ -409,6 +409,8 @@ enum kmp_i18n_id { kmp_i18n_msg_AffHWSubsetAttrsNonHybrid, kmp_i18n_msg_AffHWSubsetIgnoringAttr, kmp_i18n_msg_TargetMemNotAvailable, + kmp_i18n_msg_AffIgnoringNonHybrid, + kmp_i18n_msg_AffIgnoringNotAvailable, kmp_i18n_msg_last, // Set #5, hints. diff --git a/lib/libomp/omp.h b/lib/libomp/omp.h index 618e09de86de..94be362f2e6e 100644 --- a/lib/libomp/omp.h +++ b/lib/libomp/omp.h @@ -15,6 +15,7 @@ #ifndef __OMP_H # define __OMP_H +# include <stddef.h> # include <stdlib.h> # include <stdint.h> @@ -236,6 +237,11 @@ extern int __KAI_KMPC_CONVENTION omp_target_memcpy_rect_async(void *, const void *, size_t, int, const size_t *, const size_t *, const size_t *, const size_t *, const size_t *, int, int, int, omp_depend_t *); + + /* OpenMP 6.0 device memory routines */ + extern void * __KAI_KMPC_CONVENTION omp_target_memset(void *, int, size_t, int); + extern void * __KAI_KMPC_CONVENTION omp_target_memset_async(void *, int, size_t, int, int, omp_depend_t *); + /*! * The `omp_get_mapped_ptr` routine returns the device pointer that is associated with a host pointer for a given device. */ @@ -497,7 +503,7 @@ extern int __KAI_KMPC_CONVENTION omp_in_explicit_task(void); /* LLVM Extensions */ - extern void *llvm_omp_target_dynamic_shared_alloc(); + extern void *llvm_omp_target_dynamic_shared_alloc(void); # undef __KAI_KMPC_CONVENTION # undef __KMP_IMP |
