From e37e1a7d2007bd6896027b69271774da2568e6f8 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Fri, 1 Jul 2022 19:45:19 +0200 Subject: external/libnumbertext: Silence -Werror,-Wdeprecated-declarations ...as seen now with LLVM 15 trunk libc++, which marks the std::codecvt_utf8 and std::wstring_convert functionality, deprecated since C++17, as such ( "[libc++] Implement P0618R0 (Deprecating )") Change-Id: Id34e3fea540b76591ead8ba3df4c31a71d7b4aaf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136776 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- .../libnumbertext/UnpackedTarball_libnumbertext.mk | 1 + external/libnumbertext/deprecated.patch.0 | 49 ++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 external/libnumbertext/deprecated.patch.0 (limited to 'external') diff --git a/external/libnumbertext/UnpackedTarball_libnumbertext.mk b/external/libnumbertext/UnpackedTarball_libnumbertext.mk index 3a7a7ff6d85a..583b26308675 100644 --- a/external/libnumbertext/UnpackedTarball_libnumbertext.mk +++ b/external/libnumbertext/UnpackedTarball_libnumbertext.mk @@ -22,6 +22,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,libnumbertext, \ external/libnumbertext/MSVCNonBMPBug.patch1 \ external/libnumbertext/WinUnicodePath.patch1 \ external/libnumbertext/EmptyString.patch1 \ + external/libnumbertext/deprecated.patch.0 \ )) # vim: set noet sw=4 ts=4: diff --git a/external/libnumbertext/deprecated.patch.0 b/external/libnumbertext/deprecated.patch.0 new file mode 100644 index 000000000000..1fe5c214f602 --- /dev/null +++ b/external/libnumbertext/deprecated.patch.0 @@ -0,0 +1,49 @@ +--- src/Numbertext.cxx ++++ src/Numbertext.cxx +@@ -41,7 +41,14 @@ + std::wifstream wif(filename); + if (wif.fail()) + return false; ++#if defined __GNUC__ ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wdeprecated-declarations" ++#endif + wif.imbue(std::locale(std::locale(), new std::codecvt_utf8)); ++#if defined __GNUC__ ++#pragma GCC diagnostic pop ++#endif + std::wstringstream wss; + wss << wif.rdbuf(); + result = wss.str(); +@@ -122,8 +129,15 @@ + MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, wstr.get(), nSize); + return wstr.get(); + #elif !defined NUMBERTEXT_BOOST ++#if defined __GNUC__ ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wdeprecated-declarations" ++#endif + typedef std::codecvt_utf8 convert_type; + std::wstring_convert converter; ++#if defined __GNUC__ ++#pragma GCC diagnostic pop ++#endif + return converter.from_bytes( s ); + #else + return ::locale::conv::utf_to_utf(s.c_str(), s.c_str() + s.size()); +@@ -138,8 +152,15 @@ + WideCharToMultiByte(CP_UTF8, 0, s.c_str(), -1, str.get(), nSize, nullptr, nullptr); + return str.get(); + #elif !defined NUMBERTEXT_BOOST ++#if defined __GNUC__ ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wdeprecated-declarations" ++#endif + typedef std::codecvt_utf8 convert_type; + std::wstring_convert converter; ++#if defined __GNUC__ ++#pragma GCC diagnostic pop ++#endif + return converter.to_bytes( s ); + #else + return ::locale::conv::utf_to_utf(s.c_str(), s.c_str() + s.size()); -- cgit