impatomic: add atomic_{thread,signal}_fence() definitions
authorBrian Norris <banorris@uci.edu>
Fri, 30 Nov 2012 23:05:44 +0000 (15:05 -0800)
committerBrian Norris <banorris@uci.edu>
Fri, 30 Nov 2012 23:18:26 +0000 (15:18 -0800)
The impatomic.h header is outdated. Additional information from the ISO
papers N2633, N2731, and N2752 have limited the "fence()" support to
just these two functions.

include/impatomic.h

index 7ecc3737f930274b68532b6417284863f2bfd828..b64df7af920dd863fa1c8a21d1e64379c6a164fe 100644 (file)
@@ -3846,4 +3846,17 @@ T* atomic<T*>::fetch_sub( ptrdiff_t __v__, memory_order __x__ ) volatile
 } // namespace std
 #endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+inline void atomic_thread_fence(memory_order order)
+{ _ATOMIC_FENCE_(order); }
+
+/** @todo Do we want to try to support a user's signal-handler? */
+inline void atomic_signal_fence(memory_order order)
+{ /* No-op? */ }
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* __IMPATOMIC_H__ */