see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_CAS_N
#include "libatomic_i.h"
#endif
EXPORT_ALIAS (SIZE(compare_exchange));
+#undef LAT_CAS_N
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_EXCH_N
#include "libatomic_i.h"
#endif
EXPORT_ALIAS (SIZE(exchange));
+#undef LAT_EXCH_N
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_FADD_N
#include <libatomic_i.h>
#define NAME add
#endif
#include "fop_n.c"
+#undef LAT_FADD_N
+#define LAT_FAND_N
#define NAME and
#define OP(X,Y) ((X) & (Y))
#include "fop_n.c"
+#undef LAT_FAND_N
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_FENCE
#include "libatomic_i.h"
#include <stdatomic.h>
{
atomic_signal_fence (order);
}
+#undef LAT_FENCE
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_FENV
#include "libatomic_i.h"
#ifdef HAVE_FENV_H
}
#endif
}
+#undef LAT_FENV
+#define LAT_FIOR_N
#define NAME or
#define OP(X,Y) ((X) | (Y))
#include "fop_n.c"
+#undef LAT_FIOR_N
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_FLAG
#include "libatomic_i.h"
#include <stdatomic.h>
{
return atomic_flag_clear_explicit (object, order);
}
+#undef LAT_FLAG
+#define LAT_FNAND_N
#define NAME nand
#define OP(X,Y) ~((X) & (Y))
#include "fop_n.c"
+#undef LAT_FNAND_N
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_FOP_N
#include <libatomic_i.h>
EXPORT_ALIAS (SIZE(C2(fetch_,NAME)));
EXPORT_ALIAS (SIZE(C2(NAME,_fetch)));
+#undef LAT_FOP_N
+#define LAT_FSUB_N
#define NAME sub
#define OP(X,Y) ((X) - (Y))
#include "fop_n.c"
+#undef LAT_FSUB_N
+#define LAT_FXOR_N
#define NAME xor
#define OP(X,Y) ((X) ^ (Y))
#include "fop_n.c"
+#undef LAT_FXOR_N
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_GCAS
#include "libatomic_i.h"
}
EXPORT_ALIAS (compare_exchange);
+#undef LAT_GCAS
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_GEXCH
#include "libatomic_i.h"
}
EXPORT_ALIAS (exchange);
+#undef LAT_GEXCH
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_GLFREE
#include "libatomic_i.h"
/* Accesses with a power-of-two size are not lock-free if we don't have an
}
EXPORT_ALIAS (is_lock_free);
+#undef LAT_GLFREE
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_GLOAD
#include "libatomic_i.h"
}
EXPORT_ALIAS (load);
+#undef LAT_GLOAD
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_GSTORE
#include "libatomic_i.h"
}
EXPORT_ALIAS (store);
+#undef LAT_GSTORE
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_LOAD_N
#include "libatomic_i.h"
#endif
EXPORT_ALIAS (SIZE(load));
+#undef LAT_LOAD_N
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_STORE_N
#include "libatomic_i.h"
#endif
EXPORT_ALIAS (SIZE(store));
+#undef LAT_STORE_N
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#define LAT_TAS_N
#include "libatomic_i.h"
#endif
EXPORT_ALIAS (SIZE(test_and_set));
+#undef LAT_TAS_N