OSDN Git Service

2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>
authornicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Oct 2010 16:17:18 +0000 (16:17 +0000)
committernicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Oct 2010 16:17:18 +0000 (16:17 +0000)
        * archive.c: Do not include objc/objc.h.
        * class.c: Do not include objc/objc.h.
        * encoding.c: Include objc/runtime.h, ctype.h and
        objc-private/module-abi-8.h instead of objc/objc-api.h and
        objc/encoding.h.
        * error.c: Do not include objc/objc.h.
        * gc.c: Include tconfig.h and objc/encoding.h only if
        OBJC_WITH_GC.
        * hash.c: Include objc/runtime.h and objc/thr.h instead of
        objc/objc-api.h.  Do not include objc/objc.h.
        * init.c: Do not include objc/objc.h.
        * ivars.c: Include objc/runtime.h, objc-private/module-abi-8.h and
        objc/thr.h instead of objc/objc-api.h.  Do not include
        objc/objc.h.
        * linking.m: Tidied comment.
        * memory.c: Include objc/runtime.h instead of objc/objc-api.h.
        Do not include objc/objc.h.
        * objects.c: Do not include objc/objc.h.
        * objc-sync.c: Include objc/runtime.h instead of objc/objc-api.h.
        * protocols.c: Do not include objc/objc.h.
        * sarray.c: Include objc/runtime.h instead of objc/objc-api.h.  Do
        not include objc/objc.h.
        * selector.c: Do not include objc/objc.h.
        * sendmsg.c: Do not include objc/objc.h.
        * thr.c: Include objc/runtime.h instead of objc/objc-api.h.
        Do not include objc/objc.h.
        * objc/objc-decls.h: Reindented code.
        * objc/runtime.h Include objc-decls.h.  Updated comments.
        (objc_malloc): New.
        (objc_atomic_malloc): New.
        (objc_calloc): New.
        (objc_realloc): New.
        (objc_free): New.
        * objc-private/runtime.h: Updated comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165386 138bc75d-0d04-0410-961f-82ee72b054a4

21 files changed:
libobjc/ChangeLog
libobjc/archive.c
libobjc/class.c
libobjc/encoding.c
libobjc/error.c
libobjc/gc.c
libobjc/hash.c
libobjc/init.c
libobjc/ivars.c
libobjc/linking.m
libobjc/memory.c
libobjc/objc-private/runtime.h
libobjc/objc-sync.c
libobjc/objc/objc-decls.h
libobjc/objc/runtime.h
libobjc/objects.c
libobjc/protocols.c
libobjc/sarray.c
libobjc/selector.c
libobjc/sendmsg.c
libobjc/thr.c

index 569d6a6..78467d8 100644 (file)
@@ -1,5 +1,42 @@
 2010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
 
+       * archive.c: Do not include objc/objc.h.
+       * class.c: Do not include objc/objc.h.
+       * encoding.c: Include objc/runtime.h, ctype.h and
+       objc-private/module-abi-8.h instead of objc/objc-api.h and
+       objc/encoding.h.
+       * error.c: Do not include objc/objc.h.
+       * gc.c: Include tconfig.h and objc/encoding.h only if
+       OBJC_WITH_GC.
+       * hash.c: Include objc/runtime.h and objc/thr.h instead of
+       objc/objc-api.h.  Do not include objc/objc.h.
+       * init.c: Do not include objc/objc.h.
+       * ivars.c: Include objc/runtime.h, objc-private/module-abi-8.h and
+       objc/thr.h instead of objc/objc-api.h.  Do not include
+       objc/objc.h.
+       * linking.m: Tidied comment.
+       * memory.c: Include objc/runtime.h instead of objc/objc-api.h.
+       Do not include objc/objc.h.
+       * objects.c: Do not include objc/objc.h.
+       * objc-sync.c: Include objc/runtime.h instead of objc/objc-api.h.
+       * protocols.c: Do not include objc/objc.h.
+       * sarray.c: Include objc/runtime.h instead of objc/objc-api.h.  Do
+       not include objc/objc.h.
+       * selector.c: Do not include objc/objc.h.
+       * sendmsg.c: Do not include objc/objc.h.        
+       * thr.c: Include objc/runtime.h instead of objc/objc-api.h.
+       Do not include objc/objc.h.
+       * objc/objc-decls.h: Reindented code.
+       * objc/runtime.h Include objc-decls.h.  Updated comments.
+       (objc_malloc): New.
+       (objc_atomic_malloc): New.
+       (objc_calloc): New.
+       (objc_realloc): New.
+       (objc_free): New.
+       * objc-private/runtime.h: Updated comments.
+       
+2010-10-12  Nicola Pero  <nicola.pero@meta-innovation.com>
+
        * Makefile.in (C_SOURCE_FILES): Added protocols.c.
        * objc-private/protocols.h: New.
        * protocols.c: New.
