diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index aa93377..d4b2c93 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -500,10 +500,14 @@
     }
     else {
         PyCompactUnicodeObject *compact = (PyCompactUnicodeObject *)op;
+#ifndef NDEBUG
         void *data;
+#endif
 
         if (ascii->state.compact == 1) {
+#ifndef NDEBUG
             data = compact + 1;
+#endif
             _PyObject_ASSERT(op, kind == PyUnicode_1BYTE_KIND
                                  || kind == PyUnicode_2BYTE_KIND
                                  || kind == PyUnicode_4BYTE_KIND);
@@ -512,9 +516,11 @@
             _PyObject_ASSERT(op, compact->utf8 != data);
         }
         else {
+#ifndef NDEBUG
             PyUnicodeObject *unicode = (PyUnicodeObject *)op;
 
             data = unicode->data.any;
+#endif
             if (kind == PyUnicode_WCHAR_KIND) {
                 _PyObject_ASSERT(op, ascii->length == 0);
                 _PyObject_ASSERT(op, ascii->hash == -1);
diff --git a/Python/peephole.c b/Python/peephole.c
index 3e56e78..d859648 100644
--- a/Python/peephole.c
+++ b/Python/peephole.c
@@ -255,8 +255,8 @@
        than +255 (encoded as multiple bytes), just to keep the peephole optimizer
        simple. The optimizer leaves line number deltas unchanged. */
 
-    for (j = 0; j < tabsiz; j += 2) {
-        if (lnotab[j] == 255) {
+    for (i = 0; i < tabsiz; i += 2) {
+        if (lnotab[i] == 255) {
             goto exitUnchanged;
         }
     }
diff --git a/Python/pystrhex.c b/Python/pystrhex.c
index 5dc7c96..9d34f71 100644
--- a/Python/pystrhex.c
+++ b/Python/pystrhex.c
@@ -57,7 +57,7 @@
     }
     resultlen += arglen * 2;
 
-    if (abs_bytes_per_sep >= arglen) {
+    if ((size_t)abs_bytes_per_sep >= (size_t)arglen) {
         bytes_per_sep_group = 0;
         abs_bytes_per_sep = 0;
     }
