Accepting request 213049 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/213049 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/boost?expand=0&rev=85
This commit is contained in:
commit
e5c5fa5bd4
237
boost-1.54-change85160.patch
Normal file
237
boost-1.54-change85160.patch
Normal file
@ -0,0 +1,237 @@
|
||||
Index: boost/lexical_cast.hpp
|
||||
===================================================================
|
||||
--- boost/lexical_cast.hpp (revision 84183)
|
||||
+++ boost/lexical_cast.hpp (revision 85160)
|
||||
@@ -69,9 +69,4 @@
|
||||
throw_exception(bad_lexical_cast(typeid(Source), typeid(Target)))
|
||||
#endif
|
||||
-
|
||||
-#if (defined(BOOST_LCAST_HAS_INT128) && !defined(__GNUC__)) || GCC_VERSION > 40700
|
||||
-#define BOOST_LCAST_HAS_INT128
|
||||
-#endif
|
||||
-
|
||||
|
||||
namespace boost
|
||||
@@ -317,5 +312,5 @@
|
||||
#endif
|
||||
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
template <> struct stream_char_common< boost::int128_type >: public boost::mpl::identity< char > {};
|
||||
template <> struct stream_char_common< boost::uint128_type >: public boost::mpl::identity< char > {};
|
||||
@@ -614,5 +609,5 @@
|
||||
BOOST_LCAST_DEF( __int64)
|
||||
#endif
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
BOOST_LCAST_DEF(boost::int128_type)
|
||||
BOOST_LCAST_DEF(boost::uint128_type)
|
||||
@@ -880,4 +875,13 @@
|
||||
#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
BOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed);
|
||||
+
|
||||
+ // GCC when used with flag -std=c++0x may not have std::numeric_limits
|
||||
+ // specializations for __int128 and unsigned __int128 types.
|
||||
+ // Try compilation with -std=gnu++0x or -std=gnu++11.
|
||||
+ //
|
||||
+ // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40856
|
||||
+ BOOST_STATIC_ASSERT_MSG(std::numeric_limits<T>::is_specialized,
|
||||
+ "std::numeric_limits are not specialized for integral type passed to boost::lexical_cast"
|
||||
+ );
|
||||
#endif
|
||||
CharT const czero = lcast_char_constants<CharT>::zero;
|
||||
@@ -1828,5 +1832,5 @@
|
||||
#endif
|
||||
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
bool operator<<(const boost::uint128_type& n) { start = lcast_put_unsigned<Traits>(n, finish); return true; }
|
||||
bool operator<<(const boost::int128_type& n) { return shl_signed(n); }
|
||||
@@ -2040,5 +2044,5 @@
|
||||
#endif
|
||||
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
bool operator>>(boost::uint128_type& output) { return shr_unsigned(output); }
|
||||
bool operator>>(boost::int128_type& output) { return shr_signed(output); }
|
||||
@@ -2554,5 +2558,5 @@
|
||||
}
|
||||
#endif
|
||||
-#ifndef BOOST_NO_CHAR16_T
|
||||
+#ifndef BOOST_NO_CXX11_CHAR16_T
|
||||
template <typename Target>
|
||||
inline Target lexical_cast(const char16_t* chars, std::size_t count)
|
||||
@@ -2563,5 +2567,5 @@
|
||||
}
|
||||
#endif
|
||||
-#ifndef BOOST_NO_CHAR32_T
|
||||
+#ifndef BOOST_NO_CXX11_CHAR32_T
|
||||
template <typename Target>
|
||||
inline Target lexical_cast(const char32_t* chars, std::size_t count)
|
||||
@@ -2720,5 +2724,4 @@
|
||||
#undef BOOST_LCAST_THROW_BAD_CAST
|
||||
#undef BOOST_LCAST_NO_WCHAR_T
|
||||
-#undef BOOST_LCAST_HAS_INT128
|
||||
|
||||
#endif // BOOST_LEXICAL_CAST_INCLUDED
|
||||
Index: libs/conversion/test/lexical_cast_integral_types_test.cpp
|
||||
===================================================================
|
||||
--- libs/conversion/test/lexical_cast_integral_types_test.cpp (revision 83764)
|
||||
+++ libs/conversion/test/lexical_cast_integral_types_test.cpp (revision 85160)
|
||||
@@ -49,8 +49,4 @@
|
||||
#endif
|
||||
|
||||
-#if (defined(BOOST_LCAST_HAS_INT128) && !defined(__GNUC__)) || GCC_VERSION > 40700
|
||||
-#define BOOST_LCAST_HAS_INT128
|
||||
-#endif
|
||||
-
|
||||
// Test all 65536 values if true:
|
||||
bool const lcast_test_small_integral_types_completely = false;
|
||||
@@ -76,5 +72,5 @@
|
||||
void test_conversion_from_to_ulonglong();
|
||||
#endif
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
void test_conversion_from_to_int128();
|
||||
void test_conversion_from_to_uint128();
|
||||
@@ -100,5 +96,5 @@
|
||||
suite->add(BOOST_TEST_CASE(&test_conversion_from_to_ulonglong));
|
||||
#endif
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
suite->add(BOOST_TEST_CASE(&test_conversion_from_to_int128));
|
||||
suite->add(BOOST_TEST_CASE(&test_conversion_from_to_uint128));
|
||||
@@ -445,6 +441,6 @@
|
||||
|
||||
// Overflow test case from David W. Birdsall
|
||||
- std::string must_owerflow_str = "160000000000000000000";
|
||||
- std::string must_owerflow_negative_str = "-160000000000000000000";
|
||||
+ std::string must_owerflow_str = (sizeof(T) < 16 ? "160000000000000000000" : "1600000000000000000000000000000000000000");
|
||||
+ std::string must_owerflow_negative_str = (sizeof(T) < 16 ? "-160000000000000000000" : "-1600000000000000000000000000000000000000");
|
||||
for (int i = 0; i < 15; ++i) {
|
||||
BOOST_CHECK_THROW(lexical_cast<T>(must_owerflow_str), bad_lexical_cast);
|
||||
@@ -558,13 +554,32 @@
|
||||
|
||||
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
+
|
||||
+template <bool Specialized, class T>
|
||||
+struct test_if_specialized {
|
||||
+ static void test() {}
|
||||
+};
|
||||
+
|
||||
+template <class T>
|
||||
+struct test_if_specialized<true, T> {
|
||||
+ static void test() {
|
||||
+ test_conversion_from_to_integral_minimal<T>();
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
void test_conversion_from_to_int128()
|
||||
{
|
||||
- test_conversion_from_to_integral_minimal<boost::int128_type>();
|
||||
+ test_if_specialized<
|
||||
+ std::numeric_limits<boost::int128_type>::is_specialized,
|
||||
+ boost::int128_type
|
||||
+ >::test();
|
||||
}
|
||||
|
||||
void test_conversion_from_to_uint128()
|
||||
{
|
||||
- test_conversion_from_to_integral_minimal<boost::uint128_type>();
|
||||
+ test_if_specialized<
|
||||
+ std::numeric_limits<boost::int128_type>::is_specialized,
|
||||
+ boost::uint128_type
|
||||
+ >::test();
|
||||
}
|
||||
#endif
|
||||
@@ -603,5 +618,5 @@
|
||||
#endif
|
||||
|
||||
-#ifdef BOOST_LCAST_HAS_INT128
|
||||
+#ifdef BOOST_HAS_INT128
|
||||
test_integral_conversions_on_min_max_impl<boost::int128_type>();
|
||||
#endif
|
||||
Index: libs/conversion/test/Jamfile.v2
|
||||
===================================================================
|
||||
--- libs/conversion/test/Jamfile.v2 (revision 83689)
|
||||
+++ libs/conversion/test/Jamfile.v2 (revision 85160)
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2001-2003 Douglas Gregor
|
||||
-# Copyright (C) 2011-2012 Antony Polukhin
|
||||
+# Copyright (C) 2011-2013 Antony Polukhin
|
||||
#
|
||||
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
@@ -16,4 +16,9 @@
|
||||
<toolset>gcc-4.6:<cxxflags>-ftrapv
|
||||
<toolset>clang:<cxxflags>-ftrapv
|
||||
+ # default to all warnings on:
|
||||
+ <warnings>all
|
||||
+ # set warnings as errors for those compilers we know we get warning free:
|
||||
+ <toolset>gcc:<cxxflags>-Wextra
|
||||
+ <toolset>gcc:<cxxflags>-Wno-uninitialized
|
||||
;
|
||||
|
||||
Index: libs/conversion/test/implicit_cast_fail.cpp
|
||||
===================================================================
|
||||
--- libs/conversion/test/implicit_cast_fail.cpp (revision 79364)
|
||||
+++ libs/conversion/test/implicit_cast_fail.cpp (revision 85160)
|
||||
@@ -20,5 +20,7 @@
|
||||
{
|
||||
foo x = implicit_cast<foo>("foobar");
|
||||
- (void)x; // warning suppression.
|
||||
+ (void)x; // warning suppression.
|
||||
+ BOOST_CHECK(false); // suppressing warning about 'boost::unit_test::{anonymous}::unit_test_log' defined but not used
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
Index: libs/conversion/test/lexical_cast_to_pointer_test.cpp
|
||||
===================================================================
|
||||
--- libs/conversion/test/lexical_cast_to_pointer_test.cpp (revision 83689)
|
||||
+++ libs/conversion/test/lexical_cast_to_pointer_test.cpp (revision 85160)
|
||||
@@ -18,4 +18,6 @@
|
||||
{
|
||||
boost::lexical_cast<char*>("Hello");
|
||||
+ BOOST_CHECK(false); // suppressing warning about 'boost::unit_test::{anonymous}::unit_test_log' defined but not used
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
Index: libs/conversion/index.html
|
||||
===================================================================
|
||||
--- libs/conversion/index.html (revision 73851)
|
||||
+++ libs/conversion/index.html (revision 85160)
|
||||
@@ -7,4 +7,11 @@
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Boost Conversion Library</title>
|
||||
+<style>
|
||||
+ .copyright
|
||||
+ {
|
||||
+ color: #666666;
|
||||
+ font-size: small;
|
||||
+ }
|
||||
+</style>
|
||||
</head>
|
||||
|
||||
@@ -33,5 +40,9 @@
|
||||
S-Format="%d %B, %Y" startspan -->June 23, 2005<!--webbot bot="Timestamp" endspan i-checksum="30348" -->
|
||||
</p>
|
||||
-
|
||||
+<p class="copyright">
|
||||
+ Copyright 2001 Beman Dawes.
|
||||
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
+</p>
|
||||
</body>
|
||||
|
||||
Index: libs/conversion/numeric_cast_test.cpp
|
||||
===================================================================
|
||||
--- libs/conversion/numeric_cast_test.cpp (revision 80409)
|
||||
+++ libs/conversion/numeric_cast_test.cpp (revision 85160)
|
||||
@@ -49,5 +49,5 @@
|
||||
signed char c = 0;
|
||||
|
||||
- c = large_value; // see if compiler generates warning
|
||||
+ c = static_cast<signed char>(large_value);
|
||||
|
||||
c = numeric_cast<signed char>( small_value );
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 7 11:02:00 UTC 2014 - schwab@suse.de
|
||||
|
||||
- Disable coroutine library together with context
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 4 19:57:55 UTC 2014 - coolo@suse.com
|
||||
|
||||
- fix build of libzypp - patch from boost's track
|
||||
|
||||
- added patches:
|
||||
* boost-1.54-change85160.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 26 16:13:00 CET 2013 - tbehrens@suse.com
|
||||
|
||||
|
@ -115,6 +115,8 @@ Patch71: boost-1.54-001-coroutine.patch
|
||||
Patch72: boost-1.54-002-date-time.patch
|
||||
#PATCH-FIX-UPSTREAM A post-release patch.
|
||||
Patch73: boost-1.54-003-log.patch
|
||||
#PATCH-FIX-UPSTREAM https://svn.boost.org/trac/boost/ticket/8790
|
||||
Patch74: boost-1.54-change85160.patch
|
||||
Recommends: %{all_libs}
|
||||
|
||||
%define _docdir %{_datadir}/doc/packages/boost-%{version}
|
||||
@ -429,6 +431,7 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {}
|
||||
%patch71 -p1
|
||||
%patch72 -p1
|
||||
%patch73 -p1
|
||||
%patch74 -p0
|
||||
#stupid build machinery copies .orig files
|
||||
find . -name \*.orig -exec rm {} +
|
||||
|
||||
@ -467,7 +470,8 @@ export EXPAT_INCLUDE=/usr/include EXPAT_LIBPATH=%{_libdir}
|
||||
export PYTHON_FLAGS
|
||||
LIBRARIES_FLAGS=
|
||||
%if !%build_context
|
||||
LIBRARIES_FLAGS+=" --without-context"
|
||||
# coroutine depends on context
|
||||
LIBRARIES_FLAGS+=" --without-context --without-coroutine"
|
||||
%endif
|
||||
EOF
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user