<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="font-family: HelveticaNeue;" class="">Hello all,</div><div style="font-family: HelveticaNeue;" class=""><br class=""></div><div style="font-family: HelveticaNeue;" class="">Currently atomics are available in C through <stdatomic.h> and in C++ through <atomic>. These headers have some common names, so using both of them in the same translation unit usually doesn’t work. The downside is that in some cases diagnostic can be overly verbose and overwhelming. For example, compiling just 2 lines</div><div style="font-family: HelveticaNeue;" class=""><br class=""></div><div style="font-family: HelveticaNeue;" class="">#include <stdatomic.h></div><div style="font-family: HelveticaNeue;" class="">#include <atomic></div><div style="font-family: HelveticaNeue;" class=""><br class=""></div><div style="font-family: HelveticaNeue;" class="">results in 68 errors.</div><div style="font-family: HelveticaNeue;" class=""><br class=""></div><div style="font-family: HelveticaNeue;" class="">I am proposing to make these headers explicitly incompatible, so we have just a single error telling so instead of multiple errors. What do you think?</div><div style="font-family: HelveticaNeue;" class=""><br class=""></div><div style="font-family: HelveticaNeue;" class="">Alternative solution is to make these headers compatible. But the consensus seems to be that it’s not the right solution. See <a href="https://reviews.llvm.org/D26376" class="">https://reviews.llvm.org/D26376</a> for more details. There is also a proposal <a href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0943r0.html" class="">P0943R0: Support C atomics in C++</a>.  As far as I can tell, my proposal doesn’t interfere with P0943R0 but will be obsolete if that proposal is accepted. Regardless of the future development I think it is still beneficial to have better diagnostics in the short term.</div><div style="font-family: HelveticaNeue;" class=""><br class=""></div><div style="font-family: HelveticaNeue;" class="">I am not providing concrete implementation yet, at first I want to know the opinion of the community on the matter.</div><div style="font-family: HelveticaNeue;" class=""><br class=""></div><div style="font-family: HelveticaNeue;" class="">Thanks,</div><div style="font-family: HelveticaNeue;" class="">Volodymyr</div></body></html>