hanchenye-llvm-project/libcxx
Volodymyr Sapsai dea80d5174 Emit an error when mixing <stdatomic.h> and <atomic>
Atomics in C and C++ are incompatible at the moment and mixing the
headers can result in confusing error messages.

Emit an error explicitly telling about the incompatibility. Introduce
the macro `__ALLOW_STDC_ATOMICS_IN_CXX__` that allows to choose in C++
between C atomics and C++ atomics.

rdar://problem/27435938

Reviewers: rsmith, EricWF, mclow.lists

Reviewed By: mclow.lists

Subscribers: jkorous-apple, christof, bumblebritches57, JonChesterfield, smeenai, cfe-commits

Differential Revision: https://reviews.llvm.org/D45470

llvm-svn: 331379
2018-05-02 17:56:45 +00:00
..
benchmarks Implement filesystem NB comments, relative paths, and related issues. 2018-04-02 23:03:41 +00:00
cmake Revert "[CMake] Use custom command and target to install libc++ headers" 2018-04-09 04:36:04 +00:00
docs Fix typos. 2018-02-13 08:12:00 +00:00
fuzzing Wrote my own version of is_permutation; that was dominating the timings 2018-01-19 03:17:45 +00:00
include Emit an error when mixing <stdatomic.h> and <atomic> 2018-05-02 17:56:45 +00:00
lib Revert "[CMake] Use custom command and target to install libc++ headers" 2018-04-09 04:36:04 +00:00
src Fix locale test data for GLIBC 2.27 and newer. 2018-04-04 04:00:14 +00:00
test Emit an error when mixing <stdatomic.h> and <atomic> 2018-05-02 17:56:45 +00:00
utils Avoid Clang error about throwing _LIBCPP_ASSERT in noexcept function. 2018-03-22 23:01:08 +00:00
www Mark <span> as "In progress" 2018-04-06 04:43:27 +00:00
.arcconfig [libcxx] Set up .arcconfig to point to new Diffusion CXX repository 2017-12-04 17:55:28 +00:00
.clang-format Make clang-format use C++03 syntax 2017-04-15 02:45:43 +00:00
.gitignore
CMakeLists.txt [CMake] Set the default ABI version for Fuchsia in CMake as well 2018-04-13 01:59:15 +00:00
CREDITS.TXT Try again, this time with the correct address 2017-12-29 19:26:53 +00:00
LICENSE.TXT Update year to 2017 2017-01-03 11:20:43 +00:00
NOTES.TXT Revert "[CMake] Use custom command and target to install libc++ headers" 2018-04-09 04:36:04 +00:00
TODO.TXT Add list of filesystem NB comments to TODO.TXT so they can be tracked separately 2017-03-06 21:23:36 +00:00
appveyor-reqs-install.cmd Update Clang version on Appveyor bots 2018-04-04 04:33:09 +00:00
appveyor.yml Rename Appveyor install helper script. 2017-05-10 02:43:02 +00:00