]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/type_traits/test/test.hpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / type_traits / test / test.hpp
index e5492fe8759b7c4cfad863588f3fc48abac38dbc..9c46b9cdba8d7e838b7e54baf24b5a3f314c3df2 100644 (file)
 #include <iostream>
 #include <typeinfo>
 
+#ifdef TEST_CUDA_DEVICE
+#define TEST_VIA_STATIC_ASSERT
+#endif
+
 #ifdef BOOST_BORLANDC
 // we have to turn off these warnings otherwise we get swamped by the things:
 #pragma option -w-8008 -w-8066
@@ -85,6 +89,9 @@ int error_count = 0;
 #define BOOST_TEST_MESSAGE(message)\
    do{ std::cout << __FILE__ << ":" << __LINE__ << ": " << message << std::endl; }while(0)
 
+#ifdef TEST_CUDA_DEVICE
+#define BOOST_CHECK(pred) pred
+#else
 #define BOOST_CHECK(pred)\
    do{ \
       if(!(pred)){\
@@ -92,10 +99,19 @@ int error_count = 0;
          ++error_count;\
       } \
    }while(0)
+#endif
 
+#ifdef TEST_CUDA_DEVICE
+#define TT_TEST_BEGIN(trait_name)\
+   __global__ void test_proc(){
+#define TT_TEST_END }
+#define BOOST_TT_PROC __device__
+#else
 #define TT_TEST_BEGIN(trait_name)\
    int main(){
 #define TT_TEST_END return error_count; }
+#define BOOST_TT_PROC
+#endif
 
 #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !BOOST_WORKAROUND(BOOST_GCC, < 40704)
 
@@ -145,13 +161,13 @@ int error_count = 0;
 #define BOOST_DUMMY_MACRO_PARAM /**/
 
 #define BOOST_DECL_TRANSFORM_TEST(name, type, from, to)\
-void name(){ TRANSFORM_CHECK(type, from, to) }
+BOOST_TT_PROC void name(){ TRANSFORM_CHECK(type, from, to) }
 #define BOOST_DECL_TRANSFORM_TEST3(name, type, from)\
-void name(){ TRANSFORM_CHECK(type, from, BOOST_DUMMY_MACRO_PARAM) }
+BOOST_TT_PROC void name(){ TRANSFORM_CHECK(type, from, BOOST_DUMMY_MACRO_PARAM) }
 #define BOOST_DECL_TRANSFORM_TEST2(name, type, to)\
-void name(){ TRANSFORM_CHECK(type, BOOST_DUMMY_MACRO_PARAM, to) }
+BOOST_TT_PROC void name(){ TRANSFORM_CHECK(type, BOOST_DUMMY_MACRO_PARAM, to) }
 #define BOOST_DECL_TRANSFORM_TEST0(name, type)\
-void name(){ TRANSFORM_CHECK(type, BOOST_DUMMY_MACRO_PARAM, BOOST_DUMMY_MACRO_PARAM) }
+BOOST_TT_PROC void name(){ TRANSFORM_CHECK(type, BOOST_DUMMY_MACRO_PARAM, BOOST_DUMMY_MACRO_PARAM) }