complex_subtype_from_string(): move the declaration of s_buffer[] out
of the if block where it was before.  The name is only used inside
that if block, but the storage is referenced outside it via the 's'
variable.

(This patch was part of SF patch #474590 -- RISC OS support.)
diff --git a/Objects/complexobject.c b/Objects/complexobject.c
index 675d5b5..68d842e 100644
--- a/Objects/complexobject.c
+++ b/Objects/complexobject.c
@@ -646,6 +646,9 @@
 	int sw_error=0;
 	int sign;
 	char buffer[256]; /* For errors */
+#ifdef Py_USING_UNICODE
+	char s_buffer[256];
+#endif
 	int len;
 
 	if (PyString_Check(v)) {
@@ -654,7 +657,6 @@
 	}
 #ifdef Py_USING_UNICODE
 	else if (PyUnicode_Check(v)) {
-	    	char s_buffer[256];
 		if (PyUnicode_GET_SIZE(v) >= sizeof(s_buffer)) {
 			PyErr_SetString(PyExc_ValueError,
 				 "complex() literal too large to convert");