HomePhabricator

Emit an error when mixing <stdatomic.h> and <atomic>

Description

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

Details

Committed
vsapsaiMay 2 2018, 10:56 AM
Reviewer
mclow.lists
Differential Revision
D45470: Emit an error when include <atomic> after <stdatomic.h>
Parents
rL331378: Emit an error when mixing <stdatomic.h> and <atomic>
Branches
Unknown
Tags
Unknown