Version 6.4.0.0.beta1, tag libreoffice-6.4.0.0.beta1
[LibreOffice.git] / external / boost / clang-cl.patch.0
blob49259a0d5783d9fcbad7389ee1b88db1ac8fd16d
1 --- boost/multi_array/base.hpp
2 +++ boost/multi_array/base.hpp
3 @@ -222,7 +222,7 @@
4  // MSVC 2010 is broken in debug mode: it requires
5  // that an Output Iterator have output_iterator_tag in its iterator_category if 
6  // that iterator is not bidirectional_iterator or random_access_iterator.
7 -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600)
8 +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) || defined __clang__
9  struct mutable_iterator_tag
10   : boost::random_access_traversal_tag, std::input_iterator_tag
11  {
12 @@ -274,7 +274,7 @@
13    //
14    // iterator support
15    //
16 -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600)
17 +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) || defined __clang__
18    // Deal with VC 2010 output_iterator_tag requirement
19    typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference,
20                           mutable_iterator_tag> iterator;
22 # clang-cl cannot use MSVC's ATOMIC_FLAG_INIT:
23 --- boost/smart_ptr/detail/spinlock.hpp
24 +++ boost/smart_ptr/detail/spinlock.hpp
25 @@ -43,7 +43,7 @@
26  #elif defined( BOOST_SP_USE_PTHREADS )
27  #  include <boost/smart_ptr/detail/spinlock_pt.hpp>
29 -#elif !defined( BOOST_NO_CXX11_HDR_ATOMIC )
30 +#elif !defined( BOOST_NO_CXX11_HDR_ATOMIC ) && !(defined __clang__ && defined _MSC_VER && _MSC_VER == 1916)
31  #  include <boost/smart_ptr/detail/spinlock_std_atomic.hpp>
33  #elif defined(__GNUC__) && defined( __arm__ ) && !defined( __thumb__ )
35 # workdir/UnpackedTarball/boost/libs/thread/src/win32/thread.cpp(1006,36) :  error: dllimport cannot be applied to non-inline function definition
36 #     BOOST_THREAD_DECL void __cdecl on_process_enter()
37 #                                    ^
38 --- boost/thread/detail/config.hpp
39 +++ boost/thread/detail/config.hpp
40 @@ -396,7 +396,7 @@
41  #else //Use default
42  #   if defined(BOOST_THREAD_PLATFORM_WIN32)
43  #       if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) \
44 -      || defined(__MINGW32__) || defined(MINGW32) || defined(BOOST_MINGW32)
45 +      || defined(__MINGW32__) || defined(MINGW32) || defined(BOOST_MINGW32) || defined __clang__
46        //For compilers supporting auto-tss cleanup
47              //with Boost.Threads lib, use Boost.Threads lib
48  #           define BOOST_THREAD_USE_LIB