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 621d974..be35f58 100644 --- a/include/boost/type_traits/detail/is_function_cxx_11.hpp +++ b/include/boost/type_traits/detail/is_function_cxx_11.hpp @@ -104,9 +104,11 @@ 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 {}; @@ -119,9 +121,11 @@ 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 {}; @@ -134,9 +138,11 @@ 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 {}; @@ -149,9 +155,11 @@ 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 {}; @@ -165,9 +173,11 @@ 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 {}; @@ -180,9 +190,11 @@ 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 {}; @@ -195,9 +207,11 @@ 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 {}; @@ -210,9 +224,11 @@ 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 {}; @@ -226,9 +242,11 @@ 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 {}; @@ -241,9 +259,11 @@ 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 {}; @@ -256,9 +276,11 @@ 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 {}; @@ -271,9 +293,11 @@ 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 {}; diff --git a/test/is_function_test.cpp b/test/is_function_test.cpp index be552b0..94d96e4 100644 --- a/test/is_function_test.cpp +++ b/test/is_function_test.cpp @@ -94,11 +94,13 @@ typedef void __cdecl cfoo2_t(int&, double); typedef void __cdecl cfoo3_t(int&, bool, int, int); typedef void __cdecl cfoo4_t(int, bool, int*, int[], int, int, int, int, int); +#ifndef __CLR_VER typedef void __fastcall ffoo0_t(); typedef void __fastcall ffoo1_t(int); typedef void __fastcall ffoo2_t(int&, double); typedef void __fastcall ffoo3_t(int&, bool, int, int); typedef void __fastcall ffoo4_t(int, bool, int*, int[], int, int, int, int, int); +#endif #if (_MSC_VER >= 1800) && !defined(__CLR_VER) typedef void __vectorcall vfoo0_t(); typedef void __vectorcall vfoo1_t(int); @@ -118,11 +120,13 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function::value, true); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function::value, true); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function::value, true); +#ifndef __CLR_VER BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function::value, true); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function::value, true); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function::value, true); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function::value, true); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function::value, true); +#endif #if (_MSC_VER >= 1800) && !defined(__CLR_VER) BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function::value, true);