1
0
forked from boostorg/core

Compare commits

..

19 Commits

Author SHA1 Message Date
Andrey Semashev
4268048ab8 Merge branch 'develop' 2015-07-20 12:32:52 +03:00
Andrey Semashev
5d9aeb3161 Slightly more robust check for BOOST_GCC. 2015-07-17 21:50:44 +03:00
Andrey Semashev
5e8b9152be Added a check for C++11 mode to disable auto_ptr deprecation warnings. 2015-07-17 21:41:44 +03:00
Andrey Semashev
c641e8e544 Disabled libstdc++ warnings about auto_ptr deprecation. 2015-07-17 21:37:01 +03:00
Peter Dimov
89630fc2bf Merge branch 'develop' 2015-06-05 15:44:48 +03:00
Peter Dimov
d9b28783e8 Merge pull request #11 from awulkiew/feature/auto_ptr
Disable auto_ptr support in get_pointer when BOOST_NO_AUTO_PTR is def…
2015-06-05 15:31:27 +03:00
Adam Wulkiewicz
de616f6d1b Disable auto_ptr support in get_pointer when BOOST_NO_AUTO_PTR is defined. 2015-06-05 14:09:08 +02:00
Andrey Semashev
6bf1e7a681 Merge pull request #10 from awulkiew/feature/ignore_unused
[core] Add/improve ignore_unused() function specifiers.
2015-04-13 12:20:04 +03:00
Adam Wulkiewicz
7aec0e45bd [core] Add/improve ignore_unused() function specifiers.
Add C++14 constexpr by BOOST_CXX14_CONSTEXPR.
Replace inline with BOOST_FORCEINLINE.
2015-04-12 15:08:55 +02:00
Peter Dimov
d0ec03e28b Merge branch 'develop' 2015-03-11 00:28:20 +02:00
Peter Dimov
dd17b055c6 Add missing #include <typeinfo> per Trac ticket 11094. 2015-03-11 00:27:15 +02:00
Peter Dimov
dfa36aeb4c Merge branch 'develop' 2015-03-09 00:32:47 +02:00
Peter Dimov
67970b9d94 Use BOOST_WORKAROUND. 2015-03-09 00:32:02 +02:00
Peter Dimov
d621fc8e25 Merge pull request #9 from akumta/patch-1
Update addressof.hpp
2015-03-08 23:37:18 +02:00
akumta
85a9400ceb Update addressof.hpp
To update ticket# 10311
2015-03-03 11:37:28 -08:00
Peter Dimov
f6dcd3f891 Merge branch 'develop' 2015-01-19 18:41:50 +02:00
Peter Dimov
37687b800e Fix ambiguous 'detail' errors under msvc-8.0. 2015-01-18 19:50:40 +02:00
Peter Dimov
148c4840f3 Merge branch 'develop' 2015-01-15 22:01:06 +02:00
Andrey Semashev
2beeb73e70 Fixed a typo in the comment. 2014-08-22 22:49:35 +04:00
6 changed files with 55 additions and 15 deletions

View File

@@ -107,7 +107,7 @@ template<class T>
BOOST_FORCEINLINE
T * addressof( T & v )
{
#if (defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) ) ) || defined( __SUNPRO_CC )
#if (defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) ) ) || (defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x5120))
return boost::detail::addressof_impl<T>::f( v, 0 );

View File

@@ -14,53 +14,53 @@ namespace boost {
#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
template <typename... Ts>
inline void ignore_unused(Ts const& ...)
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(Ts const& ...)
{}
template <typename... Ts>
inline void ignore_unused()
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
{}
#else
template <typename T1>
inline void ignore_unused(T1 const&)
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&)
{}
template <typename T1, typename T2>
inline void ignore_unused(T1 const&, T2 const&)
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&)
{}
template <typename T1, typename T2, typename T3>
inline void ignore_unused(T1 const&, T2 const&, T3 const&)
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&)
{}
template <typename T1, typename T2, typename T3, typename T4>
inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&)
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&)
{}
template <typename T1, typename T2, typename T3, typename T4, typename T5>
inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&)
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&)
{}
template <typename T1>
inline void ignore_unused()
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
{}
template <typename T1, typename T2>
inline void ignore_unused()
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
{}
template <typename T1, typename T2, typename T3>
inline void ignore_unused()
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
{}
template <typename T1, typename T2, typename T3, typename T4>
inline void ignore_unused()
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
{}
template <typename T1, typename T2, typename T3, typename T4, typename T5>
inline void ignore_unused()
BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
{}
#endif

View File

@@ -123,9 +123,9 @@ template<class T, class U> inline void test_ne_impl( char const * expr1, char co
inline int report_errors()
{
detail::report_errors_remind().called_report_errors_function = true;
boost::detail::report_errors_remind().called_report_errors_function = true;
int errors = detail::test_errors();
int errors = boost::detail::test_errors();
if( errors == 0 )
{

View File

@@ -24,11 +24,39 @@ template<class T> T * get_pointer(T * p)
// get_pointer(shared_ptr<T> const & p) has been moved to shared_ptr.hpp
#if !defined( BOOST_NO_AUTO_PTR )
#if defined( __GNUC__ ) && (defined( __GXX_EXPERIMENTAL_CXX0X__ ) || (__cplusplus >= 201103L))
#if defined( BOOST_GCC )
#if BOOST_GCC >= 40600
#define BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS
#endif // BOOST_GCC >= 40600
#elif defined( __clang__ ) && defined( __has_warning )
#if __has_warning("-Wdeprecated-declarations")
#define BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS
#endif // __has_warning("-Wdeprecated-declarations")
#endif
#endif // defined( __GNUC__ ) && (defined( __GXX_EXPERIMENTAL_CXX0X__ ) || (__cplusplus >= 201103L))
#if defined( BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS )
// Disable libstdc++ warnings about std::auto_ptr being deprecated in C++11 mode
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#define BOOST_CORE_DETAIL_DISABLED_DEPRECATED_WARNINGS
#endif
template<class T> T * get_pointer(std::auto_ptr<T> const& p)
{
return p.get();
}
#if defined( BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS )
#pragma GCC diagnostic pop
#undef BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS
#endif
#endif // !defined( BOOST_NO_AUTO_PTR )
#if !defined( BOOST_NO_CXX11_SMART_PTR )
template<class T> T * get_pointer( std::unique_ptr<T> const& p )

View File

@@ -10,6 +10,7 @@
//
#include <boost/core/demangle.hpp>
#include <typeinfo>
#include <iostream>
template<class T1, class T2> struct Y1

View File

@@ -6,6 +6,12 @@
#include <boost/core/ignore_unused.hpp>
BOOST_CXX14_CONSTEXPR int test_fun(int a)
{
boost::ignore_unused(a);
return 0;
}
int main()
{
{
@@ -60,5 +66,10 @@ int main()
boost::ignore_unused<a, b, c, d, e>();
}
{
BOOST_CXX14_CONSTEXPR const int a = test_fun(0);
boost::ignore_unused(a);
}
return 0;
}