index f36f1b7..b539ca1 100644 (file)
@@ -27,7 +27,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #include "objc-private/common.h"
 #include "objc-private/error.h"
 #include "tconfig.h"
-#include "objc/objc.h"
 #include "objc/objc-api.h"
 #include "objc/hash.h"
 #include "objc/objc-list.h" 
index 727b26f..75c933b 100644 (file)
@@ -89,7 +89,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #include "objc-private/common.h"
 #include "objc-private/error.h"
-#include "objc/objc.h"
 #include "objc/objc-api.h"
 #include "objc/thr.h"
 #include "objc-private/runtime.h"            /* the kitchen sink */
index d417b87..87517f4 100644 (file)
@@ -36,9 +36,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #include "tconfig.h"
 #include "coretypes.h"
 #include "tm.h"
-#include "objc/objc-api.h"
-#include "objc/encoding.h"
+#include "objc/runtime.h"
+#include "objc-private/module-abi-8.h" /* For struct objc_method */
 #include <stdlib.h>
+#include <ctype.h>
 
 #undef  MAX
 #define MAX(X, Y)                    \
index 0dc8fd8..7c6ba44 100644 (file)
@@ -48,8 +48,7 @@ _objc_abort (const char *fmt, ...)
 }
 
 /* The rest of the file is deprecated.  */
-#include "objc/objc.h"
-#include "objc/objc-api.h"
+#include "objc/objc-api.h" /* For objc_error_handler.  */
 
 /*
 ** Error handler function
index a67ba1c..ed5effb 100644 (file)
@@ -24,15 +24,15 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 <http://www.gnu.org/licenses/>.  */
 
 #include "objc-private/common.h"
-#include "tconfig.h"
 #include "objc/objc.h"
-#include "objc/encoding.h"
 
+#if OBJC_WITH_GC
+
+#include "tconfig.h"
 #include <assert.h>
 #include <string.h>
 #include <stdlib.h>
-
-#if OBJC_WITH_GC
+#include "objc/encoding.h"
 
 #include <gc.h>
 #include <limits.h>
index 602fc84..3ecc54a 100644 (file)
@@ -25,8 +25,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #include "objc-private/common.h"
 #include <assert.h> /* For assert */
 
-#include "objc/objc.h"
-#include "objc/objc-api.h"
+#include "objc/runtime.h" /* For objc_calloc */
+#include "objc/thr.h"     /* Required by objc-private/runtime.h.  */
 #include "objc-private/hash.h"
 #include "objc-private/runtime.h"              /* for DEBUG_PRINTF */
 
index 9384f58..0f714c4 100644 (file)
@@ -26,7 +26,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #include "objc-private/common.h"
 #include "objc-private/error.h"
-#include "objc/objc.h"
 #include "objc/objc-api.h"
 #include "objc/thr.h"
 #include "objc-private/hash.h"
index 18c6e8a..061fa21 100644 (file)
@@ -23,8 +23,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 <http://www.gnu.org/licenses/>.  */
 
 #include "objc-private/common.h"
-#include "objc/objc.h"
-#include "objc/objc-api.h"
+#include "objc/runtime.h"
+#include "objc-private/module-abi-8.h" /* For runtime structures  */
+#include "objc/thr.h"
 #include "objc-private/runtime.h"              /* the kitchen sink */
 #include <string.h> /* For strcmp */
 
