Removed applied patches

This commit is contained in:
Antony Polukhin
2015-06-17 21:54:04 +03:00
parent 8d3127935d
commit 3e6695971d
3 changed files with 0 additions and 261 deletions

View File

@ -1,131 +0,0 @@
From b59340efc30219492b095d2cfcdb8183b3e35b69 Mon Sep 17 00:00:00 2001
From: Antony Polukhin <antoshkka@gmail.com>
Date: Thu, 20 Feb 2014 17:06:44 +0400
Subject: [PATCH 1/2] Boost.Any not can work without RTTI support.
---
test/Jamfile.v2 | 1 +
1 file changed, 1 insertion(+)
diff --git a/test/Jamfile.v2 b/test/Jamfile.v2
index cd167dc..76f9e5a 100644
--- a/test/Jamfile.v2
+++ b/test/Jamfile.v2
@@ -9,6 +9,7 @@
test-suite any :
[ run any_test.cpp ]
[ run any_test_rv.cpp ]
+ [ run any_test_rv.cpp : : : <rtti>off : any_test_rv_no_rtti ]
[ compile-fail any_cast_cv_failed.cpp ]
[ compile-fail any_test_temporary_to_ref_failed.cpp ]
[ compile-fail any_test_cv_to_rv_failed.cpp ]
--
1.8.5.3
From 62b9b01713fc50355f82e892bc0fd5618ce5c648 Mon Sep 17 00:00:00 2001
From: Antony Polukhin <antoshkka@gmail.com>
Date: Thu, 20 Feb 2014 17:30:42 +0400
Subject: [PATCH 2/2] Boost.Any not can work without RTTI support.
---
include/boost/any.hpp | 37 +++++++++++++------------------------
1 file changed, 13 insertions(+), 24 deletions(-)
diff --git a/include/boost/any.hpp b/include/boost/any.hpp
index a63fea4..bda00a2 100644
--- a/include/boost/any.hpp
+++ b/include/boost/any.hpp
@@ -15,9 +15,9 @@
// when: July 2001, April 2013 - May 2013
#include <algorithm>
-#include <typeinfo>
#include "boost/config.hpp"
+#include <boost/type_index.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/type_traits/decay.hpp>
#include <boost/type_traits/add_reference.hpp>
@@ -29,17 +29,6 @@
#include <boost/type_traits/is_same.hpp>
#include <boost/type_traits/is_const.hpp>
-// See boost/python/type_id.hpp
-// TODO: add BOOST_TYPEID_COMPARE_BY_NAME to config.hpp
-# if defined(__GNUC__) \
- || defined(_AIX) \
- || ( defined(__sgi) && defined(__host_mips)) \
- || (defined(__hpux) && defined(__HP_aCC)) \
- || (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC))
-# define BOOST_AUX_ANY_TYPE_ID_NAME
-#include <cstring>
-# endif
-
namespace boost
{
class any
@@ -144,9 +133,9 @@ namespace boost
any().swap(*this);
}
- const std::type_info & type() const BOOST_NOEXCEPT
+ const boost::typeind::type_info& type() const BOOST_NOEXCEPT
{
- return content ? content->type() : typeid(void);
+ return content ? content->type() : boost::typeind::type_id<void>().type_info();
}
#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
@@ -165,7 +154,7 @@ namespace boost
public: // queries
- virtual const std::type_info & type() const BOOST_NOEXCEPT = 0;
+ virtual const boost::typeind::type_info& type() const BOOST_NOEXCEPT = 0;
virtual placeholder * clone() const = 0;
@@ -189,9 +178,9 @@ namespace boost
#endif
public: // queries
- virtual const std::type_info & type() const BOOST_NOEXCEPT
+ virtual const boost::typeind::type_info& type() const BOOST_NOEXCEPT
{
- return typeid(ValueType);
+ return boost::typeind::type_id<ValueType>().type_info();
}
virtual placeholder * clone() const
@@ -232,7 +221,12 @@ namespace boost
lhs.swap(rhs);
}
- class BOOST_SYMBOL_VISIBLE bad_any_cast : public std::bad_cast
+ class BOOST_SYMBOL_VISIBLE bad_any_cast :
+#ifndef BOOST_NO_RTTI
+ public std::bad_cast
+#else
+ public std::exception
+#endif
{
public:
virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW
@@ -245,12 +239,7 @@ namespace boost
template<typename ValueType>
ValueType * any_cast(any * operand) BOOST_NOEXCEPT
{
- return operand &&
-#ifdef BOOST_AUX_ANY_TYPE_ID_NAME
- std::strcmp(operand->type().name(), typeid(ValueType).name()) == 0
-#else
- operand->type() == typeid(ValueType)
-#endif
+ return operand && operand->type() == boost::typeind::type_id<ValueType>()
? &static_cast<any::holder<ValueType> *>(operand->content)->held
: 0;
}
--
1.8.5.3

View File

@ -1,60 +0,0 @@
From 6f71069e85fab36d9b95d53ddb6d80b8d1bdb6b0 Mon Sep 17 00:00:00 2001
From: Antony Polukhin <antoshkka@gmail.com>
Date: Thu, 20 Feb 2014 18:33:20 +0400
Subject: [PATCH] Use TypeIndex in Boost.Function to remove duplicate code and
improve code performance
---
include/boost/function/function_base.hpp | 22 +---------------------
test/Jamfile.v2 | 2 ++
2 files changed, 3 insertions(+), 21 deletions(-)
diff --git a/include/boost/function/function_base.hpp b/include/boost/function/function_base.hpp
index f3663d7..8fd2c8d 100644
--- a/include/boost/function/function_base.hpp
+++ b/include/boost/function/function_base.hpp
@@ -44,27 +44,7 @@
# pragma warning( disable : 4127 ) // "conditional expression is constant"
#endif
-// Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.
-#ifdef BOOST_NO_STD_TYPEINFO
-// Embedded VC++ does not have type_info in namespace std
-# define BOOST_FUNCTION_STD_NS
-#else
-# define BOOST_FUNCTION_STD_NS std
-#endif
-
-// Borrowed from Boost.Python library: determines the cases where we
-// need to use std::type_info::name to compare instead of operator==.
-#if defined( BOOST_NO_TYPEID )
-# define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y))
-#elif defined(__GNUC__) \
- || defined(_AIX) \
- || ( defined(__sgi) && defined(__host_mips))
-# include <cstring>
-# define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) \
- (std::strcmp((X).name(),(Y).name()) == 0)
-# else
-# define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y))
-#endif
+#define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) (boost::typeind::type_index((X))==(Y))
#if defined(__ICL) && __ICL <= 600 || defined(__MWERKS__) && __MWERKS__ < 0x2406 && !defined(BOOST_STRICT_CONFIG)
# define BOOST_FUNCTION_TARGET_FIX(x) x
diff --git a/test/Jamfile.v2 b/test/Jamfile.v2
index 68895fa..12a00db 100644
--- a/test/Jamfile.v2
+++ b/test/Jamfile.v2
@@ -21,6 +21,8 @@ import testing ;
:
[ run libs/function/test/function_test.cpp : : : : lib_function_test ]
+ [ run libs/function/test/function_test.cpp : : : <rtti>off : lib_function_test_no_rtti ]
+
[ run libs/function/test/function_n_test.cpp : : : : ]
[ run libs/function/test/allocator_test.cpp ../../../libs/test/build//boost_test_exec_monitor : : : : ]
--
1.8.5.3

View File

@ -1,70 +0,0 @@
From 21f31f2ceb6d5669ca4e0bcc7b62cf1836eb7002 Mon Sep 17 00:00:00 2001
From: Antony Polukhin <antoshkka@gmail.com>
Date: Thu, 20 Feb 2014 17:26:24 +0400
Subject: [PATCH] Boost.Variant not can work without RTTI support.
---
include/boost/variant/variant.hpp | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/include/boost/variant/variant.hpp b/include/boost/variant/variant.hpp
index 46c3ae3..8604ba9 100644
--- a/include/boost/variant/variant.hpp
+++ b/include/boost/variant/variant.hpp
@@ -18,9 +18,7 @@
#include <cstddef> // for std::size_t
#include <new> // for placement new
-#if !defined(BOOST_NO_TYPEID)
-#include <typeinfo> // for typeid, std::type_info
-#endif // BOOST_NO_TYPEID
+#include "boost/type_index.hpp"
#include "boost/variant/detail/config.hpp"
#include "boost/mpl/aux_/value_wknd.hpp"
@@ -829,24 +827,19 @@ private:
//
// Generic static visitor that performs a typeid on the value it visits.
//
-
-#if !defined(BOOST_NO_TYPEID)
-
class reflect
- : public static_visitor<const std::type_info&>
+ : public static_visitor<const boost::typeind::type_info&>
{
public: // visitor interfaces
template <typename T>
- const std::type_info& operator()(const T&) const BOOST_NOEXCEPT
+ const boost::typeind::type_info& operator()(const T&) const BOOST_NOEXCEPT
{
- return typeid(T);
+ return boost::typeind::type_id<T>().type_info();
}
};
-#endif // BOOST_NO_TYPEID
-
///////////////////////////////////////////////////////////////////////////////
// (detail) class comparer
//
@@ -2155,13 +2148,11 @@ public: // queries
return false;
}
-#if !defined(BOOST_NO_TYPEID)
- const std::type_info& type() const
+ const boost::typeind::type_info& type() const
{
detail::variant::reflect visitor;
return this->apply_visitor(visitor);
}
-#endif
public: // prevent comparison with foreign types
--
1.8.5.3