diff -rupN boost_1_42_0/boost/serialization/extended_type_info_no_rtti.hpp boost_1_42_0_qnx-6.3.2/boost/serialization/extended_type_info_no_rtti.hpp --- boost_1_42_0/boost/serialization/extended_type_info_no_rtti.hpp 2009-12-15 02:53:16.000000000 +0300 +++ boost_1_42_0_qnx-6.3.2/boost/serialization/extended_type_info_no_rtti.hpp 2010-03-11 11:32:05.246838600 +0300 @@ -124,7 +124,11 @@ public: } virtual void * construct(unsigned int count, ...) const{ // count up the arguments +#ifdef __QNXNTO__ + va_list ap; +#else std::va_list ap; +#endif va_start(ap, count); switch(count){ case 0: diff -rupN boost_1_42_0/boost/serialization/extended_type_info_typeid.hpp boost_1_42_0_qnx-6.3.2/boost/serialization/extended_type_info_typeid.hpp --- boost_1_42_0/boost/serialization/extended_type_info_typeid.hpp 2009-12-15 02:53:16.000000000 +0300 +++ boost_1_42_0_qnx-6.3.2/boost/serialization/extended_type_info_typeid.hpp 2010-03-11 11:27:28.345838600 +0300 @@ -19,7 +19,11 @@ // See http://www.boost.org for updates, documentation, and revision history. #include +#ifdef __QNXNTO__ +#include +#else #include +#endif #include #include @@ -109,7 +113,11 @@ public: } virtual void * construct(unsigned int count, ...) const{ // count up the arguments +#ifdef __QNXNTO__ + va_list ap; +#else std::va_list ap; +#endif va_start(ap, count); switch(count){ case 0: diff -rupN boost_1_42_0/boost/serialization/factory.hpp boost_1_42_0_qnx-6.3.2/boost/serialization/factory.hpp --- boost_1_42_0/boost/serialization/factory.hpp 2009-08-02 03:32:13.000000000 +0400 +++ boost_1_42_0_qnx-6.3.2/boost/serialization/factory.hpp 2010-03-11 11:31:08.897338600 +0300 @@ -16,7 +16,11 @@ // See http://www.boost.org for updates, documentation, and revision history. +#ifdef __QNXNTO__ +#include +#else #include // valist +#endif #include // NULL #include @@ -34,7 +38,11 @@ namespace serialization { // default implementation does nothing. template +#ifdef __QNXNTO__ +T * factory(va_list){ +#else T * factory(std::va_list){ +#endif assert(false); // throw exception here? return NULL; @@ -43,6 +51,39 @@ T * factory(std::va_list){ } // namespace serialization } // namespace boost +#ifdef __QNXNTO__ +#define BOOST_SERIALIZATION_FACTORY(N, T, A0, A1, A2, A3) \ +namespace boost { \ +namespace serialization { \ + template<> \ + T * factory(va_list ap){ \ + BOOST_PP_IF(BOOST_PP_GREATER(N,0) \ + ,A0 a0 = va_arg(ap, A0); \ + ,BOOST_PP_IF(BOOST_PP_GREATER(N,1) \ + ,A1 a1 = va_arg(ap, A1); \ + ,BOOST_PP_IF(BOOST_PP_GREATER(N,2) \ + ,A2 a2 = va_arg(ap, A2); \ + ,BOOST_PP_IF(BOOST_PP_GREATER(N,3) \ + ,A3 a3 = va_arg(ap, A3); \ + ,BOOST_PP_EMPTY() \ + )))) \ + return new T( \ + BOOST_PP_IF(BOOST_PP_GREATER(N,0) \ + ,a0 \ + ,BOOST_PP_IF(BOOST_PP_GREATER(N,1) \ + ,a1 \ + ,BOOST_PP_IF(BOOST_PP_GREATER(N,2) \ + ,a2 \ + ,BOOST_PP_IF(BOOST_PP_GREATER(N,3) \ + ,a3 \ + ,BOOST_PP_EMPTY() \ + )))) \ + ); \ + } \ +} \ +} \ +/**/ +#else #define BOOST_SERIALIZATION_FACTORY(N, T, A0, A1, A2, A3) \ namespace boost { \ namespace serialization { \ @@ -74,6 +115,7 @@ namespace serialization { } \ } \ /**/ +#endif #define BOOST_SERIALIZATION_FACTORY_4(T, A0, A1, A2, A3) \ BOOST_SERIALIZATION_FACTORY(4, T, A0, A1, A2, A3)