boostorg / boostorg/smart_ptr

clang-cl 9.0.1 build failures

Open
#120 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
111
Forks
116
PR merge metrics
No merged PRs in 30d

Description

Boost.Iterator CI fails with the following errors:

```
compile-c-c++ bin.v2\libs\iterator\test\indirect_iterator_test.test\clang-win-9.0.1\debug\x86_32\cxxstd-latest-iso\threading-multi\indirect_iterator_test.obj
In file included from libs\iterator\test\indirect_iterator_test.cpp:25:
In file included from .\boost/shared_ptr.hpp:17:
In file included from .\boost/smart_ptr/shared_ptr.hpp:28:
.\boost/smart_ptr/detail/spinlock_pool.hpp(77,5): error: no matching constructor for initialization of 'std::atomic_flag'
BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
^~~~~~~~~~~~~~~~~~~~~~~~~~
.\boost/smart_ptr/detail/spinlock_std_atomic.hpp(88,38): note: expanded from macro 'BOOST_DETAIL_SPINLOCK_INIT'
#define BOOST_DETAIL_SPINLOCK_INIT { ATOMIC_FLAG_INIT }
^~~~~~~~~~~~~~~~
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\atomic(158,26): note: expanded from macro 'ATOMIC_FLAG_INIT'
#define ATOMIC_FLAG_INIT {0}
^~~
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\atomic(169,2): note: candidate constructor not viable: no known conversion from 'int' to 'const std::atomic_flag' for 1st argument
atomic_flag(const atomic_flag&) = delete;
^
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\atomic(168,2): note: candidate constructor not viable: requires 0 arguments, but 1 was provided
atomic_flag() noexcept = default;
^
```

See [here](https://ci.appveyor.com/project/Lastique/iterator/builds/53068028/job/9a969r9a51bu82ge?fullLog=true#L2002) for the full log.

I've also noticed similar failures in Boost.Log [here](https://github.com/boostorg/log/actions/runs/19117847394/job/54631341160) with clang 3.5 and 3.6, but those compilers were rather old. This one is not.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.