Patch #536908: Add missing #include guards/extern "C".
diff --git a/Include/cStringIO.h b/Include/cStringIO.h
index cb8f337..fa3fcd7 100644
--- a/Include/cStringIO.h
+++ b/Include/cStringIO.h
@@ -1,5 +1,8 @@
 #ifndef CSTRINGIO_INCLUDED
 #define CSTRINGIO_INCLUDED
+#ifdef __cplusplus
+extern "C" {
+#endif
 /*
 
   cStringIO.h,v 1.4 1997/12/07 14:27:00 jim Exp
@@ -128,4 +131,7 @@
 #define PycString_IMPORT \
   PycStringIO=(struct PycStringIO_CAPI*)xxxPyCObject_Import("cStringIO", "cStringIO_CAPI")
 
+#ifdef __cplusplus
+}
+#endif
 #endif /* CSTRINGIO_INCLUDED */
diff --git a/Include/descrobject.h b/Include/descrobject.h
index 918dd5a..6482e56 100644
--- a/Include/descrobject.h
+++ b/Include/descrobject.h
@@ -1,4 +1,9 @@
 /* Descriptors */
+#ifndef Py_DESCROBJECT_H
+#define Py_DESCROBJECT_H
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 typedef PyObject *(*getter)(PyObject *, void *);
 typedef int (*setter)(PyObject *, PyObject *, void *);
@@ -78,3 +83,8 @@
 
 
 extern DL_IMPORT(PyTypeObject) PyProperty_Type;
+#ifdef __cplusplus
+}
+#endif
+#endif /* !Py_DESCROBJECT_H */
+
diff --git a/Include/iterobject.h b/Include/iterobject.h
index bc18991..8abe678 100644
--- a/Include/iterobject.h
+++ b/Include/iterobject.h
@@ -1,4 +1,9 @@
+#ifndef Py_ITEROBJECT_H
+#define Py_ITEROBJECT_H
 /* Iterators (the basic kind, over a sequence) */
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 extern DL_IMPORT(PyTypeObject) PySeqIter_Type;
 
@@ -11,3 +16,8 @@
 #define PyCallIter_Check(op) ((op)->ob_type == &PyCallIter_Type)
 
 extern DL_IMPORT(PyObject *) PyCallIter_New(PyObject *, PyObject *);
+#ifdef __cplusplus
+}
+#endif
+#endif /* !Py_ITEROBJECT_H */
+