upgrade llvm version to 17.0.6 and set default nuttx math lib as default

This commit is contained in:
ThomasNS 2023-12-01 14:25:59 +01:00 committed by Xiang Xiao
parent b3867d5230
commit 224be61f5a
4 changed files with 76 additions and 11 deletions

View File

@ -84,7 +84,7 @@ config LIBCXXABI_VERSION
string "Select libcxxabi version" string "Select libcxxabi version"
depends on LIBCXXABI depends on LIBCXXABI
default LIBCXX_VERSION if LIBCXX default LIBCXX_VERSION if LIBCXX
default "15.0.7" if !LIBCXX default "17.0.6" if !LIBCXX
endif endif
@ -117,6 +117,6 @@ endif
config LIBCXX_VERSION config LIBCXX_VERSION
string "Select libcxx version" string "Select libcxx version"
depends on LIBCXX depends on LIBCXX
default "15.0.7" default "17.0.6"
endif endif

View File

@ -9,10 +9,6 @@
#ifndef _LIBCPP___CONFIG_SITE #ifndef _LIBCPP___CONFIG_SITE
#define _LIBCPP___CONFIG_SITE #define _LIBCPP___CONFIG_SITE
/* The following is generated from include/__config_site.in
* in Ubunutu 22.0.4 with g++ 11.3.0.
*/
#define _LIBCPP_ABI_VERSION 1 #define _LIBCPP_ABI_VERSION 1
#define _LIBCPP_ABI_NAMESPACE __1 #define _LIBCPP_ABI_NAMESPACE __1
/* #undef _LIBCPP_ABI_FORCE_ITANIUM */ /* #undef _LIBCPP_ABI_FORCE_ITANIUM */
@ -23,18 +19,24 @@
/* #undef _LIBCPP_HAS_THREAD_API_PTHREAD */ /* #undef _LIBCPP_HAS_THREAD_API_PTHREAD */
/* #undef _LIBCPP_HAS_THREAD_API_EXTERNAL */ /* #undef _LIBCPP_HAS_THREAD_API_EXTERNAL */
/* #undef _LIBCPP_HAS_THREAD_API_WIN32 */ /* #undef _LIBCPP_HAS_THREAD_API_WIN32 */
/* #undef _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL */
/* #undef _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS */ /* #undef _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS */
#define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS #define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
/* #undef _LIBCPP_NO_VCRUNTIME */ /* #undef _LIBCPP_NO_VCRUNTIME */
/* #undef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION */ /* #undef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION */
/* #undef _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY */ /* #undef _LIBCPP_HAS_NO_FILESYSTEM */
/* #undef _LIBCPP_HAS_PARALLEL_ALGORITHMS */
/* #undef _LIBCPP_HAS_NO_RANDOM_DEVICE */ /* #undef _LIBCPP_HAS_NO_RANDOM_DEVICE */
/* #undef _LIBCPP_HAS_NO_LOCALIZATION */ /* #undef _LIBCPP_HAS_NO_LOCALIZATION */
/* #undef _LIBCPP_HAS_NO_WIDE_CHARACTERS */ /* #undef _LIBCPP_HAS_NO_WIDE_CHARACTERS */
#define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0 #define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0
/* #undef _LIBCPP_ENABLE_DEBUG_MODE */
// PSTL backends
#define _LIBCPP_PSTL_CPU_BACKEND_SERIAL
/* #undef _LIBCPP_PSTL_CPU_BACKEND_THREAD */
/* #undef _LIBCPP_PSTL_CPU_BACKEND_LIBDISPATCH */
// Hardening.
#define _LIBCPP_ENABLE_HARDENED_MODE_DEFAULT 0
#define _LIBCPP_ENABLE_DEBUG_MODE_DEFAULT 0
// __USE_MINGW_ANSI_STDIO gets redefined on MinGW // __USE_MINGW_ANSI_STDIO gets redefined on MinGW
#ifdef __clang__ #ifdef __clang__
@ -49,4 +51,6 @@
# pragma clang diagnostic pop # pragma clang diagnostic pop
#endif #endif
#define _SYS_REENT_H_
#endif // _LIBCPP___CONFIG_SITE #endif // _LIBCPP___CONFIG_SITE

View File

