23a8d5ffbb
<https://dev-www.libreoffice.org/src/boost_1_69_0.tar.bz2> is a copy of
<https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.bz2>,
SHA256 hash as given at <https://www.boost.org/users/download/>.
* removed from external/boost/include/boost/ those files that are no longer
present in workdir/UnpackedTarball/boost/boost/
* the shrunk external/boost/rtti.patch.0 can probably be removed completely in a
follow-up commit
* the patch to libs/filesystem/src/operations.cpp in
external/boost/boost-android-unified.patch.1 no longer applied, and appears to
be no longer necessary anyway (seeing a working build without it of
--with-distro=LibreOfficeAndroid and NDK r16b); but with the non-standard
Clang 5.0.300080 from NDK r16b, the build now caused failures like
> workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:36:11: error: class template partial specialization contains a template parameter that cannot be deduced; this partial specialization will never be used [-Wunusable-partial-specialization]
> struct is_function<Ret BOOST_TT_DEF_CALL(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:35:38: note: non-deducible template parameter 'NE'
> template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
> ^
> workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:22:40: note: expanded from macro 'BOOST_TT_NOEXCEPT_PARAM'
> #define BOOST_TT_NOEXCEPT_PARAM , bool NE
> ^
showing that that version of Clang has the same problem handling noexcept(b)
as a deduced template parameter as MSVC has, as already supported by the code
* new external/boost/sse.patch.0 needed on Windows x86 to silence errors like
> C:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/type_traits/detail/is_function_cxx_11.hpp(111): error C2215: '__vectorcall' cannot be used with '/arch:SSE'
(<https://ci.libreoffice.org/job/gerrit_windows/26117/>); according to
<https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros
?view=vs-2017>: "_M_IX86_FP Defined as an integer literal value that indicates
the /arch compiler option that was set, or the default. This macro is always
defined when the compilation target is an x86 processor. Otherwise, undefined.
When defined, the value is: [...] 1 if the /arch:SSE compiler option was set."
and we specify /arch:SSE explicitly for Windows x86 since
8bd6bf93b7
"fdo#82430: configure: MSVC build:
avoid using SSE2 instructions"
* boost::logic::tribool conversion operator to bool is explicit now
Change-Id: Iea49560d734f545539f062dce46740fbf812dd84
Reviewed-on: https://gerrit.libreoffice.org/66189
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
51 lines
2.4 KiB
Diff
51 lines
2.4 KiB
Diff
diff -ru boost.orig/boost/libs/locale/src/encoding/codepage.cpp boost/boost/libs/locale/src/encoding/codepage.cpp
|
|
--- foo/misc/boost.orig/libs/locale/src/encoding/codepage.cpp
|
|
+++ foo/misc/boost/libs/locale/src/encoding/codepage.cpp
|
|
@@ -39,6 +39,7 @@
|
|
char const *from_charset,
|
|
method_type how)
|
|
{
|
|
+ #if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV)
|
|
hold_ptr<converter_between> cvt;
|
|
#ifdef BOOST_LOCALE_WITH_ICONV
|
|
cvt.reset(new iconv_between());
|
|
@@ -55,6 +56,7 @@
|
|
if(cvt->open(to_charset,from_charset,how))
|
|
return cvt->convert(begin,end);
|
|
#endif
|
|
+ #endif
|
|
throw invalid_charset_error(std::string(to_charset) + " or " + from_charset);
|
|
}
|
|
|
|
@@ -65,6 +67,7 @@
|
|
char const *charset,
|
|
method_type how)
|
|
{
|
|
+ #if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV)
|
|
hold_ptr<converter_to_utf<CharType> > cvt;
|
|
#ifdef BOOST_LOCALE_WITH_ICONV
|
|
cvt.reset(new iconv_to_utf<CharType>());
|
|
@@ -81,6 +84,7 @@
|
|
if(cvt->open(charset,how))
|
|
return cvt->convert(begin,end);
|
|
#endif
|
|
+ #endif
|
|
throw invalid_charset_error(charset);
|
|
}
|
|
|
|
@@ -91,6 +95,7 @@
|
|
char const *charset,
|
|
method_type how)
|
|
{
|
|
+ #if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV)
|
|
hold_ptr<converter_from_utf<CharType> > cvt;
|
|
#ifdef BOOST_LOCALE_WITH_ICONV
|
|
cvt.reset(new iconv_from_utf<CharType>());
|
|
@@ -107,6 +112,7 @@
|
|
if(cvt->open(charset,how))
|
|
return cvt->convert(begin,end);
|
|
#endif
|
|
+ #endif
|
|
throw invalid_charset_error(charset);
|
|
}
|
|
|