I'm using the xxmodule and xxsubtype to test the msvccompiler on Windows. I'm having trouble to compile the module with VS 2008 cl.exe because "initializer is not a constant".
diff --git a/Modules/xxmodule.c b/Modules/xxmodule.c
index 7509e20..75285f0 100644
--- a/Modules/xxmodule.c
+++ b/Modules/xxmodule.c
@@ -246,7 +246,7 @@
 	0,			/*tp_methods*/
 	0,			/*tp_members*/
 	0,			/*tp_getset*/
-	&PyUnicode_Type,	/*tp_base*/
+	0,			/*tp_base*/
 	0,			/*tp_dict*/
 	0,			/*tp_descr_get*/
 	0,			/*tp_descr_set*/
@@ -301,7 +301,7 @@
 	0,			/*tp_methods*/
 	0,			/*tp_members*/
 	0,			/*tp_getset*/
-	&PyBaseObject_Type,	/*tp_base*/
+	0,			/*tp_base*/
 	0,			/*tp_dict*/
 	0,			/*tp_descr_get*/
 	0,			/*tp_descr_set*/
@@ -341,6 +341,9 @@
 {
 	PyObject *m;
 
+	Null_Type.tp_base = &PyBaseObject_Type;
+	Str_Type.tp_base = &PyUnicode_Type;
+
 	/* Finalize the type object including setting type of the new type
 	 * object; doing it here is required for portability to Windows 
 	 * without requiring C++. */