r331392 - Revert "Emit an error when mixing <stdatomic.h> and <atomic>"

Volodymyr Sapsai via cfe-commits cfe-commits at lists.llvm.org
Wed May 2 12:52:08 PDT 2018


Author: vsapsai
Date: Wed May  2 12:52:07 2018
New Revision: 331392

URL: http://llvm.org/viewvc/llvm-project?rev=331392&view=rev
Log:
Revert "Emit an error when mixing <stdatomic.h> and <atomic>"

It reverts r331378 as it caused test failures

    ThreadSanitizer-x86_64 :: Darwin/gcd-groups-destructor.mm
    ThreadSanitizer-x86_64 :: Darwin/libcxx-shared-ptr-stress.mm
    ThreadSanitizer-x86_64 :: Darwin/xpc-race.mm

Only clang part of the change is reverted, libc++ part remains as is because it
emits error less aggressively.

Removed:
    cfe/trunk/test/Headers/stdatomic.cpp
Modified:
    cfe/trunk/lib/Headers/stdatomic.h

Modified: cfe/trunk/lib/Headers/stdatomic.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/stdatomic.h?rev=331392&r1=331391&r2=331392&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/stdatomic.h (original)
+++ cfe/trunk/lib/Headers/stdatomic.h Wed May  2 12:52:07 2018
@@ -31,10 +31,6 @@
 # include_next <stdatomic.h>
 #else
 
-#if !defined(__ALLOW_STDC_ATOMICS_IN_CXX__) && defined(__cplusplus)
-#error "<stdatomic.h> is incompatible with the C++ standard library; define __ALLOW_STDC_ATOMICS_IN_CXX__ to proceed."
-#endif
-
 #include <stddef.h>
 #include <stdint.h>
 

Removed: cfe/trunk/test/Headers/stdatomic.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/stdatomic.cpp?rev=331391&view=auto
==============================================================================
--- cfe/trunk/test/Headers/stdatomic.cpp (original)
+++ cfe/trunk/test/Headers/stdatomic.cpp (removed)
@@ -1,10 +0,0 @@
-// RUN: %clang_cc1 %s -verify
-// RUN: %clang_cc1 -D__ALLOW_STDC_ATOMICS_IN_CXX__ %s -verify
-
-#include <stdatomic.h>
-
-#ifndef __ALLOW_STDC_ATOMICS_IN_CXX__
-// expected-error at stdatomic.h:* {{<stdatomic.h> is incompatible with the C++ standard library}}
-#else
-// expected-no-diagnostics
-#endif




More information about the cfe-commits mailing list