diff --git a/src/IceTLS.h b/src/IceTLS.h
index 3fba803..ee1fe24 100644
--- a/src/IceTLS.h
+++ b/src/IceTLS.h
@@ -71,7 +71,7 @@
   static int FieldName##__initStatus
 #define ICE_TLS_DEFINE_FIELD(Type, ClassName, FieldName)                       \
   pthread_key_t ClassName::FieldName##__key;                                   \
-  int ClassName::FieldName##__initStatus = 1;
+  int ClassName::FieldName##__initStatus = 1
 #define ICE_TLS_INIT_FIELD(FieldName)                                          \
   if (FieldName##__initStatus) {                                               \
     FieldName##__initStatus = pthread_key_create(&FieldName##__key, nullptr);  \
diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp
index 8c59499..2836865e 100644
--- a/src/IceTargetLoweringX8632.cpp
+++ b/src/IceTargetLoweringX8632.cpp
@@ -183,7 +183,7 @@
 };
 // Define a set of constants based on high-level table entries.
 #define X(tag, str) static const int _table1_##tag = InstFcmp::tag;
-ICEINSTFCMP_TABLE;
+ICEINSTFCMP_TABLE
 #undef X
 // Define a set of constants based on low-level table entries, and
 // ensure the table entry keys are consistent.
@@ -192,7 +192,7 @@
   static_assert(                                                               \
       _table1_##val == _table2_##val,                                          \
       "Inconsistency between FCMPX8632_TABLE and ICEINSTFCMP_TABLE");
-FCMPX8632_TABLE;
+FCMPX8632_TABLE
 #undef X
 // Repeat the static asserts with respect to the high-level table
 // entries in case the high-level table has extra entries.
@@ -200,7 +200,7 @@
   static_assert(                                                               \
       _table1_##tag == _table2_##tag,                                          \
       "Inconsistency between FCMPX8632_TABLE and ICEINSTFCMP_TABLE");
-ICEINSTFCMP_TABLE;
+ICEINSTFCMP_TABLE
 #undef X
 } // end of namespace dummy1
 
@@ -216,7 +216,7 @@
 };
 // Define a set of constants based on high-level table entries.
 #define X(tag, str) static const int _table1_##tag = InstIcmp::tag;
-ICEINSTICMP_TABLE;
+ICEINSTICMP_TABLE
 #undef X
 // Define a set of constants based on low-level table entries, and
 // ensure the table entry keys are consistent.
@@ -225,7 +225,7 @@
   static_assert(                                                               \
       _table1_##val == _table2_##val,                                          \
       "Inconsistency between ICMPX8632_TABLE and ICEINSTICMP_TABLE");
-ICMPX8632_TABLE;
+ICMPX8632_TABLE
 #undef X
 // Repeat the static asserts with respect to the high-level table
 // entries in case the high-level table has extra entries.
@@ -233,7 +233,7 @@
   static_assert(                                                               \
       _table1_##tag == _table2_##tag,                                          \
       "Inconsistency between ICMPX8632_TABLE and ICEINSTICMP_TABLE");
-ICEINSTICMP_TABLE;
+ICEINSTICMP_TABLE
 #undef X
 } // end of namespace dummy2
 
@@ -250,7 +250,7 @@
 // Define a set of constants based on high-level table entries.
 #define X(tag, size, align, elts, elty, str)                                   \
   static const int _table1_##tag = tag;
-ICETYPE_TABLE;
+ICETYPE_TABLE
 #undef X
 // Define a set of constants based on low-level table entries, and
 // ensure the table entry keys are consistent.
@@ -258,14 +258,14 @@
   static const int _table2_##tag = _tmp_##tag;                                 \
   static_assert(_table1_##tag == _table2_##tag,                                \
                 "Inconsistency between ICETYPEX8632_TABLE and ICETYPE_TABLE");
-ICETYPEX8632_TABLE;
+ICETYPEX8632_TABLE
 #undef X
 // Repeat the static asserts with respect to the high-level table
 // entries in case the high-level table has extra entries.
 #define X(tag, size, align, elts, elty, str)                                   \
   static_assert(_table1_##tag == _table2_##tag,                                \
                 "Inconsistency between ICETYPEX8632_TABLE and ICETYPE_TABLE");
-ICETYPE_TABLE;
+ICETYPE_TABLE
 #undef X
 } // end of namespace dummy3
 
diff --git a/src/IceTypes.cpp b/src/IceTypes.cpp
index 838361c..828440c 100644
--- a/src/IceTypes.cpp
+++ b/src/IceTypes.cpp
@@ -46,7 +46,7 @@
   static_assert(                                                               \
       (unsigned)_table_tag_##tag == (unsigned)_props_table_tag_##tag,          \
       "Inconsistency between ICETYPE_PROPS_TABLE and ICETYPE_TABLE");
-ICETYPE_TABLE;
+ICETYPE_TABLE
 #undef X
 // Assert that tags in ICETYPE_PROPS_TABLE is in ICETYPE_TABLE.
 #define X(tag, IsVec, IsInt, IsFloat, IsIntArith, IsLoadStore, CompareResult)  \
@@ -77,7 +77,7 @@
 #define X(tag, IsVec, IsInt, IsFloat, IsIntArith, IsLoadStore, CompareResult)  \
   static_assert((_table_elts_##tag > 1) == _props_table_IsVec_##tag,           \
                 "Inconsistent vector specification in ICETYPE_PROPS_TABLE");
-ICETYPE_PROPS_TABLE;
+ICETYPE_PROPS_TABLE
 #undef X
 
 struct TypeAttributeFields {
