diff -uNr boost_1_59_0/boost/accumulators/statistics/p_square_cumulative_distribution.hpp boost_1_59_0/boost/accumulators/statistics/p_square_cumulative_distribution.hpp --- boost_1_59_0/boost/accumulators/statistics/p_square_cumulative_distribution.hpp 2015-03-23 13:17:14.000000000 -0400 +++ boost_1_59_0/boost/accumulators/statistics/p_square_cumulative_distribution.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -10,7 +10,7 @@ #if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__) # pragma message ("Warning: This header is deprecated. Please use: boost/accumulators/statistics/p_square_cumul_dist.hpp") -#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) +#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) && !defined(__ibmxl__) # warning "This header is deprecated. Please use: boost/accumulators/statistics/p_square_cumul_dist.hpp" #endif diff -uNr boost_1_59_0/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp boost_1_59_0/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp --- boost_1_59_0/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp 2015-03-23 13:17:14.000000000 -0400 +++ boost_1_59_0/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -10,7 +10,7 @@ #if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__) # pragma message ("Warning: This header is deprecated. Please use: boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp") -#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) +#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) && !defined(__ibmxl__) # warning "This header is deprecated. Please use: boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp" #endif diff -uNr boost_1_59_0/boost/archive/add_facet.hpp boost_1_59_0/boost/archive/add_facet.hpp --- boost_1_59_0/boost/archive/add_facet.hpp 2015-05-23 14:51:06.000000000 -0400 +++ boost_1_59_0/boost/archive/add_facet.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -23,7 +23,7 @@ // does STLport uses native STL for locales? #if (defined(__SGI_STL_PORT)&& defined(_STLP_NO_OWN_IOSTREAMS)) // and this native STL lib is old Dinkumware (has not defined _CPPLIB_VER) -# if (defined(_YVALS) && !defined(__IBMCPP__)) || !defined(_CPPLIB_VER) +# if (defined(_YVALS) && !(defined(__IBMCPP__) && !defined(__ibmxl__))) || !defined(_CPPLIB_VER) # define BOOST_ARCHIVE_OLD_DINKUMWARE_BENEATH_STLPORT # endif #endif diff -uNr boost_1_59_0/boost/asio/detail/pop_options.hpp boost_1_59_0/boost/asio/detail/pop_options.hpp --- boost_1_59_0/boost/asio/detail/pop_options.hpp 2015-03-23 16:24:12.000000000 -0400 +++ boost_1_59_0/boost/asio/detail/pop_options.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -107,7 +107,7 @@ // MPW MrCpp or SCpp -#elif defined(__IBMCPP__) +#elif defined(__IBMCPP__) && !defined(__ibmxl__) // IBM Visual Age diff -uNr boost_1_59_0/boost/asio/detail/push_options.hpp boost_1_59_0/boost/asio/detail/push_options.hpp --- boost_1_59_0/boost/asio/detail/push_options.hpp 2015-03-23 16:24:12.000000000 -0400 +++ boost_1_59_0/boost/asio/detail/push_options.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -114,7 +114,7 @@ // MPW MrCpp or SCpp -#elif defined(__IBMCPP__) +#elif defined(__IBMCPP__) && !defined(__ibmxl__) // IBM Visual Age diff -uNr boost_1_59_0/boost/asio/impl/src.cpp boost_1_59_0/boost/asio/impl/src.cpp --- boost_1_59_0/boost/asio/impl/src.cpp 2015-03-23 16:24:12.000000000 -0400 +++ boost_1_59_0/boost/asio/impl/src.cpp 2017-01-17 12:56:14.962697736 -0500 @@ -17,7 +17,7 @@ #elif defined(__GNUC__) \ || defined(__HP_aCC) \ || defined(__SUNPRO_CC) \ - || defined(__IBMCPP__) + || defined(__IBMCPP__) && !defined(__ibmxl__) # warning "This file is deprecated." # warning "Please #include instead." #endif diff -uNr boost_1_59_0/boost/bind/bind.hpp boost_1_59_0/boost/bind/bind.hpp --- boost_1_59_0/boost/bind/bind.hpp 2015-05-03 18:08:08.000000000 -0400 +++ boost_1_59_0/boost/bind/bind.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -1970,7 +1970,7 @@ typedef void type; }; -#if !defined(__IBMCPP__) || __IBMCPP_FUNC_CV_TMPL_ARG_DEDUCTION +#if !(defined(__IBMCPP__) && !defined(__ibmxl__)) || __IBMCPP_FUNC_CV_TMPL_ARG_DEDUCTION template< class R, class T > struct add_cref< R (T::*) () const, 1 > { diff -uNr boost_1_59_0/boost/config/compiler/xlcpp.hpp boost_1_59_0/boost/config/compiler/xlcpp.hpp --- boost_1_59_0/boost/config/compiler/xlcpp.hpp 2015-08-04 07:44:49.000000000 -0400 +++ boost_1_59_0/boost/config/compiler/xlcpp.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -52,6 +52,10 @@ // Clang supports "long long" in all compilation modes. #define BOOST_HAS_LONG_LONG +#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__) +# define BOOST_HAS_INT128 +#endif + // // Dynamic shared object (DSO) and dynamic-link library (DLL) support // diff -uNr boost_1_59_0/boost/config/requires_threads.hpp boost_1_59_0/boost/config/requires_threads.hpp --- boost_1_59_0/boost/config/requires_threads.hpp 2015-08-04 07:44:49.000000000 -0400 +++ boost_1_59_0/boost/config/requires_threads.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -70,7 +70,7 @@ // HP aCC # error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" -#elif defined(__IBMCPP__) +#elif defined(__IBMCPP__) && !defined(__ibmxl__) // IBM Visual Age # error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler" diff -uNr boost_1_59_0/boost/config/select_compiler_config.hpp boost_1_59_0/boost/config/select_compiler_config.hpp --- boost_1_59_0/boost/config/select_compiler_config.hpp 2015-08-04 07:44:49.000000000 -0400 +++ boost_1_59_0/boost/config/select_compiler_config.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -96,7 +96,7 @@ // IBM XL C/C++ for Linux (Little Endian) # define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp.hpp" -#elif defined(__IBMCPP__) +#elif defined(__IBMCPP__) && !defined(__ibmxl__) // IBM Visual Age or IBM XL C/C++ for Linux (Big Endian) # define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" diff -uNr boost_1_59_0/boost/config/select_platform_config.hpp boost_1_59_0/boost/config/select_platform_config.hpp --- boost_1_59_0/boost/config/select_platform_config.hpp 2015-08-04 07:44:49.000000000 -0400 +++ boost_1_59_0/boost/config/select_platform_config.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -53,7 +53,7 @@ // MacOS # define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" -#elif defined(__IBMCPP__) || defined(_AIX) +#elif (defined(__IBMCPP__) && !defined(__ibmxl__)) || defined(_AIX) // IBM # define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" diff -uNr boost_1_59_0/boost/config/select_stdlib_config.hpp boost_1_59_0/boost/config/select_stdlib_config.hpp --- boost_1_59_0/boost/config/select_stdlib_config.hpp 2015-08-04 07:44:49.000000000 -0400 +++ boost_1_59_0/boost/config/select_stdlib_config.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -37,7 +37,7 @@ // #include if they know whose std lib they are using. #if !defined(__LIBCOMO__) && !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\ && !defined(_LIBCPP_VERSION) && !defined(__GLIBCPP__) && !defined(__GLIBCXX__)\ - && !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !defined(__IBMCPP__)\ + && !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !(defined(__IBMCPP__) && !defined(__ibmxl__) )\ && !defined(MSIPL_COMPILE_H) && !defined(_YVALS) && !defined(_CPPLIB_VER) #include #endif @@ -66,7 +66,7 @@ // MSL standard lib: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" -#elif defined(__IBMCPP__) +#elif defined(__IBMCPP__) && !defined(__ibmxl__) // take the default VACPP std lib # define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" @@ -74,7 +74,7 @@ // Modena C++ standard library # define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" -#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) +#elif (defined(_YVALS) && !(defined(__IBMCPP__) && !defined(__ibmxl__) )) || defined(_CPPLIB_VER) // Dinkumware Library (this has to appear after any possible replacement libraries): # define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" diff -uNr boost_1_59_0/boost/core/explicit_operator_bool.hpp boost_1_59_0/boost/core/explicit_operator_bool.hpp --- boost_1_59_0/boost/core/explicit_operator_bool.hpp 2015-07-20 05:32:52.000000000 -0400 +++ boost_1_59_0/boost/core/explicit_operator_bool.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -78,7 +78,7 @@ namespace detail { -#if !defined(_MSC_VER) && !defined(__IBMCPP__) +#if !defined(_MSC_VER) && !(defined(__IBMCPP__) && !defined(__ibmxl__)) struct unspecified_bool { diff -uNr boost_1_59_0/boost/cstdint.hpp boost_1_59_0/boost/cstdint.hpp --- boost_1_59_0/boost/cstdint.hpp 2015-08-04 07:44:49.000000000 -0400 +++ boost_1_59_0/boost/cstdint.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -54,7 +54,7 @@ // this is triggered with GCC, because it defines __cplusplus < 199707L # define BOOST_NO_INT64_T # endif -# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX) +# elif defined(__FreeBSD__) || (defined(__IBMCPP__) && !defined(__ibmxl__))|| defined(_AIX) # include # else # include diff -uNr boost_1_59_0/boost/current_function.hpp boost_1_59_0/boost/current_function.hpp --- boost_1_59_0/boost/current_function.hpp 2015-01-30 18:08:49.000000000 -0500 +++ boost_1_59_0/boost/current_function.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -40,7 +40,7 @@ # define BOOST_CURRENT_FUNCTION __FUNCSIG__ -#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) +#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && !defined(__ibmxl__) && (__IBMCPP__ >= 500)) # define BOOST_CURRENT_FUNCTION __FUNCTION__ diff -uNr boost_1_59_0/boost/detail/container_fwd.hpp boost_1_59_0/boost/detail/container_fwd.hpp --- boost_1_59_0/boost/detail/container_fwd.hpp 2015-04-01 11:49:11.000000000 -0400 +++ boost_1_59_0/boost/detail/container_fwd.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -70,12 +70,12 @@ # elif defined(__MSL_CPP__) // MSL standard lib: # define BOOST_DETAIL_NO_CONTAINER_FWD -# elif defined(__IBMCPP__) +# elif defined(__IBMCPP__) && !defined(__ibmxl__) // The default VACPP std lib, forward declaration seems to be fine. # elif defined(MSIPL_COMPILE_H) // Modena C++ standard library # define BOOST_DETAIL_NO_CONTAINER_FWD -# elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) +# elif (defined(_YVALS) && !(defined(__IBMCPP__) && !defined(__ibmxl__))) || defined(_CPPLIB_VER) // Dinkumware Library (this has to appear after any possible replacement // libraries) # else diff -uNr boost_1_59_0/boost/detail/workaround.hpp boost_1_59_0/boost/detail/workaround.hpp --- boost_1_59_0/boost/detail/workaround.hpp 2015-08-04 07:44:49.000000000 -0400 +++ boost_1_59_0/boost/detail/workaround.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -85,7 +85,7 @@ #else #define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0 #endif -#ifndef __IBMCPP__ +#if !defined(__IBMCPP__) || defined(__ibmxl__) #define __IBMCPP___WORKAROUND_GUARD 1 #else #define __IBMCPP___WORKAROUND_GUARD 0 diff -uNr boost_1_59_0/boost/foreach.hpp boost_1_59_0/boost/foreach.hpp --- boost_1_59_0/boost/foreach.hpp 2015-03-04 15:36:38.000000000 -0500 +++ boost_1_59_0/boost/foreach.hpp 2017-01-17 12:56:14.962697736 -0500 @@ -55,7 +55,7 @@ || BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ || BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(1400)) \ || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ <= 3) && defined(__APPLE_CC__)) \ - || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \ + || (BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) && (__IBMCPP__ < 1300)) \ || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) \ || BOOST_WORKAROUND(__SUNPRO_CC, >= 0x5100) \ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x590)) @@ -589,7 +589,7 @@ this->get()->~T(); } - T const *get() const + T __attribute__((noinline)) const *get() const { if(this->is_rvalue) return static_cast(this->data.address()); diff -uNr boost_1_59_0/boost/functional/hash/detail/float_functions.hpp boost_1_59_0/boost/functional/hash/detail/float_functions.hpp --- boost_1_59_0/boost/functional/hash/detail/float_functions.hpp 2015-01-24 09:37:21.000000000 -0500 +++ boost_1_59_0/boost/functional/hash/detail/float_functions.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -47,7 +47,7 @@ #elif defined(__MSL_CPP__) // MSL standard lib: # define BOOST_HASH_CONFORMANT_FLOATS 0 -#elif defined(__IBMCPP__) +#elif defined(__IBMCPP__) && !defined(__ibmxl__) // VACPP std lib (probably conformant for much earlier version). # if __IBMCPP__ >= 1210 # define BOOST_HASH_CONFORMANT_FLOATS 1 @@ -57,7 +57,7 @@ #elif defined(MSIPL_COMPILE_H) // Modena C++ standard library # define BOOST_HASH_CONFORMANT_FLOATS 0 -#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) +#elif (defined(_YVALS) && !(defined(__IBMCPP__) && !defined(__ibmxl__))) || defined(_CPPLIB_VER) // Dinkumware Library (this has to appear after any possible replacement libraries): # if _CPPLIB_VER >= 405 # define BOOST_HASH_CONFORMANT_FLOATS 1 diff -uNr boost_1_59_0/boost/graph/edmunds_karp_max_flow.hpp boost_1_59_0/boost/graph/edmunds_karp_max_flow.hpp --- boost_1_59_0/boost/graph/edmunds_karp_max_flow.hpp 2014-08-03 15:46:30.000000000 -0400 +++ boost_1_59_0/boost/graph/edmunds_karp_max_flow.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -10,7 +10,7 @@ #if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__) # pragma message ("Warning: This header is deprecated. Please use: boost/graph/edmonds_karp_max_flow.hpp") -#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) +#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || (defined(__IBMCPP__) && !defined(__ibmxl__)) # warning "This header is deprecated. Please use: boost/graph/edmonds_karp_max_flow.hpp" #endif diff -uNr boost_1_59_0/boost/intrusive/detail/parent_from_member.hpp boost_1_59_0/boost/intrusive/detail/parent_from_member.hpp --- boost_1_59_0/boost/intrusive/detail/parent_from_member.hpp 2015-07-21 17:39:18.000000000 -0400 +++ boost_1_59_0/boost/intrusive/detail/parent_from_member.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -71,7 +71,7 @@ //This works with gcc, msvc, ac++, ibmcpp #elif defined(__GNUC__) || defined(__HP_aCC) || defined(BOOST_INTEL) || \ - defined(__IBMCPP__) || defined(__DECCXX) + defined(__IBMCPP__) && !defined(__ibmxl__) || defined(__DECCXX) const Parent * const parent = 0; const char *const member = static_cast(static_cast(&(parent->*ptr_to_member))); return std::ptrdiff_t(member - static_cast(static_cast(parent))); diff -uNr boost_1_59_0/boost/iostreams/detail/add_facet.hpp boost_1_59_0/boost/iostreams/detail/add_facet.hpp --- boost_1_59_0/boost/iostreams/detail/add_facet.hpp 2015-01-25 14:33:40.000000000 -0500 +++ boost_1_59_0/boost/iostreams/detail/add_facet.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -23,7 +23,7 @@ #if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && \ defined(_STLP_NO_OWN_IOSTREAMS) \ /**/ -# if (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) +# if (defined(_YVALS) && !(defined(__IBMCPP__) && !defined(__ibmxl__))) || defined(_CPPLIB_VER) # define BOOST_IOSTREMS_STLPORT_WITH_OLD_DINKUMWARE # endif #endif diff -uNr boost_1_59_0/boost/iostreams/positioning.hpp boost_1_59_0/boost/iostreams/positioning.hpp --- boost_1_59_0/boost/iostreams/positioning.hpp 2015-01-25 14:33:40.000000000 -0500 +++ boost_1_59_0/boost/iostreams/positioning.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -82,7 +82,7 @@ // Converts a std::fpos_t to a stream_offset inline stream_offset fpos_t_to_offset(std::fpos_t pos) { -# if defined(_POSIX_) || (_INTEGRAL_MAX_BITS >= 64) || defined(__IBMCPP__) +# if defined(_POSIX_) || (_INTEGRAL_MAX_BITS >= 64) || defined(__IBMCPP__) && !defined(__ibmxl__) return pos; # else return _FPOSOFF(pos); @@ -92,7 +92,7 @@ // Extracts the member _Fpos from a std::fpos inline std::fpos_t streampos_to_fpos_t(std::streampos pos) { -# if defined (_CPPLIB_VER) || defined(__IBMCPP__) +# if defined (_CPPLIB_VER) || defined(__IBMCPP__) && !defined(__ibmxl__) return pos.seekpos(); # else return pos.get_fpos_t(); diff -uNr boost_1_59_0/boost/math/tools/config.hpp boost_1_59_0/boost/math/tools/config.hpp --- boost_1_59_0/boost/math/tools/config.hpp 2015-05-05 08:32:10.000000000 -0400 +++ boost_1_59_0/boost/math/tools/config.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -43,7 +43,7 @@ # define BOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM) # include #endif -#ifdef __IBMCPP__ +#if defined(__IBMCPP__) && !defined(__ibmxl__) // // For reasons I don't unserstand, the tests with IMB's compiler all // pass at long double precision, but fail with real_concept, those tests @@ -98,7 +98,7 @@ # define BOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM) #endif -#ifdef __IBMCPP__ +#if defined(__IBMCPP__) && !defined(__ibmxl__) # define BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS #endif @@ -336,7 +336,7 @@ # endif #endif -#if ((defined(__linux__) && !defined(__UCLIBC__) && !defined(BOOST_MATH_HAVE_FIXED_GLIBC)) || defined(__QNX__) || defined(__IBMCPP__)) && !defined(BOOST_NO_FENV_H) +#if ((defined(__linux__) && !defined(__UCLIBC__) && !defined(BOOST_MATH_HAVE_FIXED_GLIBC)) || defined(__QNX__) || (defined(__IBMCPP__) && !defined(__ibmxl__))) && !defined(BOOST_NO_FENV_H) // // This code was introduced in response to this glibc bug: http://sourceware.org/bugzilla/show_bug.cgi?id=2445 // Basically powl and expl can return garbage when the result is small and certain exception flags are set diff -uNr boost_1_59_0/boost/math/tools/tuple.hpp boost_1_59_0/boost/math/tools/tuple.hpp --- boost_1_59_0/boost/math/tools/tuple.hpp 2015-05-05 08:32:10.000000000 -0400 +++ boost_1_59_0/boost/math/tools/tuple.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -27,7 +27,7 @@ }} -#elif (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || defined(__IBMCPP__) +#elif (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || defined(__IBMCPP__) && !defined(__ibmxl__) #include #include diff -uNr boost_1_59_0/boost/preprocessor/config/config.hpp boost_1_59_0/boost/preprocessor/config/config.hpp --- boost_1_59_0/boost/preprocessor/config/config.hpp 2015-07-17 07:45:08.000000000 -0400 +++ boost_1_59_0/boost/preprocessor/config/config.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -43,7 +43,7 @@ # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_DMC()) # elif defined(__BORLANDC__) && __BORLANDC__ >= 0x581 # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC) +# elif defined(__BORLANDC__) || defined(__IBMC__) && !defined(__ibmxl__) || defined(__IBMCPP__) && !defined(__ibmxl__) || defined(__SUNPRO_CC) # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC()) # elif defined(_MSC_VER) && !defined(__clang__) # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC()) @@ -73,7 +73,7 @@ # define BOOST_PP_VARIADICS_MSVC 0 # if !defined BOOST_PP_VARIADICS # /* variadic support explicitly disabled for all untested compilers */ -# if defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || ( defined __SUNPRO_CC && __SUNPRO_CC < 0x5130 ) || defined __HP_aCC && !defined __EDG__ || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI +# if defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || ( defined __SUNPRO_CC && __SUNPRO_CC < 0x5130 ) || defined __HP_aCC && !defined __EDG__ || defined __MRC__ || defined __SC__ || (defined __IBMCPP__ && !defined __ibmxl__ ) || defined __PGI # define BOOST_PP_VARIADICS 0 # /* VC++ (C/C++) */ # elif defined _MSC_VER && _MSC_VER >= 1400 && (!defined __EDG__ || defined(__INTELLISENSE__)) && !defined __clang__ @@ -92,7 +92,7 @@ # elif !BOOST_PP_VARIADICS + 1 < 2 # undef BOOST_PP_VARIADICS # define BOOST_PP_VARIADICS 1 -# if defined _MSC_VER && _MSC_VER >= 1400 && (defined(__INTELLISENSE__) || !(defined __EDG__ || defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __clang__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI)) +# if defined _MSC_VER && _MSC_VER >= 1400 && (defined(__INTELLISENSE__) || !(defined __EDG__ || defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __clang__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || (defined __IBMCPP__ && !defined __ibmxl__ ) || defined __PGI)) # undef BOOST_PP_VARIADICS_MSVC # define BOOST_PP_VARIADICS_MSVC 1 # endif diff -uNr boost_1_59_0/boost/preprocessor/seq/elem.hpp boost_1_59_0/boost/preprocessor/seq/elem.hpp --- boost_1_59_0/boost/preprocessor/seq/elem.hpp 2015-07-17 07:45:08.000000000 -0400 +++ boost_1_59_0/boost/preprocessor/seq/elem.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -35,7 +35,7 @@ # define BOOST_PP_SEQ_ELEM_III(im) BOOST_PP_SEQ_ELEM_IV(im) # define BOOST_PP_SEQ_ELEM_IV(x, _) x # else -# if defined(__IBMC__) || defined(__IBMCPP__) +# if defined(__IBMC__) && !defined(__ibmxl__) || defined(__IBMCPP__) && !defined(__ibmxl__) # define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq)) # else # define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_SEQ_ELEM_ ## i seq) diff -uNr boost_1_59_0/boost/preprocessor/seq/size.hpp boost_1_59_0/boost/preprocessor/seq/size.hpp --- boost_1_59_0/boost/preprocessor/seq/size.hpp 2015-07-17 07:45:08.000000000 -0400 +++ boost_1_59_0/boost/preprocessor/seq/size.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -22,7 +22,7 @@ # elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() || BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() # define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I(seq) # define BOOST_PP_SEQ_SIZE_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq) -# elif defined(__IBMC__) || defined(__IBMCPP__) +# elif defined(__IBMC__) && !defined(__ibmxl__) || defined(__IBMCPP__) && !defined(__ibmxl__) # define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq)) # else # define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq) diff -uNr boost_1_59_0/boost/regex/icu.hpp boost_1_59_0/boost/regex/icu.hpp --- boost_1_59_0/boost/regex/icu.hpp 2015-02-14 08:22:25.000000000 -0500 +++ boost_1_59_0/boost/regex/icu.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -243,7 +243,7 @@ // namespace re_detail{ -#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(__IBMCPP__) +#if !defined(BOOST_NO_MEMBER_TEMPLATES) && !(defined(__IBMCPP__) && !defined(__ibmxl__)) template inline u32regex do_make_u32regex(InputIterator i, InputIterator j, diff -uNr boost_1_59_0/boost/regex/v4/cpp_regex_traits.hpp boost_1_59_0/boost/regex/v4/cpp_regex_traits.hpp --- boost_1_59_0/boost/regex/v4/cpp_regex_traits.hpp 2015-02-14 08:22:25.000000000 -0500 +++ boost_1_59_0/boost/regex/v4/cpp_regex_traits.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -275,7 +275,7 @@ // we need to start by initialising our syntax map so we know which // character is used for which purpose: #ifndef BOOST_NO_STD_MESSAGES -#ifndef __IBMCPP__ +#if !defined(__IBMCPP__) || defined(__ibmxl__) typename std::messages::catalog cat = static_cast::catalog>(-1); #else typename std::messages::catalog cat = reinterpret_cast::catalog>(-1); @@ -702,7 +702,7 @@ void cpp_regex_traits_implementation::init() { #ifndef BOOST_NO_STD_MESSAGES -#ifndef __IBMCPP__ +#if !defined(__IBMCPP__) || defined(__ibmxl__) typename std::messages::catalog cat = static_cast::catalog>(-1); #else typename std::messages::catalog cat = reinterpret_cast::catalog>(-1); diff -uNr boost_1_59_0/boost/serialization/force_include.hpp boost_1_59_0/boost/serialization/force_include.hpp --- boost_1_59_0/boost/serialization/force_include.hpp 2015-05-23 14:51:06.000000000 -0400 +++ boost_1_59_0/boost/serialization/force_include.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -37,7 +37,7 @@ # define BOOST_DLLEXPORT __declspec(dllexport) # elif defined(__GNUC__) && (__GNUC__ >= 3) # define BOOST_USED __attribute__ ((__used__)) -# elif defined(__IBMCPP__) && (__IBMCPP__ >= 1110) +# elif defined(__IBMCPP__) && !defined(__ibmxl__) && (__IBMCPP__ >= 1110) # define BOOST_USED __attribute__ ((__used__)) # elif defined(__INTEL_COMPILER) && (BOOST_INTEL_CXX_VERSION >= 800) # define BOOST_USED __attribute__ ((__used__)) diff -uNr boost_1_59_0/boost/signal.hpp boost_1_59_0/boost/signal.hpp --- boost_1_59_0/boost/signal.hpp 2015-04-01 13:32:16.000000000 -0400 +++ boost_1_59_0/boost/signal.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -13,7 +13,7 @@ #ifndef BOOST_SIGNALS_NO_DEPRECATION_WARNING # if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__) # pragma message ("Warning: Boost.Signals is no longer being maintained and is now deprecated. Please switch to Boost.Signals2. To disable this warning message, define BOOST_SIGNALS_NO_DEPRECATION_WARNING.") -# elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) +# elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) && !defined(__ibmxl__) # warning "Boost.Signals is no longer being maintained and is now deprecated. Please switch to Boost.Signals2. To disable this warning message, define BOOST_SIGNALS_NO_DEPRECATION_WARNING." # endif #endif diff -uNr boost_1_59_0/boost/spirit.hpp boost_1_59_0/boost/spirit.hpp --- boost_1_59_0/boost/spirit.hpp 2015-07-14 18:38:56.000000000 -0400 +++ boost_1_59_0/boost/spirit.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -14,7 +14,7 @@ #if BOOST_VERSION >= 103800 #if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__) # pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic.hpp") -#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) +#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) && !defined(__ibmxl__) # warning "This header is deprecated. Please use: boost/spirit/include/classic.hpp" #endif #endif diff -uNr boost_1_59_0/boost/thread/detail/platform.hpp boost_1_59_0/boost/thread/detail/platform.hpp --- boost_1_59_0/boost/thread/detail/platform.hpp 2015-04-18 05:56:34.000000000 -0400 +++ boost_1_59_0/boost/thread/detail/platform.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -37,7 +37,7 @@ #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) # define BOOST_THREAD_MACOS //# define BOOST_THREAD_WAIT_BUG boost::posix_time::microseconds(1000) -#elif defined(__IBMCPP__) || defined(_AIX) +#elif defined(__IBMCPP__) && !defined(__ibmxl__) || defined(_AIX) # define BOOST_THREAD_AIX #elif defined(__amigaos__) # define BOOST_THREAD_AMIGAOS diff -uNr boost_1_59_0/boost/tr1/detail/config.hpp boost_1_59_0/boost/tr1/detail/config.hpp --- boost_1_59_0/boost/tr1/detail/config.hpp 2014-02-20 08:26:34.000000000 -0500 +++ boost_1_59_0/boost/tr1/detail/config.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -10,7 +10,7 @@ #if (defined(__GNUC__) && !(defined(linux) || defined(__linux) || defined(__linux__))) \ || (!defined(__FreeBSD__) && defined(__GNUC__)) \ - || (!defined(_AIX) && defined(__IBMCPP__) && (__IBMCPP__ >= 800)) + || (!defined(_AIX) && defined(__IBMCPP__) && !defined(__ibmxl__) && (__IBMCPP__ >= 800)) // Disable use of #include_next on Linux as typically we are installed in a // directory that is searched *after* the std lib include path. #if !defined(BOOST_HAS_INCLUDE_NEXT) diff -uNr boost_1_59_0/boost/type_traits/common_type.hpp boost_1_59_0/boost/type_traits/common_type.hpp --- boost_1_59_0/boost/type_traits/common_type.hpp 2015-05-21 13:51:23.000000000 -0400 +++ boost_1_59_0/boost/type_traits/common_type.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -14,7 +14,7 @@ #if defined(__SUNPRO_CC) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF) # define BOOST_COMMON_TYPE_DONT_USE_TYPEOF #endif -#if defined(__IBMCPP__) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF) +#if defined(__IBMCPP__) && !defined(__ibmxl__) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF) # define BOOST_COMMON_TYPE_DONT_USE_TYPEOF #endif diff -uNr boost_1_59_0/boost/type_traits/extent.hpp boost_1_59_0/boost/type_traits/extent.hpp --- boost_1_59_0/boost/type_traits/extent.hpp 2015-05-21 13:51:23.000000000 -0400 +++ boost_1_59_0/boost/type_traits/extent.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -80,7 +80,7 @@ BOOST_STATIC_CONSTANT(std::size_t, value = R); }; -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) && !defined(__MWERKS__) +#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !(defined(__IBMCPP__) && !defined(__ibmxl__)) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) && !defined(__MWERKS__) template struct extent_imp { diff -uNr boost_1_59_0/boost/type_traits/is_array.hpp boost_1_59_0/boost/type_traits/is_array.hpp --- boost_1_59_0/boost/type_traits/is_array.hpp 2015-05-21 13:51:23.000000000 -0400 +++ boost_1_59_0/boost/type_traits/is_array.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -33,7 +33,7 @@ BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const[N],true) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T volatile[N],true) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const volatile[N],true) -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !(defined(__IBMCPP__) && !defined(__ibmxl__)) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T[],true) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const[],true) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T volatile[],true) diff -uNr boost_1_59_0/boost/type_traits/is_convertible.hpp boost_1_59_0/boost/type_traits/is_convertible.hpp --- boost_1_59_0/boost/type_traits/is_convertible.hpp 2015-05-21 13:51:23.000000000 -0400 +++ boost_1_59_0/boost/type_traits/is_convertible.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -152,7 +152,7 @@ }; #elif (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL)) \ - || defined(__IBMCPP__) || defined(__HP_aCC) + || defined(__IBMCPP__) && !defined(__ibmxl__) || defined(__HP_aCC) // // This is *almost* an ideal world implementation as it doesn't rely // on undefined behaviour by passing UDT's through (...). diff -uNr boost_1_59_0/boost/type_traits/rank.hpp boost_1_59_0/boost/type_traits/rank.hpp --- boost_1_59_0/boost/type_traits/rank.hpp 2015-05-21 13:51:23.000000000 -0400 +++ boost_1_59_0/boost/type_traits/rank.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -49,7 +49,7 @@ BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp::value)); }; -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !(defined(__IBMCPP__) && !defined(__ibmxl__)) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) template struct rank_imp { diff -uNr boost_1_59_0/boost/type_traits/remove_all_extents.hpp boost_1_59_0/boost/type_traits/remove_all_extents.hpp --- boost_1_59_0/boost/type_traits/remove_all_extents.hpp 2015-05-21 13:51:23.000000000 -0400 +++ boost_1_59_0/boost/type_traits/remove_all_extents.hpp 2017-01-17 12:56:14.972697861 -0500 @@ -25,7 +25,7 @@ BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const[N],typename boost::remove_all_extents::type type) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T volatile[N],typename boost::remove_all_extents::type type) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const volatile[N],typename boost::remove_all_extents::type type) -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !(defined(__IBMCPP__) && !defined(__ibmxl__)) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T[],typename boost::remove_all_extents::type) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const[],typename boost::remove_all_extents::type) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T volatile[],typename boost::remove_all_extents::type) diff -uNr boost_1_59_0/boost/type_traits/remove_bounds.hpp boost_1_59_0/boost/type_traits/remove_bounds.hpp --- boost_1_59_0/boost/type_traits/remove_bounds.hpp 2015-05-21 13:51:23.000000000 -0400 +++ boost_1_59_0/boost/type_traits/remove_bounds.hpp 2017-01-17 12:56:14.982697986 -0500 @@ -25,7 +25,7 @@ BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const[N],T const type) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T volatile[N],T volatile type) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const volatile[N],T const volatile type) -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !(defined(__IBMCPP__) && !defined(__ibmxl__)) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T[],T) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const[],T const) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T volatile[],T volatile) diff -uNr boost_1_59_0/boost/type_traits/remove_extent.hpp boost_1_59_0/boost/type_traits/remove_extent.hpp --- boost_1_59_0/boost/type_traits/remove_extent.hpp 2015-05-21 13:51:23.000000000 -0400 +++ boost_1_59_0/boost/type_traits/remove_extent.hpp 2017-01-17 12:56:14.982697986 -0500 @@ -25,7 +25,7 @@ BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const[N],T const type) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T volatile[N],T volatile type) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const volatile[N],T const volatile type) -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !(defined(__IBMCPP__) && !defined(__ibmxl__)) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T[],T) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const[],T const) BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T volatile[],T volatile) diff -uNr boost_1_59_0/boost/unordered/detail/table.hpp boost_1_59_0/boost/unordered/detail/table.hpp --- boost_1_59_0/boost/unordered/detail/table.hpp 2015-02-22 10:12:28.000000000 -0500 +++ boost_1_59_0/boost/unordered/detail/table.hpp 2017-01-17 12:56:14.982697986 -0500 @@ -29,7 +29,7 @@ #elif defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__) #pragma message("Warning: BOOST_UNORDERED_DEPRECATED_EQUALITY is no longer supported.") #elif defined(__GNUC__) || defined(__HP_aCC) || \ - defined(__SUNPRO_CC) || defined(__IBMCPP__) + defined(__SUNPRO_CC) || defined(__IBMCPP__) && !defined(__ibmxl__) #warning "BOOST_UNORDERED_DEPRECATED_EQUALITY is no longer supported." #endif diff -uNr boost_1_59_0/boost/variant/detail/cast_storage.hpp boost_1_59_0/boost/variant/detail/cast_storage.hpp --- boost_1_59_0/boost/variant/detail/cast_storage.hpp 2015-06-25 17:53:21.000000000 -0400 +++ boost_1_59_0/boost/variant/detail/cast_storage.hpp 2017-01-17 12:56:14.982697986 -0500 @@ -25,12 +25,14 @@ // template +__attribute__((noinline)) inline T& cast_storage(void* storage) { return *static_cast(storage); } template +__attribute__((noinline)) inline const T& cast_storage(const void* storage) { return *static_cast(storage); diff -uNr boost_1_59_0/bootstrap.sh boost_1_59_0/bootstrap.sh --- boost_1_59_0/bootstrap.sh 2015-08-11 10:00:14.000000000 -0400 +++ boost_1_59_0/bootstrap.sh 2017-01-17 12:56:14.982697986 -0500 @@ -195,7 +195,7 @@ if test "x$TOOLSET" = x; then guessed_toolset=`$my_dir/tools/build/src/engine/build.sh --guess-toolset` case $guessed_toolset in - acc | darwin | gcc | como | mipspro | pathscale | pgi | qcc | vacpp ) + acc | darwin | gcc | como | mipspro | pathscale | pgi | qcc | vacpp | xlcpp ) TOOLSET=$guessed_toolset ;; diff -uNr boost_1_59_0/libs/atomic/test/Jamfile.v2 boost_1_59_0/libs/atomic/test/Jamfile.v2 --- boost_1_59_0/libs/atomic/test/Jamfile.v2 2015-01-25 10:50:58.000000000 -0500 +++ boost_1_59_0/libs/atomic/test/Jamfile.v2 2017-01-17 12:56:14.982697986 -0500 @@ -17,6 +17,7 @@ windows:BOOST_USE_WINDOWS_H windows:_WIN32_WINNT=0x0500 gcc,windows:"-lkernel32" + xlcpp:"-latomic" ; test-suite atomic diff -uNr boost_1_59_0/libs/context/build/Jamfile.v2 boost_1_59_0/libs/context/build/Jamfile.v2 --- boost_1_59_0/libs/context/build/Jamfile.v2 2015-06-29 11:08:22.000000000 -0400 +++ boost_1_59_0/libs/context/build/Jamfile.v2 2017-01-17 12:56:14.982697986 -0500 @@ -93,6 +93,11 @@ cpp -x assembler-with-cpp "$(>)" | as --64 -o "$(<)" } +actions gasxlcpp64 +{ + cpp -x assembler-with-cpp "$(>)" | as -a64 -o "$(<)" +} + actions gasx32 { cpp -x assembler-with-cpp "$(>)" | as --x32 -o "$(<)" @@ -409,8 +414,8 @@ # POWERPC_64 # POWERPC_64/SYSV/ELF alias asm_context_sources - : [ make asm/make_ppc64_sysv_elf_gas.o : asm/make_ppc64_sysv_elf_gas.S : @gas64 ] - [ make asm/jump_ppc64_sysv_elf_gas.o : asm/jump_ppc64_sysv_elf_gas.S : @gas64 ] + : [ make asm/make_ppc64_sysv_elf_gas.o : asm/make_ppc64_sysv_elf_gas.S : @gasxlcpp64 ] + [ make asm/jump_ppc64_sysv_elf_gas.o : asm/jump_ppc64_sysv_elf_gas.S : @gasxlcpp64 ] : sysv 64 power diff -uNr boost_1_59_0/libs/foreach/test/Jamfile.v2 boost_1_59_0/libs/foreach/test/Jamfile.v2 --- boost_1_59_0/libs/foreach/test/Jamfile.v2 2015-03-04 15:36:38.000000000 -0500 +++ boost_1_59_0/libs/foreach/test/Jamfile.v2 2017-01-17 12:56:14.982697986 -0500 @@ -8,9 +8,9 @@ project : requirements msvc:on ; test-suite "foreach" - : [ run stl_byval.cpp ] + : [ run stl_byval.cpp : : : xlcpp:-qalias=noansi ] [ run stl_byref.cpp ] - [ run stl_byval_r.cpp ] + [ run stl_byval_r.cpp : : : xlcpp:-qalias=noansi ] [ run stl_byref_r.cpp ] [ run array_byval.cpp ] [ run array_byref.cpp ] @@ -25,12 +25,12 @@ [ run pair_byval_r.cpp ] [ run pair_byref_r.cpp ] [ run user_defined.cpp ] - [ run call_once.cpp ] + [ run call_once.cpp : : : xlcpp:-qalias=noansi ] [ run rvalue_const.cpp ] [ run rvalue_nonconst.cpp ] [ run rvalue_const_r.cpp ] [ run rvalue_nonconst_r.cpp ] - [ run dependent_type.cpp ] + [ run dependent_type.cpp : : : xlcpp:-qalias=noansi ] [ run misc.cpp ] [ compile noncopyable.cpp ] ; diff -uNr boost_1_59_0/libs/geometry/test/algorithms/set_operations/intersection/Jamfile.v2 boost_1_59_0/libs/geometry/test/algorithms/set_operations/intersection/Jamfile.v2 --- boost_1_59_0/libs/geometry/test/algorithms/set_operations/intersection/Jamfile.v2 2015-08-03 08:51:49.000000000 -0400 +++ boost_1_59_0/libs/geometry/test/algorithms/set_operations/intersection/Jamfile.v2 2017-01-17 12:56:14.982697986 -0500 @@ -16,7 +16,7 @@ test-suite boost-geometry-algorithms-intersection : - [ run intersection.cpp : : : BOOST_GEOMETRY_TEST_ONLY_ONE_TYPE + [ run intersection.cpp : : : BOOST_GEOMETRY_TEST_ONLY_ONE_TYPE xlcpp:-qfloat=nomaf : algorithms_intersection ] [ run intersection_areal_areal_linear.cpp : : : : algorithms_intersection_areal_areal_linear ] [ run intersection_linear_linear.cpp : : : : algorithms_intersection_linear_linear ] diff -uNr boost_1_59_0/libs/geometry/test/strategies/Jamfile.v2 boost_1_59_0/libs/geometry/test/strategies/Jamfile.v2 --- boost_1_59_0/libs/geometry/test/strategies/Jamfile.v2 2015-08-03 08:51:49.000000000 -0400 +++ boost_1_59_0/libs/geometry/test/strategies/Jamfile.v2 2017-01-17 14:14:56.003756969 -0500 @@ -16,7 +16,7 @@ test-suite boost-geometry-strategies : - [ run andoyer.cpp : : : : strategies_andoyer ] + [ run andoyer.cpp : : : xlcpp:-qstrict : strategies_andoyer ] [ run cross_track.cpp : : : : strategies_cross_track ] [ run crossings_multiply.cpp : : : : strategies_crossings_multiply ] [ run distance_default_result.cpp : : : : strategies_distance_default_result ] @@ -31,9 +31,9 @@ [ run spherical_side.cpp : : : : strategies_spherical_side ] [ run segment_intersection_collinear.cpp : : : : strategies_segment_intersection_collinear ] [ run side_of_intersection.cpp : : : : strategies_side_of_intersection ] - [ run thomas.cpp : : : : strategies_thomas ] + [ run thomas.cpp : : : xlcpp:-qstrict : strategies_thomas ] [ run transform_cs.cpp : : : : strategies_transform_cs ] [ run transformer.cpp : : : : strategies_transformer ] - [ run vincenty.cpp : : : : strategies_vincenty ] + [ run vincenty.cpp : : : xlcpp:-qstrict : strategies_vincenty ] [ run winding.cpp : : : : strategies_winding ] ; diff -uNr boost_1_59_0/libs/lockfree/test/Jamfile.v2 boost_1_59_0/libs/lockfree/test/Jamfile.v2 --- boost_1_59_0/libs/lockfree/test/Jamfile.v2 2015-06-11 12:00:57.000000000 -0400 +++ boost_1_59_0/libs/lockfree/test/Jamfile.v2 2017-01-17 12:56:14.982697986 -0500 @@ -12,7 +12,7 @@ : source-location . : requirements true - ../../test/build//boost_test_exec_monitor + ../../test/build//boost_unit_test_framework ../../atomic/build//boost_atomic ; @@ -29,6 +29,7 @@ : # requirements acc:-lrt acc-pa_risc:-lrt + xlcpp:-latomic windows,gcc:"-lole32 -loleaut32 -lpsapi -ladvapi32" hpux,gcc:"-Wl,+as,mpas" ../../thread/build//boost_thread/ diff -uNr boost_1_59_0/libs/smart_ptr/test/Jamfile.v2 boost_1_59_0/libs/smart_ptr/test/Jamfile.v2 --- boost_1_59_0/libs/smart_ptr/test/Jamfile.v2 2015-06-05 18:40:42.000000000 -0400 +++ boost_1_59_0/libs/smart_ptr/test/Jamfile.v2 2017-01-17 14:22:22.909403008 -0500 @@ -180,6 +180,6 @@ [ run weak_from_this_test.cpp ] [ run weak_from_this_test2.cpp ] - [ run sp_bml_unique_ptr_test.cpp ] + [ run sp_bml_unique_ptr_test.cpp : : : xlcpp:-qalias=noansi ] ; } diff -uNr boost_1_59_0/libs/spirit/repository/test/Jamfile boost_1_59_0/libs/spirit/repository/test/Jamfile --- boost_1_59_0/libs/spirit/repository/test/Jamfile 2015-07-14 18:38:56.000000000 -0400 +++ boost_1_59_0/libs/spirit/repository/test/Jamfile 2017-01-17 14:25:35.891826667 -0500 @@ -30,7 +30,7 @@ [ run qi/seek.cpp : : : : qi_repo_seek ] # run Karma repository tests - [ run karma/confix.cpp : : : : karma_repo_confix ] + [ run karma/confix.cpp : : : xlcpp:-qalias=noansi : karma_repo_confix ] [ run karma/subrule.cpp : : : : karma_repo_subrule ] ; diff -uNr boost_1_59_0/libs/spirit/test/Jamfile boost_1_59_0/libs/spirit/test/Jamfile --- boost_1_59_0/libs/spirit/test/Jamfile 2015-07-14 18:38:56.000000000 -0400 +++ boost_1_59_0/libs/spirit/test/Jamfile 2017-01-17 14:19:46.367430606 -0500 @@ -53,7 +53,7 @@ [ run qi/actions.cpp : : : : qi_actions ] [ run qi/actions2.cpp : : : : qi_actions2 ] - [ run qi/alternative.cpp : : : : qi_alternative ] + [ run qi/alternative.cpp : : : xlcpp:-qalias=noansi : qi_alternative ] [ run qi/attr.cpp : : : : qi_attr ] [ run qi/attribute1.cpp : : : : qi_attribute1 ] [ run qi/attribute2.cpp : : : : qi_attribute2 ] @@ -67,7 +67,7 @@ [ run qi/char_class.cpp : : : : qi_char_class ] [ run qi/debug.cpp : : : : qi_debug ] [ run qi/difference.cpp : : : : qi_difference ] - [ run qi/encoding.cpp : : : : qi_encoding ] + [ run qi/encoding.cpp : : : xlcpp:-qalias=noansi : qi_encoding ] [ run qi/end.cpp : : : : qi_end ] [ run qi/eps.cpp : : : : qi_eps ] [ run qi/expect.cpp : : : : qi_expect ] @@ -79,7 +79,7 @@ [ run qi/lazy.cpp : : : : qi_lazy ] [ run qi/lexeme.cpp : : : : qi_lexeme ] [ run qi/lit1.cpp : : : : qi_lit1 ] - [ run qi/lit2.cpp : : : : qi_lit2 ] + [ run qi/lit2.cpp : : : xlcpp:-qalias=noansi : qi_lit2 ] [ run qi/list.cpp : : : : qi_list ] [ run qi/hold.cpp : : : : qi_hold ] [ run qi/match_manip1.cpp : : : : qi_match_manip1 ] @@ -90,7 +90,7 @@ [ run qi/no_case.cpp : : : : qi_no_case ] [ run qi/no_skip.cpp : : : : qi_no_skip ] [ run qi/not_predicate.cpp : : : : qi_not_predicate ] - [ run qi/optional.cpp : : : : qi_optional ] + [ run qi/optional.cpp : : : xlcpp:-qalias=noansi : qi_optional ] [ run qi/parse_attr.cpp : : : : qi_parse_attr ] [ run qi/pass_container1.cpp : : : : qi_pass_container1 ] [ run qi/pass_container2.cpp : : : : qi_pass_container2 ] @@ -218,9 +218,9 @@ [ run karma/sequence1.cpp : : : : karma_sequence1 ] [ run karma/sequence2.cpp : : : : karma_sequence2 ] [ run karma/stream.cpp : : : : karma_stream ] - [ run karma/symbols1.cpp : : : : karma_symbols1 ] - [ run karma/symbols2.cpp : : : : karma_symbols2 ] - [ run karma/symbols3.cpp : : : : karma_symbols3 ] + [ run karma/symbols1.cpp : : : xlcpp:-qalias=noansi : karma_symbols1 ] + [ run karma/symbols2.cpp : : : xlcpp:-qalias=noansi : karma_symbols2 ] + [ run karma/symbols3.cpp : : : xlcpp:-qalias=noansi : karma_symbols3 ] [ run karma/tricky_alignment.cpp : : : : karma_tricky_alignment ] [ run karma/uint_radix.cpp : : : : karma_uint_radix ] [ run karma/utree1.cpp : : : : karma_utree1 ] diff -uNr boost_1_59_0/libs/test/test/Jamfile.v2 boost_1_59_0/libs/test/test/Jamfile.v2 --- boost_1_59_0/libs/test/test/Jamfile.v2 2015-07-21 17:41:49.000000000 -0400 +++ boost_1_59_0/libs/test/test/Jamfile.v2 2017-01-17 12:56:14.982697986 -0500 @@ -31,6 +31,7 @@ gcc:-std=c++11 clang:-Wno-c99-extensions clang:-std=c++11 + xlcpp:-std=c++11 # clang:-Wconversion # clang:-Wno-sign-conversion # gcc:-E diff -uNr boost_1_59_0/libs/type_index/test/Jamfile.v2 boost_1_59_0/libs/type_index/test/Jamfile.v2 --- boost_1_59_0/libs/type_index/test/Jamfile.v2 2015-07-30 16:00:41.000000000 -0400 +++ boost_1_59_0/libs/type_index/test/Jamfile.v2 2017-01-17 12:56:14.982697986 -0500 @@ -13,9 +13,9 @@ # Making own `nortti` that is link compatible. # We explicitly define BOOST_NO_RTTI because it sometimes can not be detected by build system. -nortti = gcc:"-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID" clang:"-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID" intel:"-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID" darwin:"-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID" msvc:/GR- ; +nortti = gcc:"-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID" clang:"-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID" intel:"-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID" darwin:"-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID" msvc:/GR- xlcpp:"-qnortti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID" ; -norttidefines = gcc:"-DBOOST_NO_RTTI -DBOOST_NO_TYPEID" clang:"-DBOOST_NO_RTTI -DBOOST_NO_TYPEID" intel:"-DBOOST_NO_RTTI -DBOOST_NO_TYPEID" darwin:"-DBOOST_NO_RTTI -DBOOST_NO_TYPEID" msvc:-DBOOST_NO_RTTI ; +norttidefines = gcc:"-DBOOST_NO_RTTI -DBOOST_NO_TYPEID" clang:"-DBOOST_NO_RTTI -DBOOST_NO_TYPEID" intel:"-DBOOST_NO_RTTI -DBOOST_NO_TYPEID" darwin:"-DBOOST_NO_RTTI -DBOOST_NO_TYPEID" msvc:-DBOOST_NO_RTTI xlcpp:"-DBOOST_NO_RTTI -DBOOST_NO_TYPEID" ; # Making libraries that CANNOT work between rtti-on/rtti-off modules diff -uNr boost_1_59_0/libs/utility/test/Jamfile.v2 boost_1_59_0/libs/utility/test/Jamfile.v2 --- boost_1_59_0/libs/utility/test/Jamfile.v2 2015-02-27 01:26:11.000000000 -0500 +++ boost_1_59_0/libs/utility/test/Jamfile.v2 2017-01-17 12:56:14.982697986 -0500 @@ -30,9 +30,9 @@ [ run string_ref_test1.cpp unit_test_framework ] [ run string_ref_test2.cpp unit_test_framework ] [ run string_ref_test_io.cpp unit_test_framework ] - [ run ../value_init_test.cpp ] + [ run ../value_init_test.cpp : : : xlcpp:-qalias=noansi ] [ run ../value_init_workaround_test.cpp ] - [ run ../initialized_test.cpp ] + [ run ../initialized_test.cpp : : : xlcpp:-qalias=noansi ] [ compile-fail ../value_init_test_fail1.cpp ] [ compile-fail ../value_init_test_fail2.cpp ] [ compile-fail ../value_init_test_fail3.cpp ] diff -uNr boost_1_59_0/tools/build/src/build/property.jam boost_1_59_0/tools/build/src/build/property.jam --- boost_1_59_0/tools/build/src/build/property.jam 2015-08-11 09:53:51.000000000 -0400 +++ boost_1_59_0/tools/build/src/build/property.jam 2017-01-17 12:56:14.982697986 -0500 @@ -290,7 +290,16 @@ if $(msg) { import errors ; - errors.error "Invalid property "'$(property:J=" ")'": "$(msg:J=" "). ; + #IBM XL compilers OK with empty cflags/linkflags + if "$(msg)" != "No value specified for feature 'cflags'" + && "$(msg)" != "No value specified for feature 'linkflags'" + { + errors.error "Invalid property "'$(property:J=" ")'": "$(msg:J=" "). ; + } + else + { + errors.warning "Found empty cflags or linkflags" ; + } } } diff -uNr boost_1_59_0/tools/build/src/engine/boehm_gc/os_dep.c boost_1_59_0/tools/build/src/engine/boehm_gc/os_dep.c --- boost_1_59_0/tools/build/src/engine/boehm_gc/os_dep.c 2015-08-11 09:53:51.000000000 -0400 +++ boost_1_59_0/tools/build/src/engine/boehm_gc/os_dep.c 2017-01-17 12:56:14.982697986 -0500 @@ -503,7 +503,7 @@ # include -# if !defined(__IBMC__) && !defined(__WATCOMC__) /* e.g. EMX */ +# if !(defined(__IBMC__) && !defined(__ibmxl__)) && !defined(__WATCOMC__) /* e.g. EMX */ struct exe_hdr { unsigned short magic_number; diff -uNr boost_1_59_0/tools/build/src/tools/xlcpp.jam boost_1_59_0/tools/build/src/tools/xlcpp.jam --- boost_1_59_0/tools/build/src/tools/xlcpp.jam 2015-08-11 09:53:51.000000000 -0400 +++ boost_1_59_0/tools/build/src/tools/xlcpp.jam 2017-01-17 12:56:14.982697986 -0500 @@ -41,7 +41,7 @@ # Declare flags flags xlcpp CFLAGS off : -qNOOPTimize ; -flags xlcpp CFLAGS speed : ; +flags xlcpp CFLAGS speed : ; flags xlcpp CFLAGS space : -O2 -qcompact ; # Discretionary inlining (not recommended) @@ -51,8 +51,8 @@ flags xlcpp CFLAGS full : ; # Exception handling -flags xlcpp C++FLAGS off : -qnoeh ; -flags xlcpp C++FLAGS on : -qeh ; +flags xlcpp C++FLAGS off : -fno-exceptions ; +flags xlcpp C++FLAGS on : -fexceptions ; # Run-time Type Identification flags xlcpp C++FLAGS off : -qnortti ; @@ -108,6 +108,8 @@ flags xlcpp HDRS ; flags xlcpp STDHDRS ; flags xlcpp.link OPTIONS ; +flags xlcpp.link RPATH_LINK ; +flags xlcpp.link RPATH ; flags xlcpp ARFLAGS ; flags xlcpp LIBPATH ; @@ -116,10 +118,10 @@ flags xlcpp FINDLIBS ; # Select the compiler name according to the threading model. -flags xlcpp VA_C_COMPILER single : xlc ; -flags xlcpp VA_C_COMPILER multi : xlc ; -flags xlcpp VA_CXX_COMPILER single : xlC ; -flags xlcpp VA_CXX_COMPILER multi : xlC ; +flags xlcpp VA_C_COMPILER single : xlc ; +flags xlcpp VA_C_COMPILER multi : xlc_r ; +flags xlcpp VA_CXX_COMPILER single : xlC ; +flags xlcpp VA_CXX_COMPILER multi : xlC_r ; SPACE = " " ; @@ -127,12 +129,12 @@ actions xlcpp.link bind NEEDLIBS { - $(VA_CXX_COMPILER) $(EXE-LINKFLAGS) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS) $(USER_OPTIONS) + $(VA_CXX_COMPILER) $(EXE-LINKFLAGS) $(LINKFLAGS) -Wl,-R$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS) $(USER_OPTIONS) } actions xlcpp.link.dll bind NEEDLIBS { - xlC -G $(LINKFLAGS) -o "$(<[1])" $(HAVE_SONAME)-Wl,-soname$(SPACE)-Wl,$(<[-1]:D=) -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS) $(USER_OPTIONS) + $(VA_CXX_COMPILER) -G $(LINKFLAGS) -o "$(<[1])" $(HAVE_SONAME)-Wl,-soname$(SPACE)-Wl,$(<[-1]:D=) -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(OPTIONS) $(USER_OPTIONS) } actions xlcpp.compile.c