Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#12713 closed Bugs (fixed)

VS2015 : fatal error C1189: #error : <atomic> is not supported when compiling with /clr or /clr:pure

Reported by: Dima Rusyy <dima.ru.com@…> Owned by: John Maddock
Milestone: Boost 1.64.0 Component: config
Version: Boost 1.63.0 Severity: Problem
Keywords: Cc:

Description

The code in boost/smart_ptr/detail/sp_counted_base.hpp :

#elif !defined( BOOST_NO_CXX11_HDR_ATOMIC )
# include <boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp>

doesn't look correct as it causes <atomic> header to be included. That leads to compilation error in /clr mode.

Includes files hierarchy :

1>  Note: including file:                  ..\boost\boost_1_63_0\boost/smart_ptr/detail/shared_count.hpp
1>  Note: including file:                   ..\boost\boost_1_63_0\boost/smart_ptr/bad_weak_ptr.hpp
1>  Note: including file:                   ..\boost\boost_1_63_0\boost/smart_ptr/detail/sp_counted_base.hpp
1>  Note: including file:                    ..\boost\boost_1_63_0\boost/smart_ptr/detail/sp_has_sync.hpp
..\boost\boost_1_63_0\boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp
1>  Note: including file:                     ..\boost\boost_1_63_0\boost/detail/sp_typeinfo.hpp
1>  Note: including file:                      ..\boost\boost_1_63_0\boost/core/typeinfo.hpp
1>  Note: including file:                     D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\atomic
1>D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\atomic(9): fatal error C1189: #error :  <atomic> is not supported when compiling with /clr or /clr:pure.

Change History (3)

comment:1 by Peter Dimov, 6 years ago

Component: smart_ptrconfig
Owner: changed from Peter Dimov to John Maddock

Thanks for the report. I could work around that on the SmartPtr side, but it looks more like a Config problem.

comment:2 by John Maddock, 6 years ago

Resolution: fixed
Status: newclosed

Fixed in https://github.com/boostorg/config/commit/ab0fa3b3d72d67c4589bca554525057189cf08ae.

Note that I had to disable a heck of a lot of stuff... not sure how much of Boost is still working in that mode.

comment:3 by John Maddock, 6 years ago

Milestone: To Be DeterminedBoost 1.64.0
Note: See TracTickets for help on using tickets.