mirror of
https://github.com/boostorg/detail.git
synced 2025-06-29 22:10:57 +02:00
Compare commits
60 Commits
svn-branch
...
boost-1.49
Author | SHA1 | Date | |
---|---|---|---|
e75c702370 | |||
de25ca2c03 | |||
06c06ee09c | |||
9436535318 | |||
469b547c88 | |||
32b452486f | |||
b95901a068 | |||
3b2a3d1cfc | |||
be8f3b19eb | |||
799953dd55 | |||
e2ed5892c2 | |||
860576c740 | |||
07227dd61d | |||
1d3205b456 | |||
94dcc475a1 | |||
bb233de354 | |||
455d56887e | |||
17d5ed080b | |||
7ce0af2bba | |||
e4ac9a7c8e | |||
d8dc59f6cb | |||
c5eac8e96c | |||
134c915cbf | |||
3c935aaf8f | |||
726c4a7182 | |||
1ede593bc2 | |||
debb7ae2de | |||
4a28e5d5a1 | |||
fc561bdc77 | |||
2438dc56f1 | |||
fbc029e131 | |||
ca7ccbfa77 | |||
65a58553fb | |||
0d006f2718 | |||
1df6d3e0e2 | |||
9d2dd3f219 | |||
c0fb2515b0 | |||
f8ffc48c7e | |||
20c35502cb | |||
4ae97fa5cb | |||
b328080dbb | |||
a6af6ca66f | |||
df8aaff6da | |||
680e819cf3 | |||
22520394e4 | |||
9469ab6c88 | |||
8da5b03c03 | |||
49858c1ac4 | |||
ec6dfefa6e | |||
1df1d181c0 | |||
dc34adabef | |||
8aebcc4fbd | |||
2551c9baf0 | |||
71ec49242e | |||
0dc54e7b18 | |||
4039b44fce | |||
2f7218cdc4 | |||
37cd3c6dd2 | |||
71a268689d | |||
4dda81e93a |
@ -16,6 +16,13 @@
|
|||||||
#include <boost/config.hpp>
|
#include <boost/config.hpp>
|
||||||
#include <boost/detail/workaround.hpp>
|
#include <boost/detail/workaround.hpp>
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// //
|
||||||
|
// Define BOOST_DETAIL_NO_CONTAINER_FWD if you don't want this header to //
|
||||||
|
// forward declare standard containers. //
|
||||||
|
// //
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#if !defined(BOOST_DETAIL_NO_CONTAINER_FWD)
|
#if !defined(BOOST_DETAIL_NO_CONTAINER_FWD)
|
||||||
# if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
# if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
||||||
// STLport
|
// STLport
|
||||||
@ -31,13 +38,23 @@
|
|||||||
# define BOOST_DETAIL_NO_CONTAINER_FWD
|
# define BOOST_DETAIL_NO_CONTAINER_FWD
|
||||||
# elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
|
# elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
|
||||||
// GNU libstdc++ 3
|
// GNU libstdc++ 3
|
||||||
# if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL)
|
//
|
||||||
|
// Disable forwarding for all recent versions, as the library has a
|
||||||
|
// versioned namespace mode, and I don't know how to detect it.
|
||||||
|
# if __GLIBCXX__ >= 20070513 \
|
||||||
|
|| defined(_GLIBCXX_DEBUG) \
|
||||||
|
|| defined(_GLIBCXX_PARALLEL) \
|
||||||
|
|| defined(_GLIBCXX_PROFILE)
|
||||||
# define BOOST_DETAIL_NO_CONTAINER_FWD
|
# define BOOST_DETAIL_NO_CONTAINER_FWD
|
||||||
|
# else
|
||||||
|
# if defined(__GLIBCXX__) && __GLIBCXX__ >= 20040530
|
||||||
|
# define BOOST_CONTAINER_FWD_COMPLEX_STRUCT
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
# elif defined(__STL_CONFIG_H)
|
# elif defined(__STL_CONFIG_H)
|
||||||
// generic SGI STL
|
// generic SGI STL
|
||||||
//
|
//
|
||||||
// Forward declaration seems to be okay, but it has a copule of odd
|
// Forward declaration seems to be okay, but it has a couple of odd
|
||||||
// implementations.
|
// implementations.
|
||||||
# define BOOST_CONTAINER_FWD_BAD_BITSET
|
# define BOOST_CONTAINER_FWD_BAD_BITSET
|
||||||
# if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG)
|
# if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG)
|
||||||
@ -47,16 +64,13 @@
|
|||||||
// MSL standard lib:
|
// MSL standard lib:
|
||||||
# define BOOST_DETAIL_NO_CONTAINER_FWD
|
# define BOOST_DETAIL_NO_CONTAINER_FWD
|
||||||
# elif defined(__IBMCPP__)
|
# elif defined(__IBMCPP__)
|
||||||
// take the default VACPP std lib
|
// The default VACPP std lib, forward declaration seems to be fine.
|
||||||
# define BOOST_DETAIL_NO_CONTAINER_FWD
|
|
||||||
# elif defined(MSIPL_COMPILE_H)
|
# elif defined(MSIPL_COMPILE_H)
|
||||||
// Modena C++ standard library
|
// Modena C++ standard library
|
||||||
# define BOOST_DETAIL_NO_CONTAINER_FWD
|
# define BOOST_DETAIL_NO_CONTAINER_FWD
|
||||||
# elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
|
# elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
|
||||||
// Dinkumware Library (this has to appear after any possible replacement
|
// Dinkumware Library (this has to appear after any possible replacement
|
||||||
// libraries)
|
// libraries)
|
||||||
//
|
|
||||||
// Works fine.
|
|
||||||
# else
|
# else
|
||||||
# define BOOST_DETAIL_NO_CONTAINER_FWD
|
# define BOOST_DETAIL_NO_CONTAINER_FWD
|
||||||
# endif
|
# endif
|
||||||
@ -109,11 +123,11 @@ namespace std
|
|||||||
template <class charT> struct char_traits;
|
template <class charT> struct char_traits;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if BOOST_CLANG
|
#if defined(BOOST_CONTAINER_FWD_COMPLEX_STRUCT)
|
||||||
template <class T> struct complex;
|
template <class T> struct complex;
|
||||||
#else
|
#else
|
||||||
template <class T> class complex;
|
template <class T> class complex;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
|
#if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
|
||||||
template <class T, class Allocator> class deque;
|
template <class T, class Allocator> class deque;
|
||||||
|
@ -16,9 +16,10 @@
|
|||||||
|
|
||||||
/* If we're using clang + glibc, we have to get hacky.
|
/* If we're using clang + glibc, we have to get hacky.
|
||||||
* See http://llvm.org/bugs/show_bug.cgi?id=6907 */
|
* See http://llvm.org/bugs/show_bug.cgi?id=6907 */
|
||||||
#if defined(__clang__) && \
|
#if defined(__clang__) && (__clang_major__ < 3) && \
|
||||||
defined(__GNU_LIBRARY__) && /* up to version 5 */ \
|
defined(__GNU_LIBRARY__) && /* up to version 5 */ \
|
||||||
defined(__GLIBC__) /* version 6 + */
|
defined(__GLIBC__) && /* version 6 + */ \
|
||||||
|
!defined(_FENV_H)
|
||||||
#define _FENV_H
|
#define _FENV_H
|
||||||
|
|
||||||
#include <features.h>
|
#include <features.h>
|
||||||
|
0
include/boost/detail/indirect_traits.hpp
Executable file → Normal file
0
include/boost/detail/indirect_traits.hpp
Executable file → Normal file
@ -54,7 +54,11 @@ extern "C" long __cdecl InterlockedExchangeAdd( long*, long );
|
|||||||
|
|
||||||
#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )
|
#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )
|
||||||
|
|
||||||
#if defined( __CLRCALL_PURE_OR_CDECL )
|
#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600
|
||||||
|
|
||||||
|
#include <intrin.h>
|
||||||
|
|
||||||
|
#elif defined( __CLRCALL_PURE_OR_CDECL )
|
||||||
|
|
||||||
extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedIncrement( long volatile * );
|
extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedIncrement( long volatile * );
|
||||||
extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedDecrement( long volatile * );
|
extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedDecrement( long volatile * );
|
||||||
@ -119,15 +123,15 @@ namespace boost
|
|||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
|
|
||||||
extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedIncrement( long volatile * );
|
extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedIncrement( long volatile * );
|
||||||
extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedDecrement( long volatile * );
|
extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedDecrement( long volatile * );
|
||||||
extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedCompareExchange( long volatile *, long, long );
|
extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedCompareExchange( long volatile *, long, long );
|
||||||
extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchange( long volatile *, long );
|
extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchange( long volatile *, long );
|
||||||
extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchangeAdd( long volatile *, long );
|
extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchangeAdd( long volatile *, long );
|
||||||
|
|
||||||
# if defined(_M_IA64) || defined(_M_AMD64)
|
# if defined(_M_IA64) || defined(_M_AMD64)
|
||||||
extern "C"BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedCompareExchangePointer( void* volatile *, void*, void* );
|
extern "C" BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedCompareExchangePointer( void* volatile *, void*, void* );
|
||||||
extern "C"BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedExchangePointer( void* volatile *, void* );
|
extern "C" BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedExchangePointer( void* volatile *, void* );
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
|
0
include/boost/detail/is_function_ref_tester.hpp
Executable file → Normal file
0
include/boost/detail/is_function_ref_tester.hpp
Executable file → Normal file
0
include/boost/detail/is_xxx.hpp
Executable file → Normal file
0
include/boost/detail/is_xxx.hpp
Executable file → Normal file
@ -92,8 +92,7 @@ namespace std {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__) \
|
#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__)
|
||||||
&& !defined(_LIBCPP_VERSION)
|
|
||||||
#define BOOST_CODECVT_DO_LENGTH_CONST const
|
#define BOOST_CODECVT_DO_LENGTH_CONST const
|
||||||
#else
|
#else
|
||||||
#define BOOST_CODECVT_DO_LENGTH_CONST
|
#define BOOST_CODECVT_DO_LENGTH_CONST
|
||||||
|
0
include/boost/indirect_reference.hpp
Executable file → Normal file
0
include/boost/indirect_reference.hpp
Executable file → Normal file
@ -11,6 +11,7 @@ project detail/test/container_fwd
|
|||||||
<toolset>intel:<warnings>on
|
<toolset>intel:<warnings>on
|
||||||
<toolset>gcc:<cxxflags>"-pedantic -Wstrict-aliasing -fstrict-aliasing -Wextra -Wsign-promo -Wunused-parameter -Wconversion"
|
<toolset>gcc:<cxxflags>"-pedantic -Wstrict-aliasing -fstrict-aliasing -Wextra -Wsign-promo -Wunused-parameter -Wconversion"
|
||||||
<toolset>darwin:<cxxflags>"-pedantic -Wstrict-aliasing -fstrict-aliasing -Wextra -Wsign-promo -Wunused-parameter -Wconversion"
|
<toolset>darwin:<cxxflags>"-pedantic -Wstrict-aliasing -fstrict-aliasing -Wextra -Wsign-promo -Wunused-parameter -Wconversion"
|
||||||
|
<toolset>clang:<cxxflags>"-pedantic -Wextra -Wmismatched-tags"
|
||||||
<warnings-as-errors>on
|
<warnings-as-errors>on
|
||||||
;
|
;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user