Issue 8781: On systems a signed 4-byte wchar_t and a 4-byte Py_UNICODE, use memcpy to convert between the two (as already done when wchar_t is unsigned)
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index c50f601..4c4b43c 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -664,7 +664,7 @@
return NULL;
/* Copy the wchar_t data into the new object */
-#ifdef HAVE_USABLE_WCHAR_T
+#if Py_UNICODE_SIZE == SIZEOF_WCHAR_T
memcpy(unicode->str, w, size * sizeof(wchar_t));
#else
{
@@ -1167,7 +1167,7 @@
if (size > PyUnicode_GET_SIZE(unicode))
size = PyUnicode_GET_SIZE(unicode) + 1;
-#ifdef HAVE_USABLE_WCHAR_T
+#if Py_UNICODE_SIZE == SIZEOF_WCHAR_T
memcpy(w, unicode->str, size * sizeof(wchar_t));
#else
{