diff --git a/appveyor.yml b/appveyor.yml index 722dc7d..432b830 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -21,8 +21,12 @@ environment: - ARGS: --toolset=msvc-11.0 address-model=32 - ARGS: --toolset=msvc-12.0 address-model=32 - ARGS: --toolset=msvc-14.0 address-model=32 + - ARGS: --toolset=msvc-12.0 address-model=32 cxxflags=-clr asynch-exceptions=on + - ARGS: --toolset=msvc-14.0 address-model=32 cxxflags=-clr asynch-exceptions=on - ARGS: --toolset=msvc-12.0 address-model=64 - ARGS: --toolset=msvc-14.0 address-model=64 + - ARGS: --toolset=msvc-12.0 address-model=64 cxxflags=-clr asynch-exceptions=on + - ARGS: --toolset=msvc-14.0 address-model=64 cxxflags=-clr asynch-exceptions=on - ARGS: --toolset=msvc-14.0 address-model=64 cxxflags=-std:c++latest - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 ARGS: --toolset=msvc-14.1 address-model=64 @@ -30,6 +34,10 @@ environment: ARGS: --toolset=msvc-14.1 address-model=32 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 ARGS: --toolset=msvc-14.1 address-model=64 cxxflags=-std:c++latest + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ARGS: --toolset=msvc-14.1 address-model=64 cxxflags=-clr asynch-exceptions=on + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ARGS: --toolset=msvc-14.1 address-model=32 cxxflags=-clr asynch-exceptions=on - ARGS: --toolset=gcc address-model=64 PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH% - ARGS: --toolset=gcc address-model=64 cxxflags=-std=gnu++1z diff --git a/include/boost/type_traits/detail/is_function_cxx_11.hpp b/include/boost/type_traits/detail/is_function_cxx_11.hpp index 3031130..3202fb2 100644 --- a/include/boost/type_traits/detail/is_function_cxx_11.hpp +++ b/include/boost/type_traits/detail/is_function_cxx_11.hpp @@ -104,11 +104,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const: #ifdef __CLR_VER template @@ -117,11 +122,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template @@ -130,11 +140,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template @@ -143,11 +158,15 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif // reference qualified: #ifdef __CLR_VER @@ -157,11 +176,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const: #ifdef __CLR_VER template @@ -170,11 +194,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template @@ -183,11 +212,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template @@ -196,11 +230,15 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif // rvalue reference qualified: #ifdef __CLR_VER @@ -209,12 +247,17 @@ namespace boost { #endif #ifndef _M_AMD64 template - struct is_function : public true_type {}; + struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const: #ifdef __CLR_VER template @@ -223,11 +266,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template @@ -236,11 +284,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template @@ -249,11 +302,15 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif #endif // _MSC_VER @@ -336,11 +393,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const: #ifdef __CLR_VER template @@ -349,11 +411,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template @@ -362,11 +429,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template @@ -375,11 +447,15 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif // reference qualified: #ifdef __CLR_VER @@ -389,11 +465,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const: #ifdef __CLR_VER template @@ -402,11 +483,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template @@ -415,11 +501,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template @@ -428,11 +519,15 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif // rvalue reference qualified: #ifdef __CLR_VER @@ -442,11 +537,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const: #ifdef __CLR_VER template @@ -455,11 +555,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template @@ -468,11 +573,16 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template @@ -481,11 +591,15 @@ namespace boost { #ifndef _M_AMD64 template struct is_function : public true_type {}; +#ifndef __CLR_VER template struct is_function : public true_type {}; #endif +#endif +#ifndef __CLR_VER template struct is_function : public true_type {}; +#endif #endif // _MSC_VER diff --git a/include/boost/type_traits/detail/is_likely_lambda.hpp b/include/boost/type_traits/detail/is_likely_lambda.hpp index 39aa528..21810dd 100644 --- a/include/boost/type_traits/detail/is_likely_lambda.hpp +++ b/include/boost/type_traits/detail/is_likely_lambda.hpp @@ -27,7 +27,8 @@ struct is_likely_stateless_lambda : public false_type {}; }} -#elif !defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) +#elif !defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !BOOST_WORKAROUND(BOOST_MSVC, < 1900)\ + && !(BOOST_WORKAROUND(BOOST_MSVC, == 1900) && defined(__CLR_VER)) #include #include diff --git a/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp b/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp index b77a4a5..9515468 100644 --- a/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +++ b/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp @@ -111,186 +111,243 @@ namespace boost { #ifdef _MSC_VER #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif // reference qualified: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif // rvalue reference qualified: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; #endif +#endif #if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703) @@ -365,186 +422,243 @@ namespace boost { #ifdef _MSC_VER #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif // reference qualified: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif // rvalue reference qualified: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif + // const volatile: #ifdef __CLR_VER template - struct is_member_function_pointer : public true_type {}; + struct is_member_function_pointer : public true_type {}; #endif #ifndef _M_AMD64 template struct is_member_function_pointer : public true_type {}; +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; +#endif template struct is_member_function_pointer : public true_type {}; #endif +#ifndef __CLR_VER template struct is_member_function_pointer : public true_type {}; #endif +#endif #endif diff --git a/test/has_nothrow_copy_test.cpp b/test/has_nothrow_copy_test.cpp index 515c777..52fa2fb 100644 --- a/test/has_nothrow_copy_test.cpp +++ b/test/has_nothrow_copy_test.cpp @@ -239,7 +239,8 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy::value, false); #ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy::value, false); -#if !(defined(CI_SUPPRESS_KNOWN_ISSUES) && BOOST_WORKAROUND(BOOST_GCC, < 40600)) && !(defined(CI_SUPPRESS_KNOWN_ISSUES) && BOOST_WORKAROUND(BOOST_MSVC, == 1800)) +#if !(defined(CI_SUPPRESS_KNOWN_ISSUES) && BOOST_WORKAROUND(BOOST_GCC, < 40600)) && !(defined(CI_SUPPRESS_KNOWN_ISSUES) && BOOST_WORKAROUND(BOOST_MSVC, == 1800))\ + && !(defined(CI_SUPPRESS_KNOWN_ISSUES) && defined(__CLR_VER)) BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy::value, false); #endif #endif diff --git a/test/is_member_func_test.cpp b/test/is_member_func_test.cpp index 94b040a..c08f072 100644 --- a/test/is_member_func_test.cpp +++ b/test/is_member_func_test.cpp @@ -69,8 +69,10 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer::value, fal #ifdef BOOST_TT_TEST_MS_FUNC_SIGS typedef void (__stdcall test_abc1::*scall_proc)(); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer::value, true); +#ifndef __CLR_VER typedef void (__fastcall test_abc1::*fcall_proc)(int); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer::value, true); +#endif typedef void (__cdecl test_abc1::*ccall_proc)(int, long, double); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer::value, true); #endif diff --git a/test/is_member_pointer_test.cpp b/test/is_member_pointer_test.cpp index 431cebd..e83934e 100644 --- a/test/is_member_pointer_test.cpp +++ b/test/is_member_pointer_test.cpp @@ -31,8 +31,10 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer::value, false); #ifdef BOOST_TT_TEST_MS_FUNC_SIGS typedef void (__stdcall test_abc1::*scall_proc)(); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer::value, true); +#ifndef __CLR_VER typedef void (__fastcall test_abc1::*fcall_proc)(int); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer::value, true); +#endif typedef void (__cdecl test_abc1::*ccall_proc)(int, long, double); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer::value, true); #endif diff --git a/test/type_with_alignment_test.cpp b/test/type_with_alignment_test.cpp index 8548ead..8888af4 100644 --- a/test/type_with_alignment_test.cpp +++ b/test/type_with_alignment_test.cpp @@ -25,6 +25,10 @@ struct __declspec(align(64)) a64 { char m[64]; }; struct __declspec(align(128)) a128 { char m[128]; }; #endif +#ifdef __CLR_VER +#pragma warning(disable:4793) // vaarg function +#endif + void check_call2(...){} template