@ -29,6 +29,7 @@ libcxx: libcxx-$(LIBCXX_VERSION).src.tar.xz
$(Q) tar -xf libcxx-$(LIBCXX_VERSION).src.tar.xz \ $(Q) tar -xf libcxx-$(LIBCXX_VERSION).src.tar.xz \
--exclude libcxx-$(LIBCXX_VERSION).src/test/std/pstl --exclude libcxx-$(LIBCXX_VERSION).src/test/std/pstl
$(Q) mv libcxx-$(LIBCXX_VERSION).src libcxx $(Q) mv libcxx-$(LIBCXX_VERSION).src libcxx
$(Q) patch -p2 < mbstate_t.patch
$(Q) touch $@ $(Q) touch $@
endif endif
@ -79,7 +80,7 @@ libcxx/src/filesystem/operations.cpp_CXXFLAGS += -Wno-shadow
# | ^~~~~~ # | ^~~~~~
ifeq ($(GCCVER),) ifeq ($(GCCVER),)
export GCCVER = $(shell $(CXX) --version | grep g++ | sed -E 's/.* ([0-9]+\.[0-9]+).*/\1/' | cut -d'.' -f1) export GCCVER = $(shell $(CXX) --version | grep ++ | sed -E 's/.* ([0-9]+\.[0-9]+).*/\1/' | cut -d'.' -f1)
endif endif
ifeq ($(GCCVER),12) ifeq ($(GCCVER),12)
@ -135,7 +136,50 @@ ifeq ($(GCCVER),12)
libcxx/src/locale.cpp_CXXFLAGS += -Wno-attributes libcxx/src/locale.cpp_CXXFLAGS += -Wno-attributes
endif endif
# warning on gcc >= 12.3.Rel1
# libcxx/src/string.cpp:58:33: warning: 'template<class _CharT> struct std::__1::char_traits' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it. [-Wdeprecated-declarations]
# 58 | template string operator+<char, char_traits<char>, allocator<char>>(char const*, string const&);
ifeq ($(shell expr $(GCCVER) \>= 12), 1)
libcxx/src/string.cpp_CXXFLAGS += -Wno-deprecated-declarations
endif
# warning on gcc >= 12.3.Rel1
# libcxx/src/filesystem/path.cpp:14:
# libcxx/src/filesystem/path_parser.h: In constructor 'std::__1::__fs::filesystem::parser::PathParser::PathParser(std::__1::__fs::filesystem::parser::string_view_t, ParserState)':
# libcxx/src/filesystem/path_parser.h:58:43: warning: declaration of 'State' shadows a member of 'std::__1::__fs::filesystem::parser::PathParser' [-Wshadow]
# 58 | PathParser(string_view_t P, ParserState State) noexcept : Path(P),
# | ~~~~~~~~~~~~^~~~~
# libcxx/src/filesystem/path_parser.h:55:15: note: shadowed declaration is here
# 55 | ParserState State;
# | ^~~~~
# libcxx/src/filesystem/path_parser.h: In constructor 'std::__1::__fs::filesystem::parser::PathParser::PathParser(std::__1::__fs::filesystem::parser::string_view_t, ParserState)':
# libcxx/src/filesystem/path_parser.h:58:43: warning: declaration of 'State' shadows a member of 'std::__1::__fs::filesystem::parser::PathParser' [-Wshadow]
# 58 | PathParser(string_view_t P, ParserState State) noexcept : Path(P),
# | ~~~~~~~~~~~~^~~~~
# libcxx/src/filesystem/path_parser.h:55:15: note: shadowed declaration is here
# 55 | ParserState State;
# | ^~~~~
# libcxx/src/filesystem/path_parser.h: In constructor 'std::__1::__fs::filesystem::parser::PathParser::PathParser(std::__1::__fs::filesystem::parser::string_view_t, ParserState)':
# libcxx/src/filesystem/path_parser.h:58:43: warning: declaration of 'State' shadows a member of 'std::__1::__fs::filesystem::parser::PathParser' [-Wshadow]
# 58 | PathParser(string_view_t P, ParserState State) noexcept : Path(P),
# | ~~~~~~~~~~~~^~~~~
# libcxx/src/filesystem/path_parser.h:55:15: note: shadowed declaration is here
# 55 | ParserState State;
# | ^~~~~
ifeq ($(shell expr $(GCCVER) \>= 12), 1)
libcxx/src/filesystem/path.cpp_CXXFLAGS += -Wno-shadow
endif
# warning on gcc >= 12.3.Rel1
# libcxx/src/ryu/d2s.cpp:490:31: warning: '_Trailing_zero_bits' may be used uninitialized [-Wmaybe-uninitialized]
# 490 | _Trailing_zero_bits += 32;
# | ~~~~~~~~~~~~~~~~~~~~^~~~~
ifeq ($(shell expr $(GCCVER) \>= 12), 1)
libcxx/src/ryu/d2s.cpp_CXXFLAGS += -Wno-maybe-uninitialized
endif
CPPSRCS += $(wildcard libcxx/src/*.cpp) CPPSRCS += $(wildcard libcxx/src/*.cpp)
CPPSRCS += $(wildcard libcxx/src/experimental/*.cpp) CPPSRCS += $(wildcard libcxx/src/experimental/*.cpp)
CPPSRCS += $(wildcard libcxx/src/filesystem/*.cpp) CPPSRCS += $(wildcard libcxx/src/filesystem/*.cpp)
CPPSRCS += $(wildcard libcxx/src/ryu/*.cpp)

View File

@ -0,0 +1,17 @@
--- libs/libxx/libcxx/include/__mbstate_t.h 2023-11-28 09:52:28.000000000 +0100
+++ libs/libxx/libcxx/include/__mbstate_t.h 2023-12-05 16:14:46.523689408 +0100
@@ -39,12 +39,12 @@
# define __NEED_mbstate_t
# include <bits/alltypes.h>
# undef __NEED_mbstate_t
+#elif !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) && __has_include_next(<wchar.h>)
+# include_next <wchar.h> // fall back to the C standard provider of mbstate_t
#elif __has_include(<bits/types/mbstate_t.h>)
# include <bits/types/mbstate_t.h> // works on most Unixes
#elif __has_include(<sys/_types/_mbstate_t.h>)
# include <sys/_types/_mbstate_t.h> // works on Darwin
-#elif !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) && __has_include_next(<wchar.h>)
-# include_next <wchar.h> // fall back to the C standard provider of mbstate_t
#elif __has_include_next(<uchar.h>)
# include_next <uchar.h> // <uchar.h> is also required to make mbstate_t visible
#else