use Py_UNICODE_WIDE instead of USE_UCS4_STORAGE and Py_UNICODE_SIZE
tests.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 2f66c3c..08e8089 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -106,7 +106,7 @@
 Py_UNICODE
 PyUnicode_GetMax()
 {
-#ifdef USE_UCS4_STORAGE
+#ifdef Py_UNICODE_WIDE
 	return 0x10FFFF;
 #else
 	/* This is actually an illegal character, so it should
@@ -791,7 +791,7 @@
                 errmsg = "illegal encoding";
 		goto utf8Error;
 	    }
-#if Py_UNICODE_SIZE == 4
+#ifdef Py_UNICODE_WIDE
 	    *p++ = (Py_UNICODE)ch;
 #else
             /*  compute and append the two surrogates: */
@@ -1080,7 +1080,7 @@
 		    ch2 = (ch2 >> 8) | (ch2 << 8);
 #endif
 	    if (0xDC00 <= ch2 && ch2 <= 0xDFFF) {
-#if Py_UNICODE_SIZE == 2
+#ifndef Py_UNICODE_WIDE
 		/* This is valid data (a UTF-16 surrogate pair), but
 		   we are not able to store this information since our
 		   Py_UNICODE type only has 16 bits... this might
@@ -1326,7 +1326,7 @@
                 *p++ = (Py_UNICODE) chr;
             else if (chr <= 0x10ffff) {
                 /* UCS-4 character. Either store directly, or as surrogate pair. */
-#if Py_UNICODE_SIZE == 4
+#ifdef Py_UNICODE_WIDE
                 *p++ = chr;
 #else
                 chr -= 0x10000L;