From 4de1bbd896b88332dd134a6867e9d792285e0ade Mon Sep 17 00:00:00 2001 From: Marcel Raad Date: Wed, 14 Oct 2015 19:51:17 +0200 Subject: [PATCH] Fix compilation for MSVC 10 With the Dinkumware standard library shipped with Visual C++ 10, the unordered containers are defined in namespace std::tr1 and brought into namespace std via a using-declaration. This leads to compile errors when re-declaring the classes in namespace std. --- .../phoenix/stl/algorithm/detail/std_unordered_set_or_map_fwd.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/boost/phoenix/stl/algorithm/detail/std_unordered_set_or_map_fwd.hpp b/include/boost/phoenix/stl/algorithm/detail/std_unordered_set_or_map_fwd.hpp index 251309a4..2e1a8436 100644 --- a/include/boost/phoenix/stl/algorithm/detail/std_unordered_set_or_map_fwd.hpp +++ b/include/boost/phoenix/stl/algorithm/detail/std_unordered_set_or_map_fwd.hpp @@ -20,8 +20,9 @@ #include #ifdef BOOST_PHOENIX_HAS_UNORDERED_SET_AND_MAP -#ifdef BOOST_PHOENIX_USING_LIBCPP -// Advance declaration not working for libc++ +#if defined(BOOST_PHOENIX_USING_LIBCPP) \ + || (defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB < 540)) +// Advance declaration not working for libc++ and MSVC 10 #include #include #else