Removing warnings found by gcc -Wall
diff --git a/Objects/bufferobject.c b/Objects/bufferobject.c
index 67d26a1..91f58c9 100644
--- a/Objects/bufferobject.c
+++ b/Objects/bufferobject.c
@@ -141,6 +141,7 @@
 PyObject *
 PyBuffer_New(int size)
 {
+	PyObject *o;
 	PyBufferObject * b;
 
 	if (size < 0) {
@@ -149,10 +150,10 @@
 		return NULL;
 	}
 	/* PyObject_New is inlined */
-	b = (PyBufferObject *) PyObject_MALLOC(sizeof(*b) + size);
-	if ( b == NULL )
+	o = PyObject_MALLOC(sizeof(*b) + size);
+	if ( o == NULL )
 		return PyErr_NoMemory();
-	PyObject_INIT((PyObject *)b, &PyBuffer_Type);
+	b = (PyBufferObject *) PyObject_INIT(o, &PyBuffer_Type);
 
 	b->b_base = NULL;
 	b->b_ptr = (void *)(b + 1);
@@ -162,7 +163,7 @@
 	b->b_hash = -1;
 #endif
 
-	return (PyObject *) b;
+	return o;
 }
 
 /* Methods */
diff --git a/Objects/object.c b/Objects/object.c
index 72c3013..a7df526 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -1123,6 +1123,10 @@
 		typecode = Py_TRASHCAN_FRAME;
 	else if (PyTraceBack_Check(op))
 		typecode = Py_TRASHCAN_TRACEBACK;
+	else /* We have a bug here -- those are the only types in GC */ {
+		Py_FatalError("Type not supported in GC -- internal bug");
+		return; /* pacify compiler -- execution never here */
+	}
 	op->ob_refcnt = typecode;
 
 	op->ob_type = (PyTypeObject*)_PyTrash_delete_later;