Subject: [Boost-bugs] [Boost C++ Libraries] #11281: VS 2010 with LLVM
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-05-11 09:29:15
#11281: VS 2010 with LLVM
---------------------------+------------------------------
Reporter: aaron.adato@⦠| Type: Bugs
Status: new | Milestone: To Be Determined
Component: None | Version: Boost 1.58.0
Severity: Problem | Keywords:
---------------------------+------------------------------
I can't compile anything that includes BOOST when I use as a compiler
clang on MSVC 2010/2013. The error is a compiler error and not a linker
error.
I already built BOOST for CLANG on windows, but I didn't get to the
linking stage.
Here is the error log:
1>------ Build started: Project: llvmTest, Configuration: Debug LLVM Win32
------
1> In file included from Source.cpp:1:
1> In file included from c:\Boost\include\boost-1_58\boost/thread.hpp:13:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/thread.hpp:12:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/thread_only.hpp:15:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/win32/thread_data.hpp:10:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/thread_time.hpp:9:
1> In file included from c:\Boost\include\boost-
1_58\boost/date_time/time_clock.hpp:17:
1> In file included from c:\Boost\include\boost-
1_58\boost/shared_ptr.hpp:17:
1> In file included from c:\Boost\include\boost-
1_58\boost/smart_ptr/shared_ptr.hpp:28:
1> In file included from c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/shared_count.hpp:29:
1> In file included from c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/sp_counted_base.hpp:45:
1>c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/sp_counted_base_clang.hpp(27,8): error :
unknown type name '_Atomic'
1> typedef _Atomic( boost::int_least32_t ) atomic_int_least32_t;
1> ^
1>c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/sp_counted_base_clang.hpp(27,24): error :
cannot define or redeclare 'int_least32_t' here because namespace 'detail'
does not enclose namespace 'boost'
1> typedef _Atomic( boost::int_least32_t ) atomic_int_least32_t;
1> ~~~~~~~^
1>c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/sp_counted_base_clang.hpp(27,24): error :
typedef declarator cannot be qualified
1> typedef _Atomic( boost::int_least32_t ) atomic_int_least32_t;
1> ~~~~~~~^
1>c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/sp_counted_base_clang.hpp(27,39): error :
expected ';' after top level declarator
1> typedef _Atomic( boost::int_least32_t ) atomic_int_least32_t;
1> ^
1>c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/sp_counted_base_clang.hpp(29,30): error :
unknown type name 'atomic_int_least32_t'
1> inline void atomic_increment( atomic_int_least32_t * pw )
1> ^
1>c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/sp_counted_base_clang.hpp(34,46): error :
unknown type name 'atomic_int_least32_t'
1> inline boost::int_least32_t atomic_decrement( atomic_int_least32_t *
pw )
1> ^
1>c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/sp_counted_base_clang.hpp(39,58): error :
unknown type name 'atomic_int_least32_t'
1> inline boost::int_least32_t atomic_conditional_increment(
atomic_int_least32_t * pw )
1> ^
1>c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/sp_counted_base_clang.hpp(68,4): error :
unknown type name 'atomic_int_least32_t'
1> atomic_int_least32_t use_count_; // #shared
1> ^
1>c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/sp_counted_base_clang.hpp(69,4): error :
unknown type name 'atomic_int_least32_t'
1> atomic_int_least32_t weak_count_; // #weak + (#shared != 0)
1> ^
1>c:\Boost\include\boost-
1_58\boost/smart_ptr/detail/sp_counted_base_clang.hpp(132,46): error :
unknown type name 'atomic_int_least32_t'
1> return __c11_atomic_load( const_cast< atomic_int_least32_t* >(
&use_count_ ), __ATOMIC_ACQUIRE );
1> ^
1> In file included from Source.cpp:1:
1> In file included from c:\Boost\include\boost-1_58\boost/thread.hpp:13:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/thread.hpp:12:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/thread_only.hpp:15:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/win32/thread_data.hpp:11:
1>c:\Boost\include\boost-
1_58\boost/thread/win32/thread_primitives.hpp(183,53): error :
redeclaration of 'Sleep' cannot add 'dllimport' attribute
1> __declspec(dllimport) void __stdcall Sleep(unsigned
long);
1> ^
1> c:\Boost\include\boost-1_58\boost/smart_ptr/detail/yield_k.hpp(63,28)
: note: previous declaration is here
1> extern "C" void __stdcall Sleep( unsigned long ms );
1> ^
1> In file included from Source.cpp:1:
1> In file included from c:\Boost\include\boost-1_58\boost/thread.hpp:13:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/thread.hpp:12:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/thread_only.hpp:15:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/win32/thread_data.hpp:11:
1>c:\Boost\include\boost-
1_58\boost/thread/win32/thread_primitives.hpp(418,20): error : no member
named 'Sleep' in namespace 'boost::detail::win32'; did you mean simply
'Sleep'?
1> ::boost::detail::win32::Sleep(0);
1> ^~~~~~~~~~~~~~~~~~~~~~~~
1> c:\Boost\include\boost-1_58\boost/smart_ptr/detail/yield_k.hpp(63,28)
: note: 'Sleep' declared here
1> extern "C" void __stdcall Sleep( unsigned long ms );
1> ^
1> In file included from Source.cpp:1:
1> In file included from c:\Boost\include\boost-1_58\boost/thread.hpp:13:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/thread.hpp:12:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/thread_only.hpp:15:
1> In file included from c:\Boost\include\boost-
1_58\boost/thread/win32/thread_data.hpp:11:
1>c:\Boost\include\boost-
1_58\boost/thread/win32/thread_primitives.hpp(426,44): error : no type
named 'Sleep' in namespace 'boost::detail::win32'
1> ::boost::detail::win32::Sleep(milliseconds);
1> ~~~~~~~~~~~~~~~~~~~~~~~~^
1> 13 errors generated.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
==========
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11281> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:18 UTC