This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[libobjc] Re: PATCH: objc-improvements-branch merge -- Part 2
On Aug 13, 2004, at 11:24 AM, Andrew Pinski wrote:
On Aug 13, 2004, at 11:21 AM, Ziemowit Laski wrote:
Yes, I see your point. Andrew, do you mind fixing this? :-) :-)
Yes I will fix them.
And here is the patch which I committed to fix this problem.
ChangeLog:
* objc/Object.h: Move includes out of "C" blocks.
* objc/encoding.h: Likewise.
* objc/hash.h: Likewise.
* objc/objc-api.h: Likewise.
* objc/runtime.h: Likewise.
* objc/sarray.h: Likewise.
* objc/typedstream.h: Likewise.
Index: objc/Object.h
===================================================================
RCS file: /cvs/gcc/gcc/libobjc/objc/Object.h,v
retrieving revision 1.4
diff -u -p -r1.4 Object.h
--- objc/Object.h 13 Aug 2004 02:06:36 -0000 1.4
+++ objc/Object.h 13 Aug 2004 22:18:40 -0000
@@ -27,13 +27,13 @@ Boston, MA 02111-1307, USA. */
#ifndef __object_INCLUDE_GNU
#define __object_INCLUDE_GNU
+#include <objc/objc.h>
+#include <objc/typedstream.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <objc/objc.h>
-#include <objc/typedstream.h>
-
/*
* All classes are derived from Object. As such,
* this is the overhead tacked onto those objects.
Index: objc/encoding.h
===================================================================
RCS file: /cvs/gcc/gcc/libobjc/objc/encoding.h,v
retrieving revision 1.6
diff -u -p -r1.6 encoding.h
--- objc/encoding.h 13 Aug 2004 02:06:36 -0000 1.6
+++ objc/encoding.h 13 Aug 2004 22:18:40 -0000
@@ -30,13 +30,12 @@ Boston, MA 02111-1307, USA. */
#define __encoding_INCLUDE_GNU
#include <objc/objc-api.h>
+#include <ctype.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-#include <ctype.h>
-
#define _C_CONST 'r'
#define _C_IN 'n'
#define _C_INOUT 'N'
Index: objc/hash.h
===================================================================
RCS file: /cvs/gcc/gcc/libobjc/objc/hash.h,v
retrieving revision 1.10
diff -u -p -r1.10 hash.h
--- objc/hash.h 13 Aug 2004 02:06:36 -0000 1.10
+++ objc/hash.h 13 Aug 2004 22:18:40 -0000
@@ -28,15 +28,14 @@ Boston, MA 02111-1307, USA. */
#ifndef __hash_INCLUDE_GNU
#define __hash_INCLUDE_GNU
+#include <stddef.h>
+#include <string.h>
#include <objc/objc.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-#include <stddef.h>
-#include <string.h>
-
/*
* This data structure is used to hold items
* stored in a hash table. Each node holds
Index: objc/objc-api.h
===================================================================
RCS file: /cvs/gcc/gcc/libobjc/objc/objc-api.h,v
retrieving revision 1.11
diff -u -p -r1.11 objc-api.h
--- objc/objc-api.h 13 Aug 2004 02:06:36 -0000 1.11
+++ objc/objc-api.h 13 Aug 2004 22:18:40 -0000
@@ -31,14 +31,13 @@ Boston, MA 02111-1307, USA. */
#include <objc/hash.h>
#include <objc/thr.h>
#include <objc/objc-decls.h>
+#include <stdio.h>
+#include <stdarg.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-#include <stdio.h>
-#include <stdarg.h>
-
/* For functions which return Method_t */
#define METHOD_NULL (Method_t)0
/* Boolean typedefs */
Index: objc/runtime.h
===================================================================
RCS file: /cvs/gcc/gcc/libobjc/objc/runtime.h,v
retrieving revision 1.7
diff -u -p -r1.7 runtime.h
--- objc/runtime.h 13 Aug 2004 02:06:37 -0000 1.7
+++ objc/runtime.h 13 Aug 2004 22:18:40 -0000
@@ -26,6 +26,14 @@ Foundation, 59 Temple Place - Suite 330,
#ifndef __objc_runtime_INCLUDE_GNU
#define __objc_runtime_INCLUDE_GNU
+#include <stdarg.h> /* for varargs and va_list's */
+
+#include <stdio.h>
+#include <ctype.h>
+
+#include <stddef.h> /* so noone else will get system
versions */
+#include <assert.h>
+
#include <objc/objc.h> /* core data types */
#include <objc/objc-api.h> /* runtime api functions */
@@ -38,14 +46,6 @@ Foundation, 59 Temple Place - Suite 330,
extern "C" {
#endif /* __cplusplus */
-#include <stdarg.h> /* for varargs and va_list's */
-
-#include <stdio.h>
-#include <ctype.h>
-
-#include <stddef.h> /* so noone else will get system
versions */
-#include <assert.h>
-
extern void __objc_add_class_to_hash(Class); /* (objc-class.c) */
extern void __objc_init_selector_tables(void); /* (objc-sel.c) */
extern void __objc_init_class_tables(void); /* (objc-class.c) */
Index: objc/sarray.h
===================================================================
RCS file: /cvs/gcc/gcc/libobjc/objc/sarray.h,v
retrieving revision 1.6
diff -u -p -r1.6 sarray.h
--- objc/sarray.h 13 Aug 2004 02:06:37 -0000 1.6
+++ objc/sarray.h 13 Aug 2004 22:18:40 -0000
@@ -30,10 +30,6 @@ Boston, MA 02111-1307, USA. */
#include <objc/thr.h>
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
#define OBJC_SPARSE2 /* 2-level sparse array */
/* #define OBJC_SPARSE3 */ /* 3-level sparse array */
@@ -47,11 +43,20 @@ extern const char* __objc_sparse3_id;
#include <stddef.h>
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
extern int nbuckets; /* for stats */
extern int nindices;
extern int narrays;
extern int idxsize;
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
#include <assert.h>
/* An unsigned integer of same size as a pointer */
@@ -146,6 +151,10 @@ struct sarray {
size_t capacity;
};
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
struct sarray* sarray_new(int, void* default_element);
void sarray_free(struct sarray*);
struct sarray* sarray_lazy_copy(struct sarray*);
Index: objc/typedstream.h
===================================================================
RCS file: /cvs/gcc/gcc/libobjc/objc/typedstream.h,v
retrieving revision 1.6
diff -u -p -r1.6 typedstream.h
--- objc/typedstream.h 13 Aug 2004 02:06:37 -0000 1.6
+++ objc/typedstream.h 13 Aug 2004 22:18:40 -0000
@@ -30,12 +30,12 @@ Boston, MA 02111-1307, USA. */
#include <objc/objc.h>
#include <objc/hash.h>
+#include <stdio.h>
+
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-#include <stdio.h>
-
typedef int (*objc_typed_read_func)(void*, char*, int);
typedef int (*objc_typed_write_func)(void*, const char*, int);
typedef int (*objc_typed_flush_func)(void*);