Tentative fix for msvc warnings.

See https://github.com/boostorg/regex/issues/61.
Adds warning test case.
This commit is contained in:
jzmaddock
2018-07-22 17:16:21 +01:00
parent 2517588955
commit 7b2ccc0095
15 changed files with 66 additions and 15 deletions

View File

@ -36,10 +36,16 @@
namespace boost{
#ifdef BOOST_MSVC
#pragma warning(push)
#pragma warning(disable : 4251 4231 4800)
#pragma warning(disable : 4251)
#if BOOST_MSVC < 1700
# pragma warning(disable : 4231)
#endif
#if BOOST_MSVC < 1600
#pragma warning(disable : 4660)
#endif
#if BOOST_MSVC < 1910
#pragma warning(disable:4800)
#endif
#endif
namespace BOOST_REGEX_DETAIL_NS{

View File

@ -33,7 +33,9 @@
#ifdef BOOST_MSVC
# pragma warning(push)
# pragma warning(disable: 4800)
#if BOOST_MSVC < 1910
#pragma warning(disable:4800)
#endif
#endif
namespace boost{

View File

@ -35,7 +35,10 @@ namespace BOOST_REGEX_DETAIL_NS{
#ifdef BOOST_MSVC
#pragma warning(push)
#pragma warning(disable:4244 4800)
#pragma warning(disable:4244)
#if BOOST_MSVC < 1910
#pragma warning(disable:4800)
#endif
#endif
inline boost::intmax_t umax(mpl::false_ const&)

View File

@ -84,7 +84,10 @@ template class BOOST_REGEX_DECL ::boost::BOOST_REGEX_DETAIL_NS::perl_matcher<BOO
# ifdef BOOST_MSVC
# pragma warning(push)
# pragma warning(disable : 4251 4231)
# pragma warning(disable : 4251)
#if BOOST_MSVC < 1700
# pragma warning(disable : 4231)
#endif
# if BOOST_MSVC < 1600
# pragma warning(disable : 4660)
# endif

View File

@ -33,7 +33,10 @@
namespace boost{
#ifdef BOOST_MSVC
#pragma warning(push)
#pragma warning(disable : 4251 4231)
#pragma warning(disable : 4251)
#if BOOST_MSVC < 1700
# pragma warning(disable : 4231)
#endif
# if BOOST_MSVC < 1600
# pragma warning(disable : 4660)
# endif

View File

@ -27,7 +27,9 @@
#ifdef BOOST_MSVC
# pragma warning(push)
# pragma warning(disable: 4800)
#if BOOST_MSVC < 1910
#pragma warning(disable:4800)
#endif
#endif
namespace boost{
@ -353,7 +355,10 @@ struct recursion_info
#ifdef BOOST_MSVC
#pragma warning(push)
#pragma warning(disable : 4251 4231)
#pragma warning(disable : 4251)
#if BOOST_MSVC < 1700
# pragma warning(disable : 4231)
#endif
# if BOOST_MSVC < 1600
# pragma warning(disable : 4660)
# endif

View File

@ -36,7 +36,9 @@
#endif
#ifdef BOOST_MSVC
# pragma warning(push)
# pragma warning(disable: 4800)
#if BOOST_MSVC < 1910
#pragma warning(disable:4800)
#endif
#endif
namespace boost{

View File

@ -34,7 +34,10 @@
#endif
#ifdef BOOST_MSVC
# pragma warning(push)
# pragma warning(disable: 4800 4706)
# pragma warning(disable: 4706)
#if BOOST_MSVC < 1910
#pragma warning(disable:4800)
#endif
#endif
namespace boost{

View File

@ -138,12 +138,12 @@ public:
size_type BOOST_REGEX_CALL size()
{
return end - start;
return size_type(end - start);
}
size_type BOOST_REGEX_CALL capacity()
{
return last - start;
return size_type(last - start);
}
void* BOOST_REGEX_CALL data()const
@ -153,7 +153,7 @@ public:
size_type BOOST_REGEX_CALL index(void* ptr)
{
return static_cast<pointer>(ptr) - static_cast<pointer>(data());
return size_type(static_cast<pointer>(ptr) - static_cast<pointer>(data()));
}
void BOOST_REGEX_CALL clear()

View File

@ -36,7 +36,9 @@ namespace boost{
#ifdef BOOST_MSVC
# pragma warning(push)
# pragma warning(disable: 4800)
#if BOOST_MSVC < 1910
#pragma warning(disable:4800)
#endif
#endif
namespace BOOST_REGEX_DETAIL_NS{

View File

@ -241,7 +241,7 @@ inline std::ptrdiff_t global_length<char>(const char* p)
template<>
inline std::ptrdiff_t global_length<wchar_t>(const wchar_t* p)
{
return (std::wcslen)(p);
return (std::ptrdiff_t)(std::wcslen)(p);
}
#endif
template <class charT>

View File

@ -51,8 +51,10 @@
#ifdef BOOST_MSVC
#pragma warning(push)
#pragma warning(disable:4786)
#if BOOST_MSVC < 1910
#pragma warning(disable:4800)
#endif
#endif
namespace boost{