diff --git a/libatomic/cas_n.c b/libatomic/cas_n.c
index a080b990371bdccbd7328c44e842bcc6a9795d43..2a6357e48db3334b7506e63339572cacb0e1113b 100644
--- a/libatomic/cas_n.c
+++ b/libatomic/cas_n.c
@@ -22,6 +22,7 @@
    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define LAT_CAS_N
 #include "libatomic_i.h"
 
 
@@ -122,3 +123,4 @@ SIZE(libat_compare_exchange) (UTYPE *mptr, UTYPE *eptr, UTYPE newval,
 #endif
 
 EXPORT_ALIAS (SIZE(compare_exchange));
+#undef LAT_CAS_N
diff --git a/libatomic/exch_n.c b/libatomic/exch_n.c
index e5ff80769b9044e8aa35c0353a49607c848a2f06..184d3de1009ec68189c13c4b604054e1e0f4e128 100644
--- a/libatomic/exch_n.c
+++ b/libatomic/exch_n.c
@@ -22,6 +22,7 @@
    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define LAT_EXCH_N
 #include "libatomic_i.h"
 
 
@@ -126,3 +127,4 @@ SIZE(libat_exchange) (UTYPE *mptr, UTYPE newval, int smodel UNUSED)
 #endif
 
 EXPORT_ALIAS (SIZE(exchange));
+#undef LAT_EXCH_N
diff --git a/libatomic/fadd_n.c b/libatomic/fadd_n.c
index bc15b8bc0e64491ba7f9d3f9f8c9053b557a84f7..32b75cec654f3144e65fa6be86fffbc244c90d66 100644
--- a/libatomic/fadd_n.c
+++ b/libatomic/fadd_n.c
@@ -22,6 +22,7 @@
    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
@@ -43,3 +44,4 @@
 #endif
 
 #include "fop_n.c"
+#undef LAT_FADD_N
diff --git a/libatomic/fand_n.c b/libatomic/fand_n.c
index ffe9ed8700fdbe6b4932708d44cd58d9fc01a51b..9eab55bcd72b047fb898e905711ad6206cb09462 100644
--- a/libatomic/fand_n.c
+++ b/libatomic/fand_n.c
@@ -1,3 +1,5 @@
+#define LAT_FAND_N
 #define NAME	and
 #define OP(X,Y)	((X) & (Y))
 #include "fop_n.c"
+#undef LAT_FAND_N
diff --git a/libatomic/fence.c b/libatomic/fence.c
index a9b1e280c5a0209224130b9e9f0dec38cd85670b..4022194a57ad9dc6c2ac50e155f307d1e9f34133 100644
--- a/libatomic/fence.c
+++ b/libatomic/fence.c
@@ -21,6 +21,7 @@
    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>
@@ -43,3 +44,4 @@ void
 {
   atomic_signal_fence (order);
 }
+#undef LAT_FENCE
diff --git a/libatomic/fenv.c b/libatomic/fenv.c
index 41f187c1f85052ba38e8d7921beb0d988058d2d7..dccad356a31ff301a70f0f41ef1a9affea1445c0 100644
--- a/libatomic/fenv.c
+++ b/libatomic/fenv.c
@@ -21,6 +21,7 @@
    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
@@ -70,3 +71,4 @@ __atomic_feraiseexcept (int excepts __attribute__ ((unused)))
     }
 #endif
 }
+#undef LAT_FENV
diff --git a/libatomic/fior_n.c b/libatomic/fior_n.c
index 55d0d66b469ffc6cf50c35ac0a64f8a0ee3f6829..2b58d4805d6cdb640ae50cf149c97d957c3db313 100644
--- a/libatomic/fior_n.c
+++ b/libatomic/fior_n.c
@@ -1,3 +1,5 @@
+#define LAT_FIOR_N
 #define NAME	or
 #define OP(X,Y)	((X) | (Y))
 #include "fop_n.c"
