aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc/sarray.c
diff options
context:
space:
mode:
authorKresten Krab Thorup <krab@gcc.gnu.org>1994-06-30 16:18:55 +0000
committerKresten Krab Thorup <krab@gcc.gnu.org>1994-06-30 16:18:55 +0000
commita39d31bc0c617e5bc7e57e513ba165e00ed46580 (patch)
tree8fe61c212a5faefb5e2d0f5e09269f407fb13584 /gcc/objc/sarray.c
parent7a1dd323251ccfb83be3b6e5ae9e7ff31ec8a413 (diff)
downloadgcc-a39d31bc0c617e5bc7e57e513ba165e00ed46580.zip
gcc-a39d31bc0c617e5bc7e57e513ba165e00ed46580.tar.gz
gcc-a39d31bc0c617e5bc7e57e513ba165e00ed46580.tar.bz2
This patch makes selectors in the Objective-C language be pointers to a struct { void *sel_id...
This patch makes selectors in the Objective-C language be pointers to a struct { void *sel_id, char *sel_types }, where the sel_types element is the type encoding of the method arguments. From-SVN: r7622
Diffstat (limited to 'gcc/objc/sarray.c')
-rw-r--r--gcc/objc/sarray.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/objc/sarray.c b/gcc/objc/sarray.c
index e3b322a..78f5339 100644
--- a/gcc/objc/sarray.c
+++ b/gcc/objc/sarray.c
@@ -40,6 +40,11 @@ const char* __objc_sparse2_id = "2 level sparse indices";
const char* __objc_sparse3_id = "3 level sparse indices";
#endif
+#ifdef __alpha__
+const void *memcpy (void*, const void*, size_t);
+void free (const void*);
+#endif
+
void
sarray_at_put(struct sarray* array, sidx index, void* element)
{
@@ -117,7 +122,7 @@ sarray_at_put(struct sarray* array, sidx index, void* element)
/* The bucket was previously empty (or something like that), */
/* allocate a new. This is the effect of `lazy' allocation */
*the_bucket = (struct sbucket*)__objc_xmalloc(sizeof(struct sbucket));
- memcpy( *the_bucket,array->empty_bucket, sizeof(struct sbucket));
+ memcpy((void *) *the_bucket, (const void*)array->empty_bucket, sizeof(struct sbucket));
(*the_bucket)->version = array->version;
nbuckets += 1;