aboutsummaryrefslogtreecommitdiff
path: root/lib/libomp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2023-12-18 20:30:12 +0000
committerDimitry Andric <dim@FreeBSD.org>2024-04-06 20:11:55 +0000
commit5f757f3ff9144b609b3c433dfd370cc6bdc191ad (patch)
tree1b4e980b866cd26a00af34c0a653eb640bd09caf /lib/libomp
parent3e1c8a35f741a5d114d0ba670b15191355711fe9 (diff)
parent312c0ed19cc5276a17bacf2120097bec4515b0f1 (diff)
Diffstat (limited to 'lib/libomp')
-rw-r--r--lib/libomp/Makefile13
-rw-r--r--lib/libomp/kmp_config.h2
-rw-r--r--lib/libomp/kmp_i18n_default.inc6
-rw-r--r--lib/libomp/kmp_i18n_id.inc4
-rw-r--r--lib/libomp/omp.h8
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