+#undef LAT_FIOR_N
diff --git a/libatomic/flag.c b/libatomic/flag.c
index e4a5a27819a952e6d329b76daa1c06ba0e5643ea..8afd80c91308f32d923254c30619b6065977cb46 100644
--- a/libatomic/flag.c
+++ b/libatomic/flag.c
@@ -21,6 +21,7 @@
    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>
@@ -62,3 +63,4 @@ void
 {
   return atomic_flag_clear_explicit (object, order);
 }
+#undef LAT_FLAG
diff --git a/libatomic/fnand_n.c b/libatomic/fnand_n.c
index a3c98c70494802811eb2fed04e1e5e112ce53c18..84a02709cbbb28809d8b8abc2178a41738bfcf77 100644
--- a/libatomic/fnand_n.c
+++ b/libatomic/fnand_n.c
@@ -1,3 +1,5 @@
+#define LAT_FNAND_N
 #define NAME	nand
 #define OP(X,Y)	~((X) & (Y))
 #include "fop_n.c"
+#undef LAT_FNAND_N
diff --git a/libatomic/fop_n.c b/libatomic/fop_n.c
index f5eb07e859fbe64b0144be3f59db136b732fa8ae..fefff3a57a424a302f6fa734624fbf94109da20e 100644
--- a/libatomic/fop_n.c
+++ b/libatomic/fop_n.c
@@ -22,6 +22,7 @@
    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define LAT_FOP_N
 #include <libatomic_i.h>
 
 
@@ -198,3 +199,4 @@ SIZE(C3(libat_,NAME,_fetch)) (UTYPE *mptr, UTYPE opval, int smodel UNUSED)
 
 EXPORT_ALIAS (SIZE(C2(fetch_,NAME)));
 EXPORT_ALIAS (SIZE(C2(NAME,_fetch)));
+#undef LAT_FOP_N
diff --git a/libatomic/fsub_n.c b/libatomic/fsub_n.c
index e9f8d7d25e1812d1a16d681b7ae10cedd88771cd..49b375a543fea47bd93ad551076ddbe7b5dbd056 100644
--- a/libatomic/fsub_n.c
+++ b/libatomic/fsub_n.c
@@ -1,3 +1,5 @@
+#define LAT_FSUB_N
 #define NAME	sub
 #define OP(X,Y)	((X) - (Y))
 #include "fop_n.c"
+#undef LAT_FSUB_N
diff --git a/libatomic/fxor_n.c b/libatomic/fxor_n.c
index 0f2d962412738a11f9a0fb4eee07cfc5313dfcea..d9a91bc3b23c883278c37f7ab8688c29a02e9248 100644
--- a/libatomic/fxor_n.c
+++ b/libatomic/fxor_n.c
@@ -1,3 +1,5 @@
+#define LAT_FXOR_N
 #define NAME	xor
 #define OP(X,Y)	((X) ^ (Y))
 #include "fop_n.c"
+#undef LAT_FXOR_N
diff --git a/libatomic/gcas.c b/libatomic/gcas.c
index 21d11305f1e8b44152d06ad924c0fdd662d3e396..af4a5f5c5eea40a06a3de2374ba842cce42c4735 100644
--- a/libatomic/gcas.c
+++ b/libatomic/gcas.c
@@ -22,6 +22,7 @@
    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define LAT_GCAS
 #include "libatomic_i.h"
 
 
@@ -118,3 +119,4 @@ libat_compare_exchange (size_t n, void *mptr, void *eptr, void *dptr,
 }
 
 EXPORT_ALIAS (compare_exchange);
+#undef LAT_GCAS
diff --git a/libatomic/gexch.c b/libatomic/gexch.c
index 6233759a2e82a911699e4f5770d0663378d0bfec..afb054c0ef281e7d9b201a0d2933be13088371c2 100644
--- a/libatomic/gexch.c
+++ b/libatomic/gexch.c
@@ -22,6 +22,7 @@
    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define LAT_GEXCH
 #include "libatomic_i.h"
 
 