index 6372e91..e94c8ea 100644 (file)
@@ -28,8 +28,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #include <objc/NXConstStr.h>
 
 /* Generate references to Object and NXConstanstString classes since they are
-   needed by the runtime system to run correctly. */
-
+   needed by the runtime system to run correctly.  */
 
 void __objc_linking (void)
 {
index a0d6e13..458d256 100644 (file)
@@ -42,8 +42,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define __USE_FIXED_PROTOTYPES__
 #include <stdlib.h>
 
-#include "objc/objc.h"
-#include "objc/objc-api.h"
+#include "objc/runtime.h"
 
 #if OBJC_WITH_GC
 #include <gc.h>
index 3917c3e..b7e75ae 100644 (file)
@@ -34,7 +34,8 @@ The original list was:
 
 but can almost certainly be shrinked down.
 
-*/
+Note that you can use this file both with objc/objc-api.h and with
+objc/runtime.h.  */
 
 #ifndef __objc_private_runtime_INCLUDE_GNU
 #define __objc_private_runtime_INCLUDE_GNU
index 97349e6..d01707c 100644 (file)
@@ -79,7 +79,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #include "objc-private/common.h"
 #include "objc/objc-sync.h"         /* For objc_sync_enter(), objc_sync_exit() */
-#include "objc/objc-api.h"          /* For objc_malloc() */
+#include "objc/runtime.h"           /* For objc_malloc() */
 #include "objc/thr.h"               /* For objc_mutex_loc() and similar */
 #include "objc-private/objc-sync.h" /* For __objc_sync_init() */
 
index e5388e3..b3cfb21 100644 (file)
@@ -28,13 +28,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #if defined (_WIN32) || defined (__WIN32__) || defined (WIN32)
 
-#    ifdef DLL_EXPORT /* defined by libtool (if required) */
-#  define objc_EXPORT 
-#  define objc_DECLARE
-#else
-#  define objc_EXPORT  extern __declspec(dllimport)
-#  define objc_DECLARE extern __declspec(dllimport)
-#endif
+#  ifdef DLL_EXPORT /* defined by libtool (if required) */
+#    define objc_EXPORT 
+#    define objc_DECLARE
+#  else
+#    define objc_EXPORT  extern __declspec(dllimport)
+#    define objc_DECLARE extern __declspec(dllimport)
+#  endif
 
 #else
 
index b5ae87b..6efe78d 100644 (file)
@@ -48,6 +48,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 /* TODO: This file is incomplete.  */
 
 #include "objc.h"
+#include "objc-decls.h"
 
 /* An 'Ivar' represents an instance variable.  It holds information
    about the name, type and offset of the instance variable.  */
@@ -543,11 +544,38 @@ struct __objcFastEnumerationState
 */
 
 
+/** Implementation: the following functions are in memory.c.  */
+
+/* Traditional GNU Objective-C Runtime functions that are used for
+   memory allocation and disposal.  These functions are used in the
+   same way as you use malloc, realloc, calloc and free and make sure
+   that memory allocation works properly with the garbage
+   collector.
+
+   Compatibility Note: these functions are not available with the
+   Apple/NeXT runtime.  */
+
+objc_EXPORT void *objc_malloc(size_t size);
+
+/* FIXME: Shouldn't the following be called objc_malloc_atomic ?  The
+   GC function is GC_malloc_atomic() which makes sense.
+ */
+objc_EXPORT void *objc_atomic_malloc(size_t size);
+
+objc_EXPORT void *objc_realloc(void *mem, size_t size);
+
+objc_EXPORT void *objc_calloc(size_t nelem, size_t size);
+
+objc_EXPORT void objc_free(void *mem);
+
+
 /** Implementation: the following functions are in encoding.c.  */
 
 /* Traditional GNU Objective-C Runtime functions that are currently
    used to implement method forwarding.
-*/
+
+   Compatibility Note: these functions are not available with the
+   Apple/NeXT runtime.  */
 
 /* Return the size of a variable which has the specified 'type'
    encoding.  */
index 2562be5..7aaf9a3 100644 (file)
@@ -23,7 +23,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 <http://www.gnu.org/licenses/>.  */
 
 #include "objc-private/common.h"
-#include "objc/objc.h"
 #include "objc/objc-api.h"
 #include "objc-private/runtime.h"              /* the kitchen sink */
 
index af62a2d..6d42980 100644 (file)
@@ -23,7 +23,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 <http://www.gnu.org/licenses/>.  */
 
 #include "objc-private/common.h"
-#include "objc/objc.h"
 #include "objc/runtime.h"
 #include "objc-private/module-abi-8.h" /* For runtime structures  */
 #include "objc/thr.h"
index 8d53037..9dd160e 100644 (file)
@@ -24,9 +24,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #include "objc-private/common.h"
 #include "objc-private/sarray.h"
-#include "objc/objc.h"
-#include "objc/objc-api.h"
-#include "objc/thr.h"
+#include "objc/runtime.h" /* For objc_malloc */
+#include "objc/thr.h"     /* For objc_mutex_lock */
 #include "objc-private/runtime.h"
 #include <stdio.h>
 #include <string.h> /* For memset */
index 0c12130..1d4bc7e 100644 (file)
@@ -23,7 +23,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 <http://www.gnu.org/licenses/>.  */
 
 #include "objc-private/common.h"
-#include "objc/objc.h"
 #include "objc/objc-api.h"
 #include "objc/thr.h"
 #include "objc-private/hash.h"
index a822af4..02be39c 100644 (file)
@@ -33,7 +33,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #include "tconfig.h"
 #include "coretypes.h"
 #include "tm.h"
-#include "objc/objc.h"
 #include "objc/objc-api.h"
 #include "objc/thr.h"
 #include "objc-private/runtime.h"
index 50196e8..609872d 100644 (file)
@@ -38,8 +38,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #include "tm.h"
 #include "defaults.h"
 #include "objc/thr.h"
-#include "objc/objc.h"
-#include "objc/objc-api.h"
+#include "objc/runtime.h"
 #include "objc-private/runtime.h"
 #include <gthr.h>