diff --git a/Objects/setobject.c b/Objects/setobject.c
index ebfddb3..2e62518 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -616,7 +616,7 @@
     Py_UNICODE_COPY(u, PyUnicode_AS_UNICODE(listrepr)+1,
                        newsize-2);
     u += newsize-2;
-    *u = '}';
+    *u++ = '}';
     Py_DECREF(listrepr);
 
     if (Py_TYPE(so) != &PySet_Type) {
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 309159c..4361908 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -6474,7 +6474,7 @@
         }
     }
     /* 0-terminate the output string */
-    *output = '\0';
+    *output++ = '\0';
     Py_XDECREF(exc);
     Py_XDECREF(errorHandler);
     return 0;
diff --git a/Python/compile.c b/Python/compile.c
index 96d01cd..34e7603 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -3744,11 +3744,11 @@
     a->a_lnotab_off += 2;
     if (d_bytecode) {
         *lnotab++ = d_bytecode;
-        *lnotab = d_lineno;
+        *lnotab++ = d_lineno;
     }
     else {      /* First line of a block; def stmt, etc. */
         *lnotab++ = 0;
-        *lnotab = d_lineno;
+        *lnotab++ = d_lineno;
     }
     a->a_lineno = i->i_lineno;
     a->a_lineno_off = a->a_offset;
@@ -3793,7 +3793,7 @@
     if (i->i_hasarg) {
         assert(size == 3 || size == 6);
         *code++ = arg & 0xff;
-        *code = arg >> 8;
+        *code++ = arg >> 8;
     }
     return 1;
 }