@@ -142,3 +143,4 @@ libat_exchange (size_t n, void *mptr, void *vptr, void *rptr, int smodel)
 }
 
 EXPORT_ALIAS (exchange);
+#undef LAT_GEXCH
diff --git a/libatomic/glfree.c b/libatomic/glfree.c
index 58a45126194c90499b24279b258c07432ee92826..1051ceb81cdd69e87675b4e8a3dc6d01b06585c9 100644
--- a/libatomic/glfree.c
+++ b/libatomic/glfree.c
@@ -22,6 +22,7 @@
    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
@@ -80,3 +81,4 @@ libat_is_lock_free (size_t n, void *ptr)
 }
 
 EXPORT_ALIAS (is_lock_free);
+#undef LAT_GLFREE
diff --git a/libatomic/gload.c b/libatomic/gload.c
index 4b3198cc5aeca2c02a69c0c9d933f33a036103d9..9b499672161f39a1b8afd1b8291a1cb500d4fb48 100644
--- a/libatomic/gload.c
+++ b/libatomic/gload.c
@@ -22,6 +22,7 @@
    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define LAT_GLOAD
 #include "libatomic_i.h"
 
 
@@ -98,3 +99,4 @@ libat_load (size_t n, void *mptr, void *rptr, int smodel)
 }
 
 EXPORT_ALIAS (load);
+#undef LAT_GLOAD
diff --git a/libatomic/gstore.c b/libatomic/gstore.c
index 505a7b9b2dfa7fe2e588e44dea6a2ae645867a3f..b2636059bd845fe47de7ee2be2f655c1422eec14 100644
--- a/libatomic/gstore.c
+++ b/libatomic/gstore.c
@@ -22,6 +22,7 @@
    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define LAT_GSTORE
 #include "libatomic_i.h"
 
 
@@ -106,3 +107,4 @@ libat_store (size_t n, void *mptr, void *vptr, int smodel)
 }
 
 EXPORT_ALIAS (store);
+#undef LAT_GSTORE
diff --git a/libatomic/load_n.c b/libatomic/load_n.c
index 7513f19183372d031a8f36634758600ff2e7e082..657c8e23ed23835b6a4ce757953b50c55ff3548e 100644
--- a/libatomic/load_n.c
+++ b/libatomic/load_n.c
@@ -22,6 +22,7 @@
    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define LAT_LOAD_N
 #include "libatomic_i.h"
 
 
@@ -113,3 +114,4 @@ SIZE(libat_load) (UTYPE *mptr, int smodel)
 #endif
 
 EXPORT_ALIAS (SIZE(load));
+#undef LAT_LOAD_N
diff --git a/libatomic/store_n.c b/libatomic/store_n.c
index d8ab5e69a508eb2cfc4f5ed91c091744fed53e39..079e22d75ba7a7f548e00cbdf7a6e25ab9b44275 100644
--- a/libatomic/store_n.c
+++ b/libatomic/store_n.c
@@ -22,6 +22,7 @@
    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define LAT_STORE_N
 #include "libatomic_i.h"
 
 
@@ -110,3 +111,4 @@ SIZE(libat_store) (UTYPE *mptr, UTYPE newval, int smodel)
 #endif
 
 EXPORT_ALIAS (SIZE(store));
+#undef LAT_STORE_N
diff --git a/libatomic/tas_n.c b/libatomic/tas_n.c
index 4a01cd2a5c87245fde206a09fb2e197f7fce264d..9321b3a4e025d1fe944f33711996f32815950875 100644
--- a/libatomic/tas_n.c
+++ b/libatomic/tas_n.c
@@ -22,6 +22,7 @@
    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define LAT_TAS_N
 #include "libatomic_i.h"
 
 
@@ -113,3 +114,4 @@ SIZE(libat_test_and_set) (UTYPE *mptr, int smodel UNUSED)
 #endif
 
 EXPORT_ALIAS (SIZE(test_and_set));
+#undef LAT_TAS_N