#define SC_ATOMIC_DECL_AND_INIT(type, name) \
_Atomic(type) (name ## _sc_atomic__) = 0
+/**
+ * \brief wrapper for declaring an atomic variable and initializing it
+ * to a specific value
+ **/
+#define SC_ATOMIC_DECL_AND_INIT_WITH_VAL(type, name, val) _Atomic(type)(name##_sc_atomic__) = val
+
/**
* \brief wrapper for initializing an atomic variable.
**/
#define SC_ATOMIC_EXTERN(type, name) \
extern type name ## _sc_atomic__
+/**
+ * \brief wrapper for declaring an atomic variable and initializing it
+ * to a specific value
+ **/
+#define SC_ATOMIC_DECL_AND_INIT_WITH_VAL(type, name, val) type name##_sc_atomic__ = val
+
/**
* \brief wrapper for declaring an atomic variable and initializing it.
**/