Add pyatomic.h to the VS project (it wasn't referenced).
#include "pyport.h"
#include "pymacro.h"
-#include "pyatomic.h"
-
/* Debug-mode build with pymalloc implies PYMALLOC_DEBUG.
* PYMALLOC_DEBUG is in error if pymalloc is not in use.
*/
extern "C" {
#endif
-#include "pyatomic.h"
+#include "internal/pyatomic.h"
#include "pythread.h"
struct _pending_calls {
extern "C" {
#endif
-#include "pyatomic.h"
-
#include "internal/condvar.h"
+#include "internal/pyatomic.h"
+
#ifndef Py_HAVE_CONDVAR
-#error You need either a POSIX-compatible or a Windows system!
+# error You need either a POSIX-compatible or a Windows system!
#endif
/* Enable if you want to force the switching of threads at least
#ifndef Py_ATOMIC_H
#define Py_ATOMIC_H
-#ifdef Py_BUILD_CORE
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef Py_BUILD_CORE
+# error "Py_BUILD_CORE must be defined to include this header"
+#endif
#include "dynamic_annotations.h"
_Py_atomic_store_explicit(ATOMIC_VAL, NEW_VAL, _Py_memory_order_relaxed)
#define _Py_atomic_load_relaxed(ATOMIC_VAL) \
_Py_atomic_load_explicit(ATOMIC_VAL, _Py_memory_order_relaxed)
-#endif /* Py_BUILD_CORE */
+
+#ifdef __cplusplus
+}
+#endif
#endif /* Py_ATOMIC_H */
#endif
#include "pystate.h"
-#include "pyatomic.h"
#include "pythread.h"
#include "internal/mem.h"
$(srcdir)/Include/pgen.h \
$(srcdir)/Include/pgenheaders.h \
$(srcdir)/Include/pyarena.h \
- $(srcdir)/Include/pyatomic.h \
$(srcdir)/Include/pycapsule.h \
$(srcdir)/Include/pyctype.h \
$(srcdir)/Include/pydebug.h \
$(srcdir)/Include/internal/ceval.h \
$(srcdir)/Include/internal/gil.h \
$(srcdir)/Include/internal/mem.h \
+ $(srcdir)/Include/internal/pyatomic.h \
$(srcdir)/Include/internal/pygetopt.h \
$(srcdir)/Include/internal/pystate.h \
$(srcdir)/Include/internal/context.h \
/* XXX Signals should be recorded per thread, now we have thread state. */
#include "Python.h"
+#include "internal/pyatomic.h"
+
#ifndef MS_WINDOWS
#include "posixmodule.h"
#endif
<ClInclude Include="..\Include\internal\gil.h" />
<ClInclude Include="..\Include\internal\hamt.h" />
<ClInclude Include="..\Include\internal\mem.h" />
+ <ClInclude Include="..\Include\internal\pyatomic.h" />
<ClInclude Include="..\Include\internal\pystate.h" />
<ClInclude Include="..\Include\internal\warnings.h" />
<ClInclude Include="..\Include\intrcheck.h" />
<ClInclude Include="..\Include\internal\mem.h">
<Filter>Include</Filter>
</ClInclude>
+ <ClInclude Include="..\Include\internal\pyatomic.h">
+ <Filter>Include</Filter>
+ </ClInclude>
<ClInclude Include="..\Include\internal\pystate.h">
<Filter>Include</Filter>
</ClInclude>
#include <stdlib.h>
#include <errno.h>
+#include "internal/pyatomic.h"
/* First some general settings */