From 934c3721123c7f667b3742c0f8d79710eb5f46f0 Mon Sep 17 00:00:00 2001 From: Paul Groke Date: Sun, 26 Feb 2017 15:31:38 +0100 Subject: [PATCH] don't define BOOST_DATE_TIME_NO_LOCALE in Boost.Config header --- include/boost/config/stdlib/xlcpp_zos.hpp | 9 --------- 1 file changed, 9 deletions(-) diff --git a/include/boost/config/stdlib/xlcpp_zos.hpp b/include/boost/config/stdlib/xlcpp_zos.hpp index 2f89638f..35cca6e9 100644 --- a/include/boost/config/stdlib/xlcpp_zos.hpp +++ b/include/boost/config/stdlib/xlcpp_zos.hpp @@ -23,15 +23,6 @@ #define BOOST_HAS_MACRO_USE_FACET -// Unfortunately the IBM z/OS XL C/C++ standard library has a bug when it comes to locales... -// The locale-enabled overloads of functions like std::isdigit or std::tolower in are defined in a nested namespace and pulled into "std" via "using namespace xyz;". -// The classic C versions of those functions are defined in the global namespace, and then pulled into "std" via "using ::functionname;" in . -// This causes problems when including both and , because the compiler will stop looking after it finds a function that was pulled in via "using ::functionname;" -// (which is correct behavior as far as the compiler is concerned). -// I.e. you cannot call a locale-enabled overload of one of those functions if both and were included. -// To deal with this we have to define at least BOOST_DATE_TIME_NO_LOCALE (possibly others?), even though there - theoretically - *is* support for locales. -#define BOOST_DATE_TIME_NO_LOCALE - #define BOOST_NO_CXX11_HDR_TYPE_TRAITS #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST