lib*.h: wrap C headers in `extern "C"'
[model-checker.git] / libatomic.h
index f861445cb0789b547a708150eb598547d59e78d3..33cfa624daed766cf78e2402c1e6d2c28403f0a7 100644 (file)
@@ -1,22 +1,30 @@
 #ifndef __LIBATOMIC_H__
 #define __LIBATOMIC_H__
 
-typedef enum memory_order {
-       memory_order_relaxed,
-       memory_order_consume,
-       memory_order_acquire,
-       memory_order_release,
-       memory_order_acq_rel,
-       memory_order_seq_cst
-} memory_order;
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-typedef struct atomic_object {
-} atomic_int;
+       typedef enum memory_order {
+               memory_order_relaxed,
+               memory_order_consume,
+               memory_order_acquire,
+               memory_order_release,
+               memory_order_acq_rel,
+               memory_order_seq_cst
+       } memory_order;
 
-void atomic_store_explicit(struct atomic_object *obj, int value, memory_order order);
+       typedef struct atomic_object {
+       } atomic_int;
+
+       void atomic_store_explicit(struct atomic_object *obj, int value, memory_order order);
 #define atomic_store(A, B) atomic_store_explicit((A), (B), memory_order_seq_cst)
 
-int atomic_load_explicit(struct atomic_object *obj, memory_order order);
+       int atomic_load_explicit(struct atomic_object *obj, memory_order order);
 #define atomic_load(A) atomic_load_explicit((A), memory_order_seq_cst)
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* __LIBATOMIC_H__ */