diff --git a/Lib/distutils/tests/test_build_ext.py b/Lib/distutils/tests/test_build_ext.py
index 46ac9aa..203cbc9 100644
--- a/Lib/distutils/tests/test_build_ext.py
+++ b/Lib/distutils/tests/test_build_ext.py
@@ -318,7 +318,7 @@
     def test_get_outputs(self):
         tmp_dir = self.mkdtemp()
         c_file = os.path.join(tmp_dir, 'foo.c')
-        self.write_file(c_file, 'void PyInit_foo(void) {};\n')
+        self.write_file(c_file, 'void PyInit_foo(void) {}\n')
         ext = Extension('foo', [c_file], optional=False)
         dist = Distribution({'name': 'xx',
                              'ext_modules': [ext]})
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
index 597a88b..8413641 100644
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -1792,7 +1792,7 @@
         return NULL;
     }
     Py_RETURN_NONE;
-};
+}
 
 /* This is here to provide a docstring for test_descr. */
 static PyObject *
diff --git a/Objects/weakrefobject.c b/Objects/weakrefobject.c
index 7a2c1bd..13323cf 100644
--- a/Objects/weakrefobject.c
+++ b/Objects/weakrefobject.c
@@ -583,7 +583,7 @@
 }
 
 
-WRAP_METHOD(proxy_bytes, "__bytes__");
+WRAP_METHOD(proxy_bytes, "__bytes__")
 
 
 static PyMethodDef proxy_methods[] = {
diff --git a/Python/import.c b/Python/import.c
index 523a1c0..85ead86 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -3101,7 +3101,7 @@
     buf[3] = (char) ((magic >> 24) & 0xff);
 
     return PyBytes_FromStringAndSize(buf, 4);
-};
+}
 
 static PyObject *
 imp_get_magic(PyObject *self, PyObject *noargs)
