Merged revisions 75009 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r75009 | antoine.pitrou | 2009-09-21 23:37:02 +0200 (lun., 21 sept. 2009) | 13 lines

  Merged revisions 75007 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r75007 | antoine.pitrou | 2009-09-21 23:17:48 +0200 (lun., 21 sept. 2009) | 7 lines

    Issue #6236, #6348: Fix various failures in the io module under AIX
    and other platforms, when using a non-gcc compiler. Patch by egreen.

    In addition, I made explicit the signedness of all bitfields in the
    IO library.
  ........
................
diff --git a/Misc/NEWS b/Misc/NEWS
index 41edb17..83ff6bf 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -21,6 +21,9 @@
 Library
 -------
 
+- Issue #6236, #6348: Fix various failures in the I/O library under AIX
+  and other platforms, when using a non-gcc compiler. Patch by egreen.
+
 - Issue #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils.
 
 - Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...)
diff --git a/Modules/_io/fileio.c b/Modules/_io/fileio.c
index b21712c..f5ba971 100644
--- a/Modules/_io/fileio.c
+++ b/Modules/_io/fileio.c
@@ -45,10 +45,10 @@
 typedef struct {
 	PyObject_HEAD
 	int fd;
-	unsigned readable : 1;
-	unsigned writable : 1;
-	int seekable : 2; /* -1 means unknown */
-	int closefd : 1;
+	unsigned int readable : 1;
+	unsigned int writable : 1;
+	signed int seekable : 2; /* -1 means unknown */
+	unsigned int closefd : 1;
 	PyObject *weakreflist;
 	PyObject *dict;
 } fileio;
diff --git a/Modules/_io/textio.c b/Modules/_io/textio.c
index b91852e..333c93f 100644
--- a/Modules/_io/textio.c
+++ b/Modules/_io/textio.c
@@ -190,9 +190,9 @@
     PyObject_HEAD
     PyObject *decoder;
     PyObject *errors;
-    int pendingcr:1;
-    int translate:1;
-    unsigned int seennl:3;
+    signed int pendingcr: 1;
+    signed int translate: 1;
+    unsigned int seennl: 3;
 } nldecoder_object;
 
 static int