aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2025-12-27 23:23:22 +0000
committerDimitry Andric <dim@FreeBSD.org>2026-04-25 14:14:02 +0000
commite64bea71c21eb42e97aa615188ba91f6cce0d36d (patch)
tree62aa9d1dc27620bdcc0128f6f1ed30a5eac88b54 /lib
parent770cf0a5f02dc8983a89c6568d741fbc25baa999 (diff)
parent294ba569803972323a64670451a82af53c660541 (diff)
Diffstat (limited to 'lib')
-rw-r--r--lib/clang/include/VCSVersion.inc6
-rw-r--r--lib/clang/include/clang/Basic/Version.inc8
-rw-r--r--lib/clang/include/lld/Common/Version.inc2
-rw-r--r--lib/clang/include/lldb/Version/Version.inc8
-rw-r--r--lib/clang/include/llvm/Config/config.h4
-rw-r--r--lib/clang/include/llvm/Config/llvm-config.h6
-rw-r--r--lib/clang/include/llvm/Support/VCSRevision.h2
-rw-r--r--lib/libc++/Makefile2
-rw-r--r--lib/libc++/__assertion_handler35
-rw-r--r--lib/libc++/libcxx.imp1
-rw-r--r--lib/libc++/module.modulemap4
-rw-r--r--lib/libclang_rt/asan/Makefile2
-rw-r--r--lib/libclang_rt/asan_cxx/Makefile3
-rw-r--r--lib/libclang_rt/asan_dynamic/Makefile2
-rw-r--r--lib/libclang_rt/cfi/Makefile1
-rw-r--r--lib/libclang_rt/cfi_diag/Makefile2
-rw-r--r--lib/libclang_rt/dd/Makefile1
-rw-r--r--lib/libclang_rt/include/Makefile1
-rw-r--r--lib/libclang_rt/msan/Makefile2
-rw-r--r--lib/libclang_rt/msan_cxx/Makefile3
-rw-r--r--lib/libclang_rt/safestack/Makefile1
-rw-r--r--lib/libclang_rt/stats/Makefile1
-rw-r--r--lib/libclang_rt/tsan/Makefile2
-rw-r--r--lib/libclang_rt/tsan_cxx/Makefile7
-rw-r--r--lib/libclang_rt/ubsan_standalone/Makefile2
-rw-r--r--lib/libomp/kmp_config.h2
-rw-r--r--lib/libomp/omp.h45
27 files changed, 113 insertions, 42 deletions
diff --git a/lib/clang/include/VCSVersion.inc b/lib/clang/include/VCSVersion.inc
index 6d19824e75e7..a8d79080c301 100644
--- a/lib/clang/include/VCSVersion.inc
+++ b/lib/clang/include/VCSVersion.inc
@@ -1,8 +1,8 @@
-#define LLVM_REVISION "llvmorg-21-init-19288-gface93e724f4"
+#define LLVM_REVISION "llvmorg-21.1.7-0-gcd708029e0b2"
#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
-#define CLANG_REVISION "llvmorg-21-init-19288-gface93e724f4"
+#define CLANG_REVISION "llvmorg-21.1.7-0-gcd708029e0b2"
#define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git"
-#define LLDB_REVISION "llvmorg-21-init-19288-gface93e724f4"
+#define LLDB_REVISION "llvmorg-21.1.7-0-gcd708029e0b2"
#define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git"
diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc
index 2f9b09d2f59c..aae0d61e886b 100644
--- a/lib/clang/include/clang/Basic/Version.inc
+++ b/lib/clang/include/clang/Basic/Version.inc
@@ -1,9 +1,9 @@
-#define CLANG_VERSION 21.0.0git
-#define CLANG_VERSION_STRING "21.0.0git"
+#define CLANG_VERSION 21.1.7
+#define CLANG_VERSION_STRING "21.1.7"
#define CLANG_VERSION_MAJOR 21
#define CLANG_VERSION_MAJOR_STRING "21"
-#define CLANG_VERSION_MINOR 0
-#define CLANG_VERSION_PATCHLEVEL 0
+#define CLANG_VERSION_MINOR 1
+#define CLANG_VERSION_PATCHLEVEL 7
#define MAX_CLANG_ABI_COMPAT_VERSION 21
#define CLANG_VENDOR "FreeBSD "
diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc
index ce423b4acfc9..cb1c626fc17d 100644
--- a/lib/clang/include/lld/Common/Version.inc
+++ b/lib/clang/include/lld/Common/Version.inc
@@ -1,4 +1,4 @@
// Local identifier in __FreeBSD_version style
#define LLD_FREEBSD_VERSION 1600000
-#define LLD_VERSION_STRING "21.0.0 (FreeBSD llvmorg-21-init-19288-gface93e724f4-" __XSTRING(LLD_FREEBSD_VERSION) ")"
+#define LLD_VERSION_STRING "21.1.7 (FreeBSD llvmorg-21.1.7-0-gcd708029e0b2-" __XSTRING(LLD_FREEBSD_VERSION) ")"
diff --git a/lib/clang/include/lldb/Version/Version.inc b/lib/clang/include/lldb/Version/Version.inc
index 189498011837..bd72009d6981 100644
--- a/lib/clang/include/lldb/Version/Version.inc
+++ b/lib/clang/include/lldb/Version/Version.inc
@@ -1,6 +1,6 @@
-#define LLDB_VERSION 21.0.0git
-#define LLDB_VERSION_STRING "21.0.0git"
+#define LLDB_VERSION 21.1.7
+#define LLDB_VERSION_STRING "21.1.7"
#define LLDB_VERSION_MAJOR 21
-#define LLDB_VERSION_MINOR 0
-#define LLDB_VERSION_PATCH 0
+#define LLDB_VERSION_MINOR 1
+#define LLDB_VERSION_PATCH 7
/* #undef LLDB_FULL_VERSION_STRING */
diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h
index 15f894441ad5..ec6ec2639eb4 100644
--- a/lib/clang/include/llvm/Config/config.h
+++ b/lib/clang/include/llvm/Config/config.h
@@ -301,10 +301,10 @@
#define PACKAGE_NAME "LLVM"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "LLVM 21.0.0git"
+#define PACKAGE_STRING "LLVM 21.1.7"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "21.0.0git"
+#define PACKAGE_VERSION "21.1.7"
/* Define to the vendor of this package. */
/* #undef PACKAGE_VENDOR */
diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h
index ce34fbbb5444..15814802ceca 100644
--- a/lib/clang/include/llvm/Config/llvm-config.h
+++ b/lib/clang/include/llvm/Config/llvm-config.h
@@ -70,13 +70,13 @@
#define LLVM_VERSION_MAJOR 21
/* Minor version of the LLVM API */
-#define LLVM_VERSION_MINOR 0
+#define LLVM_VERSION_MINOR 1
/* Patch version of the LLVM API */
-#define LLVM_VERSION_PATCH 0
+#define LLVM_VERSION_PATCH 7
/* LLVM version string */
-#define LLVM_VERSION_STRING "21.0.0git"
+#define LLVM_VERSION_STRING "21.1.7"
/* Whether LLVM records statistics for use with GetStatistics(),
* PrintStatistics() or PrintStatisticsJSON()
diff --git a/lib/clang/include/llvm/Support/VCSRevision.h b/lib/clang/include/llvm/Support/VCSRevision.h
index fc80ed73caca..db985a98ee88 100644
--- a/lib/clang/include/llvm/Support/VCSRevision.h
+++ b/lib/clang/include/llvm/Support/VCSRevision.h
@@ -1,2 +1,2 @@
-#define LLVM_REVISION "llvmorg-21-init-19288-gface93e724f4"
+#define LLVM_REVISION "llvmorg-21.1.7-0-gcd708029e0b2"
#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
diff --git a/lib/libc++/Makefile b/lib/libc++/Makefile
index b70bca4e5e63..4e487f0e8457 100644
--- a/lib/libc++/Makefile
+++ b/lib/libc++/Makefile
@@ -124,6 +124,7 @@ STD_HEADERS+= __bit_reference
STD_HEADERS+= __config
STD_HEADERS+= __hash_table
STD_HEADERS+= __locale
+STD_HEADERS+= __log_hardening_failure
STD_HEADERS+= __mbstate_t.h
STD_HEADERS+= __node_handle
STD_HEADERS+= __split_buffer
@@ -2177,6 +2178,7 @@ TTR_HEADERS+= is_trivially_lexicographically_comparable.h
TTR_HEADERS+= is_trivially_relocatable.h
TTR_HEADERS+= is_unbounded_array.h
TTR_HEADERS+= is_union.h
+TTR_HEADERS+= is_unqualified.h
TTR_HEADERS+= is_unsigned.h
TTR_HEADERS+= is_valid_expansion.h
TTR_HEADERS+= is_void.h
diff --git a/lib/libc++/__assertion_handler b/lib/libc++/__assertion_handler
index f115658f9f3c..d352405e905b 100644
--- a/lib/libc++/__assertion_handler
+++ b/lib/libc++/__assertion_handler
@@ -16,6 +16,7 @@
# include <__cxx03/__verbose_trap>
#else
# include <__config>
+# include <__log_hardening_failure>
# include <__verbose_abort>
# include <__verbose_trap>
#endif
@@ -24,14 +25,40 @@
# pragma GCC system_header
#endif
-#if _LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_DEBUG
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
-# define _LIBCPP_ASSERTION_HANDLER(message) _LIBCPP_VERBOSE_ABORT("%s", message)
+// Keep the old implementation that doesn't support assertion semantics for backward compatibility with the frozen C++03
+// mode.
+# if _LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_DEBUG
+# define _LIBCPP_ASSERTION_HANDLER(message) _LIBCPP_VERBOSE_ABORT("%s", message)
+# else
+# define _LIBCPP_ASSERTION_HANDLER(message) _LIBCPP_VERBOSE_TRAP(message)
+# endif // _LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_DEBUG
#else
-# define _LIBCPP_ASSERTION_HANDLER(message) _LIBCPP_VERBOSE_TRAP(message)
+# if _LIBCPP_ASSERTION_SEMANTIC == _LIBCPP_ASSERTION_SEMANTIC_IGNORE
+# define _LIBCPP_ASSERTION_HANDLER(message) ((void)0)
+
+# elif _LIBCPP_ASSERTION_SEMANTIC == _LIBCPP_ASSERTION_SEMANTIC_OBSERVE
+# define _LIBCPP_ASSERTION_HANDLER(message) _LIBCPP_LOG_HARDENING_FAILURE(message)
+
+# elif _LIBCPP_ASSERTION_SEMANTIC == _LIBCPP_ASSERTION_SEMANTIC_QUICK_ENFORCE
+# define _LIBCPP_ASSERTION_HANDLER(message) _LIBCPP_VERBOSE_TRAP(message)
+
+# elif _LIBCPP_ASSERTION_SEMANTIC == _LIBCPP_ASSERTION_SEMANTIC_ENFORCE
+# define _LIBCPP_ASSERTION_HANDLER(message) _LIBCPP_VERBOSE_ABORT("%s", message)
+
+# else
+
+# error _LIBCPP_ASSERTION_SEMANTIC must be set to one of the following values: \
+_LIBCPP_ASSERTION_SEMANTIC_IGNORE, \
+_LIBCPP_ASSERTION_SEMANTIC_OBSERVE, \
+_LIBCPP_ASSERTION_SEMANTIC_QUICK_ENFORCE, \
+_LIBCPP_ASSERTION_SEMANTIC_ENFORCE
+
+# endif // _LIBCPP_ASSERTION_SEMANTIC == _LIBCPP_ASSERTION_SEMANTIC_IGNORE
-#endif // _LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_DEBUG
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP___ASSERTION_HANDLER
diff --git a/lib/libc++/libcxx.imp b/lib/libc++/libcxx.imp
index 0de57969247f..2803d160f8db 100644
--- a/lib/libc++/libcxx.imp
+++ b/lib/libc++/libcxx.imp
@@ -866,6 +866,7 @@
{ include: [ "<__type_traits/is_trivially_relocatable.h>", "private", "<type_traits>", "public" ] },
{ include: [ "<__type_traits/is_unbounded_array.h>", "private", "<type_traits>", "public" ] },
{ include: [ "<__type_traits/is_union.h>", "private", "<type_traits>", "public" ] },
+ { include: [ "<__type_traits/is_unqualified.h>", "private", "<type_traits>", "public" ] },
{ include: [ "<__type_traits/is_unsigned.h>", "private", "<type_traits>", "public" ] },
{ include: [ "<__type_traits/is_valid_expansion.h>", "private", "<type_traits>", "public" ] },
{ include: [ "<__type_traits/is_void.h>", "private", "<type_traits>", "public" ] },
diff --git a/lib/libc++/module.modulemap b/lib/libc++/module.modulemap
index 190f47201cd5..a6e6059ab60e 100644
--- a/lib/libc++/module.modulemap
+++ b/lib/libc++/module.modulemap
@@ -336,6 +336,7 @@ module std_core [system] {
header "__type_traits/is_union.h"
export std_core.type_traits.integral_constant
}
+ module is_unqualified { header "__type_traits/is_unqualified.h" }
module is_unsigned {
header "__type_traits/is_unsigned.h"
export std_core.type_traits.integral_constant
@@ -2353,6 +2354,9 @@ module std [system] {
header "__std_mbstate_t.h"
export *
}
+ module log_hardening_failure {
+ header "__log_hardening_failure"
+ }
module verbose_abort {
header "__verbose_abort"
}
diff --git a/lib/libclang_rt/asan/Makefile b/lib/libclang_rt/asan/Makefile
index b87d7a0bb1ad..4b917fc56882 100644
--- a/lib/libclang_rt/asan/Makefile
+++ b/lib/libclang_rt/asan/Makefile
@@ -26,6 +26,7 @@ SRCS+= asan/asan_stats.cpp
SRCS+= asan/asan_suppressions.cpp
SRCS+= asan/asan_thread.cpp
SRCS+= interception/interception_linux.cpp
+SRCS+= interception/interception_type_test.cpp
SRCS+= lsan/lsan_common.cpp
SRCS+= sanitizer_common/sancov_flags.cpp
SRCS+= sanitizer_common/sanitizer_allocator.cpp
@@ -67,6 +68,7 @@ SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp
SRCS+= sanitizer_common/sanitizer_termination.cpp
SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp
+SRCS+= sanitizer_common/sanitizer_thread_history.cpp
SRCS+= sanitizer_common/sanitizer_thread_registry.cpp
SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp
SRCS+= sanitizer_common/sanitizer_type_traits.cpp
diff --git a/lib/libclang_rt/asan_cxx/Makefile b/lib/libclang_rt/asan_cxx/Makefile
index 804e6ffd43db..6a3a90e938ea 100644
--- a/lib/libclang_rt/asan_cxx/Makefile
+++ b/lib/libclang_rt/asan_cxx/Makefile
@@ -5,8 +5,5 @@ LIB= clang_rt.asan_cxx-${CRTARCH}
CXXFLAGS+= -frtti
SRCS+= asan/asan_new_delete.cpp
-SRCS+= ubsan/ubsan_handlers_cxx.cpp
-SRCS+= ubsan/ubsan_type_hash.cpp
-SRCS+= ubsan/ubsan_type_hash_itanium.cpp
.include <bsd.lib.mk>
diff --git a/lib/libclang_rt/asan_dynamic/Makefile b/lib/libclang_rt/asan_dynamic/Makefile
index 198a61bfbb6a..e5ee3b6e470b 100644
--- a/lib/libclang_rt/asan_dynamic/Makefile
+++ b/lib/libclang_rt/asan_dynamic/Makefile
@@ -29,6 +29,7 @@ SRCS+= asan/asan_stats.cpp
SRCS+= asan/asan_suppressions.cpp
SRCS+= asan/asan_thread.cpp
SRCS+= interception/interception_linux.cpp
+SRCS+= interception/interception_type_test.cpp
SRCS+= lsan/lsan_common.cpp
SRCS+= sanitizer_common/sancov_flags.cpp
SRCS+= sanitizer_common/sanitizer_allocator.cpp
@@ -70,6 +71,7 @@ SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp
SRCS+= sanitizer_common/sanitizer_termination.cpp
SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp
+SRCS+= sanitizer_common/sanitizer_thread_history.cpp
SRCS+= sanitizer_common/sanitizer_thread_registry.cpp
SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp
SRCS+= sanitizer_common/sanitizer_type_traits.cpp
diff --git a/lib/libclang_rt/cfi/Makefile b/lib/libclang_rt/cfi/Makefile
index d101ff0296c4..262d4568c76e 100644
--- a/lib/libclang_rt/cfi/Makefile
+++ b/lib/libclang_rt/cfi/Makefile
@@ -4,6 +4,7 @@ LIB= clang_rt.cfi-${CRTARCH}
SRCS+= cfi/cfi.cpp
SRCS+= interception/interception_linux.cpp
+SRCS+= interception/interception_type_test.cpp
SRCS+= sanitizer_common/sanitizer_allocator.cpp
SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp
SRCS+= sanitizer_common/sanitizer_common.cpp
diff --git a/lib/libclang_rt/cfi_diag/Makefile b/lib/libclang_rt/cfi_diag/Makefile
index 0ac9a46c7a96..763826f8505a 100644
--- a/lib/libclang_rt/cfi_diag/Makefile
+++ b/lib/libclang_rt/cfi_diag/Makefile
@@ -4,6 +4,7 @@ LIB= clang_rt.cfi_diag-${CRTARCH}
SRCS+= cfi/cfi.cpp
SRCS+= interception/interception_linux.cpp
+SRCS+= interception/interception_type_test.cpp
SRCS+= sanitizer_common/sancov_flags.cpp
SRCS+= sanitizer_common/sanitizer_allocator.cpp
SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp
@@ -44,6 +45,7 @@ SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp
SRCS+= sanitizer_common/sanitizer_termination.cpp
SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp
+SRCS+= sanitizer_common/sanitizer_thread_history.cpp
SRCS+= sanitizer_common/sanitizer_thread_registry.cpp
SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp
SRCS+= sanitizer_common/sanitizer_type_traits.cpp
diff --git a/lib/libclang_rt/dd/Makefile b/lib/libclang_rt/dd/Makefile
index c0f0b3d3694e..1368c5c7da69 100644
--- a/lib/libclang_rt/dd/Makefile
+++ b/lib/libclang_rt/dd/Makefile
@@ -3,6 +3,7 @@
LIB= clang_rt.dd-${CRTARCH}
SRCS+= interception/interception_linux.cpp
+SRCS+= interception/interception_type_test.cpp
SRCS+= sanitizer_common/sanitizer_allocator.cpp
SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp
SRCS+= sanitizer_common/sanitizer_common.cpp
diff --git a/lib/libclang_rt/include/Makefile b/lib/libclang_rt/include/Makefile
index 7fe850fca57d..788be27bcb49 100644
--- a/lib/libclang_rt/include/Makefile
+++ b/lib/libclang_rt/include/Makefile
@@ -15,6 +15,7 @@ INCS+= lsan_interface.h
INCS+= memprof_interface.h
INCS+= msan_interface.h
INCS+= netbsd_syscall_hooks.h
+INCS+= rtsan_interface.h
INCS+= scudo_interface.h
INCS+= tsan_interface.h
INCS+= tsan_interface_atomic.h
diff --git a/lib/libclang_rt/msan/Makefile b/lib/libclang_rt/msan/Makefile
index 1c1911f2236f..8f830b1e60de 100644
--- a/lib/libclang_rt/msan/Makefile
+++ b/lib/libclang_rt/msan/Makefile
@@ -3,6 +3,7 @@
LIB= clang_rt.msan-${CRTARCH}
SRCS+= interception/interception_linux.cpp
+SRCS+= interception/interception_type_test.cpp
SRCS+= msan/msan.cpp
SRCS+= msan/msan_allocator.cpp
SRCS+= msan/msan_chained_origin_depot.cpp
@@ -52,6 +53,7 @@ SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp
SRCS+= sanitizer_common/sanitizer_termination.cpp
SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp
+SRCS+= sanitizer_common/sanitizer_thread_history.cpp
SRCS+= sanitizer_common/sanitizer_thread_registry.cpp
SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp
SRCS+= sanitizer_common/sanitizer_type_traits.cpp
diff --git a/lib/libclang_rt/msan_cxx/Makefile b/lib/libclang_rt/msan_cxx/Makefile
index 3e024e7c6c79..06586c56ee6f 100644
--- a/lib/libclang_rt/msan_cxx/Makefile
+++ b/lib/libclang_rt/msan_cxx/Makefile
@@ -3,9 +3,6 @@
LIB= clang_rt.msan_cxx-${CRTARCH}
SRCS+= msan/msan_new_delete.cpp
-SRCS+= ubsan/ubsan_handlers_cxx.cpp
-SRCS+= ubsan/ubsan_type_hash.cpp
-SRCS+= ubsan/ubsan_type_hash_itanium.cpp
.include <bsd.lib.mk>
diff --git a/lib/libclang_rt/safestack/Makefile b/lib/libclang_rt/safestack/Makefile
index 8c99724ec3db..d1f4c4ecb658 100644
--- a/lib/libclang_rt/safestack/Makefile
+++ b/lib/libclang_rt/safestack/Makefile
@@ -3,6 +3,7 @@
LIB= clang_rt.safestack-${CRTARCH}
SRCS+= interception/interception_linux.cpp
+SRCS+= interception/interception_type_test.cpp
SRCS+= safestack/safestack.cpp
.include <bsd.lib.mk>
diff --git a/lib/libclang_rt/stats/Makefile b/lib/libclang_rt/stats/Makefile
index 7124ab7c9682..586d0aaa218a 100644
--- a/lib/libclang_rt/stats/Makefile
+++ b/lib/libclang_rt/stats/Makefile
@@ -40,6 +40,7 @@ SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp
SRCS+= sanitizer_common/sanitizer_termination.cpp
SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp
+SRCS+= sanitizer_common/sanitizer_thread_history.cpp
SRCS+= sanitizer_common/sanitizer_thread_registry.cpp
SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp
SRCS+= sanitizer_common/sanitizer_type_traits.cpp
diff --git a/lib/libclang_rt/tsan/Makefile b/lib/libclang_rt/tsan/Makefile
index 573688dfac1e..09f09a1d0a98 100644
--- a/lib/libclang_rt/tsan/Makefile
+++ b/lib/libclang_rt/tsan/Makefile
@@ -3,6 +3,7 @@
LIB= clang_rt.tsan-${CRTARCH}
SRCS+= interception/interception_linux.cpp
+SRCS+= interception/interception_type_test.cpp
SRCS+= sanitizer_common/sancov_flags.cpp
SRCS+= sanitizer_common/sanitizer_allocator.cpp
SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp
@@ -43,6 +44,7 @@ SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp
SRCS+= sanitizer_common/sanitizer_termination.cpp
SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp
+SRCS+= sanitizer_common/sanitizer_thread_history.cpp
SRCS+= sanitizer_common/sanitizer_thread_registry.cpp
SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp
SRCS+= sanitizer_common/sanitizer_type_traits.cpp
diff --git a/lib/libclang_rt/tsan_cxx/Makefile b/lib/libclang_rt/tsan_cxx/Makefile
index a95ee30701d8..e1e587146ee3 100644
--- a/lib/libclang_rt/tsan_cxx/Makefile
+++ b/lib/libclang_rt/tsan_cxx/Makefile
@@ -3,12 +3,5 @@
LIB= clang_rt.tsan_cxx-${CRTARCH}
SRCS+= tsan/rtl/tsan_new_delete.cpp
-SRCS+= ubsan/ubsan_handlers_cxx.cpp
-SRCS+= ubsan/ubsan_type_hash.cpp
-SRCS+= ubsan/ubsan_type_hash_itanium.cpp
.include <bsd.lib.mk>
-
-CXXFLAGS.ubsan_handlers_cxx.cpp= -frtti
-CXXFLAGS.ubsan_type_hash.cpp= -frtti
-CXXFLAGS.ubsan_type_hash_itanium.cpp= -frtti
diff --git a/lib/libclang_rt/ubsan_standalone/Makefile b/lib/libclang_rt/ubsan_standalone/Makefile
index 935c03d2005f..301d6f3ed0da 100644
--- a/lib/libclang_rt/ubsan_standalone/Makefile
+++ b/lib/libclang_rt/ubsan_standalone/Makefile
@@ -3,6 +3,7 @@
LIB= clang_rt.ubsan_standalone-${CRTARCH}
SRCS+= interception/interception_linux.cpp
+SRCS+= interception/interception_type_test.cpp
SRCS+= sanitizer_common/sancov_flags.cpp
SRCS+= sanitizer_common/sanitizer_allocator.cpp
SRCS+= sanitizer_common/sanitizer_allocator_checks.cpp
@@ -43,6 +44,7 @@ SRCS+= sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
SRCS+= sanitizer_common/sanitizer_symbolizer_report.cpp
SRCS+= sanitizer_common/sanitizer_termination.cpp
SRCS+= sanitizer_common/sanitizer_thread_arg_retval.cpp
+SRCS+= sanitizer_common/sanitizer_thread_history.cpp
SRCS+= sanitizer_common/sanitizer_thread_registry.cpp
SRCS+= sanitizer_common/sanitizer_tls_get_addr.cpp
SRCS+= sanitizer_common/sanitizer_type_traits.cpp
diff --git a/lib/libomp/kmp_config.h b/lib/libomp/kmp_config.h
index 9caf4b8cdf44..517d8f8ce686 100644
--- a/lib/libomp/kmp_config.h
+++ b/lib/libomp/kmp_config.h
@@ -168,7 +168,7 @@
#define KMP_ASM_INTRINS 1
#define USE_ITT_BUILD LIBOMP_USE_ITT_NOTIFY
#define INTEL_ITTNOTIFY_PREFIX __kmp_itt_
-#if ! KMP_MIC
+#if ! (KMP_MIC || KMP_OS_HAIKU)
# define USE_LOAD_BALANCE 1
#endif
#if ! (KMP_OS_WINDOWS || KMP_OS_DARWIN)
diff --git a/lib/libomp/omp.h b/lib/libomp/omp.h
index 493e0e86e8dc..d1d513d22345 100644
--- a/lib/libomp/omp.h
+++ b/lib/libomp/omp.h
@@ -15,8 +15,14 @@
#ifndef __OMP_H
# define __OMP_H
+# ifndef __has_include
+# define __has_include(x) 0
+# endif
+
# include <stddef.h>
-# include <stdlib.h>
+# if (__has_include(<stdlib.h>))
+# include <stdlib.h>
+# endif
# include <stdint.h>
# define KMP_VERSION_MAJOR 5
@@ -333,7 +339,13 @@
omp_atk_fallback = 5,
omp_atk_fb_data = 6,
omp_atk_pinned = 7,
- omp_atk_partition = 8
+ omp_atk_partition = 8,
+ omp_atk_pin_device = 9,
+ omp_atk_preferred_device = 10,
+ omp_atk_device_access = 11,
+ omp_atk_target_access = 12,
+ omp_atk_atomic_scope = 13,
+ omp_atk_part_size = 14
} omp_alloctrait_key_t;
typedef enum {
@@ -344,7 +356,7 @@
omp_atv_serialized = 5,
omp_atv_sequential = omp_atv_serialized, // (deprecated)
omp_atv_private = 6,
- omp_atv_all = 7,
+ omp_atv_device = 7,
omp_atv_thread = 8,
omp_atv_pteam = 9,
omp_atv_cgroup = 10,
@@ -355,7 +367,11 @@
omp_atv_environment = 15,
omp_atv_nearest = 16,
omp_atv_blocked = 17,
- omp_atv_interleaved = 18
+ omp_atv_interleaved = 18,
+ omp_atv_all = 19,
+ omp_atv_single = 20,
+ omp_atv_multiple = 21,
+ omp_atv_memspace = 22
} omp_alloctrait_value_t;
#define omp_atv_default ((omp_uintptr_t)-1)
@@ -381,6 +397,7 @@
extern __KMP_IMP omp_allocator_handle_t const llvm_omp_target_device_mem_alloc;
typedef omp_uintptr_t omp_memspace_handle_t;
+ extern __KMP_IMP omp_memspace_handle_t const omp_null_mem_space;
extern __KMP_IMP omp_memspace_handle_t const omp_default_mem_space;
extern __KMP_IMP omp_memspace_handle_t const omp_large_cap_mem_space;
extern __KMP_IMP omp_memspace_handle_t const omp_const_mem_space;
@@ -416,7 +433,8 @@
typedef enum omp_memspace_handle_t
# endif
{
- omp_default_mem_space = 0,
+ omp_null_mem_space = 0,
+ omp_default_mem_space = 99,
omp_large_cap_mem_space = 1,
omp_const_mem_space = 2,
omp_high_bw_mem_space = 3,
@@ -457,6 +475,20 @@
extern void __KAI_KMPC_CONVENTION omp_free(void *ptr, omp_allocator_handle_t a);
# endif
+ /* OpenMP TR11 routines to get memory spaces and allocators */
+ extern omp_memspace_handle_t omp_get_devices_memspace(int ndevs, const int *devs, omp_memspace_handle_t memspace);
+ extern omp_memspace_handle_t omp_get_device_memspace(int dev, omp_memspace_handle_t memspace);
+ extern omp_memspace_handle_t omp_get_devices_and_host_memspace(int ndevs, const int *devs, omp_memspace_handle_t memspace);
+ extern omp_memspace_handle_t omp_get_device_and_host_memspace(int dev, omp_memspace_handle_t memspace);
+ extern omp_memspace_handle_t omp_get_devices_all_memspace(omp_memspace_handle_t memspace);
+ extern omp_allocator_handle_t omp_get_devices_allocator(int ndevs, const int *devs, omp_memspace_handle_t memspace);
+ extern omp_allocator_handle_t omp_get_device_allocator(int dev, omp_memspace_handle_t memspace);
+ extern omp_allocator_handle_t omp_get_devices_and_host_allocator(int ndevs, const int *devs, omp_memspace_handle_t memspace);
+ extern omp_allocator_handle_t omp_get_device_and_host_allocator(int dev, omp_memspace_handle_t memspace);
+ extern omp_allocator_handle_t omp_get_devices_all_allocator(omp_memspace_handle_t memspace);
+ extern int omp_get_memspace_num_resources(omp_memspace_handle_t memspace);
+ extern omp_memspace_handle_t omp_get_submemspace(omp_memspace_handle_t memspace, int num_resources, int *resources);
+
/* OpenMP 5.0 Affinity Format */
extern void __KAI_KMPC_CONVENTION omp_set_affinity_format(char const *);
extern size_t __KAI_KMPC_CONVENTION omp_get_affinity_format(char *, size_t);
@@ -476,7 +508,8 @@
typedef enum omp_pause_resource_t {
omp_pause_resume = 0,
omp_pause_soft = 1,
- omp_pause_hard = 2
+ omp_pause_hard = 2,
+ omp_pause_stop_tool = 3
} omp_pause_resource_t;
extern int __KAI_KMPC_CONVENTION omp_pause_resource(omp_pause_resource_t, int);
extern int __KAI_KMPC_CONVENTION omp_pause_resource_all(omp_pause_resource_t);