summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-26 14:32:45 +0000
committerktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-26 14:32:45 +0000
commit14df393a39bca65c2b98334837c3c0695a326133 (patch)
treefbe3659629931937d021d3175cd2f6e0f11eac9f
parent9f16e0f700f70c3778446acd34ca5060106b6fd2 (diff)
downloadppe42-gcc-14df393a39bca65c2b98334837c3c0695a326133.tar.gz
ppe42-gcc-14df393a39bca65c2b98334837c3c0695a326133.zip
2010-09-26 Kai Tietz <kai.tietz@onevision.com>
* sendmsg.c (get_imp): Remove inline. (objc_msg_lookup): Likewise. (objc_get_uninstalled_dtable): Likewise. * encoding.c (objc_skip_type_qualifiers): Likewise. (objc_skip_offset): Likewise. * archive.c (__objc_write_object): Likewise (__objc_write_class): (__objc_write_selector): (objc_read_char): (objc_read_unsigned_char): (objc_read_short): (objc_read_unsigned_short): (objc_read_int): (objc_read_long): (__objc_read_nbyte_uint): (objc_read_unsigned_int): (objc_read_unsigned_long): * objc/objc-decls.h (obc_EXPORT): Remove dllexport for DLL_EXPORT case. (objc_EXPORT): Likewise. * objc/message.h (objc-decls.h): Add include. * objc/objc-api.h: Mark API by objc_EXPORT. * libobjc.def (__objc_responds_to): Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164632 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libobjc/ChangeLog25
-rw-r--r--libobjc/archive.c26
-rw-r--r--libobjc/encoding.c4
-rw-r--r--libobjc/libobjc.def1
-rw-r--r--libobjc/objc/message.h3
-rw-r--r--libobjc/objc/objc-api.h52
-rw-r--r--libobjc/objc/objc-decls.h4
-rw-r--r--libobjc/sendmsg.c6
8 files changed, 73 insertions, 48 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 4c238076b10..8e106266e39 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,28 @@
+2010-09-26 Kai Tietz <kai.tietz@onevision.com>
+
+ * sendmsg.c (get_imp): Remove inline.
+ (objc_msg_lookup): Likewise.
+ (objc_get_uninstalled_dtable): Likewise.
+ * encoding.c (objc_skip_type_qualifiers): Likewise.
+ (objc_skip_offset): Likewise.
+ * archive.c (__objc_write_object): Likewise
+ (__objc_write_class):
+ (__objc_write_selector):
+ (objc_read_char):
+ (objc_read_unsigned_char):
+ (objc_read_short):
+ (objc_read_unsigned_short):
+ (objc_read_int):
+ (objc_read_long):
+ (__objc_read_nbyte_uint):
+ (objc_read_unsigned_int):
+ (objc_read_unsigned_long):
+ * objc/objc-decls.h (obc_EXPORT): Remove dllexport for DLL_EXPORT case.
+ (objc_EXPORT): Likewise.
+ * objc/message.h (objc-decls.h): Add include.
+ * objc/objc-api.h: Mark API by objc_EXPORT.
+ * libobjc.def (__objc_responds_to): Removed.
+
2010-09-18 Nicola Pero <nicola.pero@meta-innovation.com>
* hash.c: Include objc-private/hash.h instead of objc/hash.h.
diff --git a/libobjc/archive.c b/libobjc/archive.c
index 9b46976fbf4..f36f1b748fb 100644
--- a/libobjc/archive.c
+++ b/libobjc/archive.c
@@ -372,7 +372,7 @@ __objc_write_extension (struct objc_typed_stream *stream, unsigned char code)
}
}
-inline int
+int
__objc_write_object (struct objc_typed_stream *stream, id object)
{
unsigned char buf = '\0';
@@ -437,7 +437,7 @@ objc_write_object (struct objc_typed_stream *stream, id object)
}
}
-inline int
+int
__objc_write_class (struct objc_typed_stream *stream, struct objc_class *class)
{
__objc_write_extension (stream, _BX_CLASS);
@@ -466,7 +466,7 @@ objc_write_class (struct objc_typed_stream *stream,
}
-inline int
+int
__objc_write_selector (struct objc_typed_stream *stream, SEL selector)
{
const char *sel_name;
@@ -509,7 +509,7 @@ objc_write_selector (struct objc_typed_stream *stream, SEL selector)
** Read operations
*/
-inline int
+int
objc_read_char (struct objc_typed_stream *stream, char *val)
{
unsigned char buf;
@@ -535,7 +535,7 @@ objc_read_char (struct objc_typed_stream *stream, char *val)
}
-inline int
+int
objc_read_unsigned_char (struct objc_typed_stream *stream, unsigned char *val)
{
unsigned char buf;
@@ -555,7 +555,7 @@ objc_read_unsigned_char (struct objc_typed_stream *stream, unsigned char *val)
return len;
}
-inline int
+int
objc_read_short (struct objc_typed_stream *stream, short *value)
{
unsigned char buf[sizeof (short) + 1];
@@ -582,7 +582,7 @@ objc_read_short (struct objc_typed_stream *stream, short *value)
return len;
}
-inline int
+int
objc_read_unsigned_short (struct objc_typed_stream *stream,
unsigned short *value)
{
@@ -609,7 +609,7 @@ objc_read_unsigned_short (struct objc_typed_stream *stream,
}
-inline int
+int
objc_read_int (struct objc_typed_stream *stream, int *value)
{
unsigned char buf[sizeof (int) + 1];
@@ -636,7 +636,7 @@ objc_read_int (struct objc_typed_stream *stream, int *value)
return len;
}
-inline int
+int
objc_read_long (struct objc_typed_stream *stream, long *value)
{
unsigned char buf[sizeof (long) + 1];
@@ -663,7 +663,7 @@ objc_read_long (struct objc_typed_stream *stream, long *value)
return len;
}
-inline int
+int
__objc_read_nbyte_uint (struct objc_typed_stream *stream,
unsigned int nbytes, unsigned int *val)
{
@@ -682,7 +682,7 @@ __objc_read_nbyte_uint (struct objc_typed_stream *stream,
}
-inline int
+int
objc_read_unsigned_int (struct objc_typed_stream *stream,
unsigned int *value)
{
@@ -719,7 +719,7 @@ __objc_read_nbyte_ulong (struct objc_typed_stream *stream,
}
-inline int
+int
objc_read_unsigned_long (struct objc_typed_stream *stream,
unsigned long *value)
{
@@ -737,7 +737,7 @@ objc_read_unsigned_long (struct objc_typed_stream *stream,
return len;
}
-inline int
+int
objc_read_string (struct objc_typed_stream *stream,
char **string)
{
diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index c0d79d9f349..35c95521b80 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -563,7 +563,7 @@ objc_promoted_size (const char *type)
occurring in method prototype encodings.
*/
-inline const char *
+const char *
objc_skip_type_qualifiers (const char *type)
{
while (*type == _C_CONST
@@ -701,7 +701,7 @@ objc_skip_typespec (const char *type)
Skip an offset as part of a method encoding. This is prepended by a
'+' if the argument is passed in registers.
*/
-inline const char *
+const char *
objc_skip_offset (const char *type)
{
if (*type == '+')
diff --git a/libobjc/libobjc.def b/libobjc/libobjc.def
index 2d27fa5dce3..ee323388a0c 100644
--- a/libobjc/libobjc.def
+++ b/libobjc/libobjc.def
@@ -132,7 +132,6 @@ __objc_exec_class
__objc_init_dispatch_tables
__objc_install_premature_dtable
__objc_print_dtable_stats
-__objc_responds_to
__objc_update_dispatch_table_for_class
class_add_method_list
class_get_class_method
diff --git a/libobjc/objc/message.h b/libobjc/objc/message.h
index 31ee33b305c..6d476363c69 100644
--- a/libobjc/objc/message.h
+++ b/libobjc/objc/message.h
@@ -31,6 +31,7 @@ extern "C" {
#endif
#include "objc.h"
+#include "objc-decls.h"
/* This file includes declarations of the messaging functions and types. */
@@ -41,7 +42,7 @@ typedef union arglist {
char arg_regs[sizeof (char*)];
} *arglist_t; /* argument frame */
-IMP objc_msg_lookup(id receiver, SEL op);
+objc_EXPORT IMP objc_msg_lookup(id receiver, SEL op);
/* TODO: Add the remaining messaging declarations from objc-api.h. */
diff --git a/libobjc/objc/objc-api.h b/libobjc/objc/objc-api.h
index 524515a908d..9903739248c 100644
--- a/libobjc/objc/objc-api.h
+++ b/libobjc/objc/objc-api.h
@@ -298,9 +298,9 @@ typedef struct objc_super {
#endif
} Super, *Super_t;
-IMP objc_msg_lookup_super(Super_t super, SEL sel);
+objc_EXPORT IMP objc_msg_lookup_super(Super_t super, SEL sel);
-retval_t objc_msg_sendv(id, SEL, arglist_t);
+objc_EXPORT retval_t objc_msg_sendv(id, SEL, arglist_t);
@@ -332,22 +332,22 @@ objc_EXPORT id (*_objc_object_dispose)(id object);
use these functions in their ObjC programs so that they work so that
they work properly with garbage collectors.
*/
-void *
+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.
*/
-void *
+objc_EXPORT void *
objc_atomic_malloc(size_t size);
-void *
+objc_EXPORT void *
objc_realloc(void *mem, size_t size);
-void *
+objc_EXPORT void *
objc_calloc(size_t nelem, size_t size);
-void
+objc_EXPORT void
objc_free(void *mem);
#include "deprecated/objc_valloc.h"
@@ -365,36 +365,36 @@ objc_EXPORT IMP (*__objc_msg_forward2)(id, SEL);
#include "deprecated/objc_unexpected_exception.h"
-Method_t class_get_class_method(MetaClass _class, SEL aSel);
+objc_EXPORT Method_t class_get_class_method(MetaClass _class, SEL aSel);
-Method_t class_get_instance_method(Class _class, SEL aSel);
+objc_EXPORT Method_t class_get_instance_method(Class _class, SEL aSel);
-Class class_pose_as(Class impostor, Class superclass);
+objc_EXPORT Class class_pose_as(Class impostor, Class superclass);
-Class objc_get_class(const char *name);
+objc_EXPORT Class objc_get_class(const char *name);
-Class objc_lookup_class(const char *name);
+objc_EXPORT Class objc_lookup_class(const char *name);
-Class objc_next_class(void **enum_state);
+objc_EXPORT Class objc_next_class(void **enum_state);
-const char *sel_get_name(SEL selector);
+objc_EXPORT const char *sel_get_name(SEL selector);
-const char *sel_get_type(SEL selector);
+objc_EXPORT const char *sel_get_type(SEL selector);
-SEL sel_get_uid(const char *name);
+objc_EXPORT SEL sel_get_uid(const char *name);
-SEL sel_get_any_uid(const char *name);
+objc_EXPORT SEL sel_get_any_uid(const char *name);
-SEL sel_get_any_typed_uid(const char *name);
+objc_EXPORT SEL sel_get_any_typed_uid(const char *name);
-SEL sel_get_typed_uid(const char *name, const char*);
+objc_EXPORT SEL sel_get_typed_uid(const char *name, const char*);
-SEL sel_register_name(const char *name);
+objc_EXPORT SEL sel_register_name(const char *name);
-SEL sel_register_typed_name(const char *name, const char*type);
+objc_EXPORT SEL sel_register_typed_name(const char *name, const char*type);
-BOOL sel_is_mapped (SEL aSel);
+objc_EXPORT BOOL sel_is_mapped (SEL aSel);
extern id class_create_instance(Class _class);
@@ -465,11 +465,11 @@ method_get_imp(Method_t method)
return (method!=METHOD_NULL)?method->method_imp:(IMP)0;
}
-IMP get_imp (Class _class, SEL sel);
+objc_EXPORT IMP get_imp (Class _class, SEL sel);
-id object_copy(id object);
+objc_EXPORT id object_copy(id object);
-id object_dispose(id object);
+objc_EXPORT id object_dispose(id object);
static inline Class
object_get_class(id object)
@@ -535,7 +535,7 @@ object_is_meta_class (id object)
&& !object_is_class (object));
}
-struct sarray*
+objc_EXPORT struct sarray*
objc_get_uninstalled_dtable(void);
#ifdef __cplusplus
diff --git a/libobjc/objc/objc-decls.h b/libobjc/objc/objc-decls.h
index 6054237afb9..e5388e33c4c 100644
--- a/libobjc/objc/objc-decls.h
+++ b/libobjc/objc/objc-decls.h
@@ -29,8 +29,8 @@ 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 __declspec(dllexport)
-# define objc_DECLARE __declspec(dllexport)
+# define objc_EXPORT
+# define objc_DECLARE
#else
# define objc_EXPORT extern __declspec(dllimport)
# define objc_DECLARE extern __declspec(dllimport)
diff --git a/libobjc/sendmsg.c b/libobjc/sendmsg.c
index 5e466c6cce0..7a5aa568b6d 100644
--- a/libobjc/sendmsg.c
+++ b/libobjc/sendmsg.c
@@ -136,7 +136,7 @@ __objc_get_forward_imp (id rcv, SEL sel)
}
/* Given a class and selector, return the selector's implementation. */
-inline
+
IMP
get_imp (Class class, SEL sel)
{
@@ -222,7 +222,7 @@ __objc_responds_to (id object, SEL sel)
/* This is the lookup function. All entries in the table are either a
valid method *or* zero. If zero then either the dispatch table
needs to be installed or it doesn't exist and forwarding is attempted. */
-inline
+
IMP
objc_msg_lookup (id receiver, SEL op)
{
@@ -713,7 +713,7 @@ __objc_print_dtable_stats ()
/* Returns the uninstalled dispatch table indicator.
If a class' dispatch table points to __objc_uninstalled_dtable
then that means it needs its dispatch table to be installed. */
-inline
+
struct sarray *
objc_get_uninstalled_dtable ()
{
OpenPOWER on IntegriCloud