]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/vmd/test/test_doc_empty.cxx
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / libs / vmd / test / test_doc_empty.cxx
index d989496a35b2266460b29cade4272fe9d003c605..857c582b0b71d9b1c4d030d17f2a189cb46d15f3 100644 (file)
@@ -1,5 +1,5 @@
 
-//  (C) Copyright Edward Diener 2011-2015
+//  (C) Copyright Edward Diener 2011-2015,2019
 //  Use, modification and distribution are subject to the Boost Software License,
 //  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 //  http://www.boost.org/LICENSE_1_0.txt).
@@ -7,6 +7,7 @@
 #include <boost/vmd/is_empty.hpp>
 #include <boost/preprocessor/tuple/elem.hpp>
 #include <boost/preprocessor/variadic/elem.hpp>
+#include <boost/preprocessor/variadic/has_opt.hpp>
 #include <boost/detail/lightweight_test.hpp>
 
 int main()
@@ -14,6 +15,8 @@ int main()
   
 #if BOOST_PP_VARIADICS
 
+ #define USE_VA_OPT BOOST_PP_VARIADIC_HAS_OPT()
+
  #define SMACRO() someoutput
  #define EMACRO(x) otheroutput x
  
@@ -84,7 +87,15 @@ int main()
  #define FMACRO4() ( any_number_of_tuple_elements )
  #define FMACRO5(param) ( any_number_of_tuple_elements )
  
-#if BOOST_VMD_MSVC
+#if USE_VA_OPT
+
+ #define FMACRO6(param1,param2) ( any_number_of_tuple_elements )
+ BOOST_TEST(!BOOST_VMD_IS_EMPTY(FMACRO4));
+ BOOST_TEST(!BOOST_VMD_IS_EMPTY(FMACRO5));
+ BOOST_TEST(!BOOST_VMD_IS_EMPTY(FMACRO6));
+#elif BOOST_VMD_MSVC
 
  #define FMACRO6(param1,param2) ( any_number_of_tuple_elements )
 
@@ -98,7 +109,7 @@ int main()
  BOOST_TEST(!BOOST_VMD_IS_EMPTY(FMACRO5));
  
 #endif
+
 #else
 
 BOOST_ERROR("No variadic macro support");