We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2019/10/26 by uchan
<atomic> はマルチスレッドサポートがないと使えない。が,割り込み処理などでアトミック型を使いたい。Newlib が提供する <stdatomic.h> であれば使える。
<atomic>
<stdatomic.h>
<atomic> がマルチスレッドサポートを要求する真の理由を探索してはいないが,予想としては CPU レベルで読み書きがアトミックにならない型であってもアトミック型として使えるように,内部でミューテックス等を使うからではないか。
2018 年末に提案されてからマージされず放置されているがこんなパッチが提案されてはいる。 [libcxx] Allow use of in baremetal systems when threading is disabled.
このパッチを見るに,マルチスレッドサポートが無い場合に <atomic> の使用をエラーにしている行( #error )を無効化するだけで <atomic> をインクルードして使うことができるようになるようだ。どうしても使いたい人はこのパッチを当ててみるのもいいだろう。
#error
building libcxx