vsapsai updated this revision to Diff 145817. vsapsai added a comment. Here is another approach that should emit an error only when mixing headers causes compilation problems.
Have no ideas how to test the change. `-verify` doesn't work with fatal errors and libcxx doesn't use FileCheck. Performed only manual testing. https://reviews.llvm.org/D45470 Files: libcxx/include/atomic Index: libcxx/include/atomic =================================================================== --- libcxx/include/atomic +++ libcxx/include/atomic @@ -555,6 +555,9 @@ #if !defined(_LIBCPP_HAS_C_ATOMIC_IMP) && !defined(_LIBCPP_HAS_GCC_ATOMIC_IMP) #error <atomic> is not implemented #endif +#ifdef kill_dependency +#error C++ standard library is incompatible with <stdatomic.h> +#endif #if _LIBCPP_STD_VER > 14 # define __cpp_lib_atomic_is_always_lock_free 201603L
Index: libcxx/include/atomic =================================================================== --- libcxx/include/atomic +++ libcxx/include/atomic @@ -555,6 +555,9 @@ #if !defined(_LIBCPP_HAS_C_ATOMIC_IMP) && !defined(_LIBCPP_HAS_GCC_ATOMIC_IMP) #error <atomic> is not implemented #endif +#ifdef kill_dependency +#error C++ standard library is incompatible with <stdatomic.h> +#endif #if _LIBCPP_STD_VER > 14 # define __cpp_lib_atomic_is_always_lock_free 201603L
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits