summaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-01 23:29:59 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-01 23:29:59 +0000
commitc34d298cb3d741391b5c810c8999b7e0d11fa141 (patch)
tree13d311306a2e450cead72959b52908f3a1874875 /libobjc
parent1a821ba124bfc62da58f60895bfe098e8bc6262f (diff)
downloadgcc-c34d298cb3d741391b5c810c8999b7e0d11fa141.tar.gz
PR 11433
gcc/testsuite: * objc.dg/proto-lossage-3.m: New test. libobjc: * Protocol.m (descriptionForInstanceMethod): Don't dereference instance_methods if it's NULL. (descriptionForClassMethod): Likewise for class_methods. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74137 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libobjc')
-rw-r--r--libobjc/ChangeLog15
-rw-r--r--libobjc/Protocol.m22
2 files changed, 23 insertions, 14 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 3032e7a40dd..f900eafd570 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,10 @@
+2003-12-01 Zack Weinberg <zack@codesourcery.com>
+
+ PR 11433
+ * Protocol.m (descriptionForInstanceMethod): Don't dereference
+ instance_methods if it's NULL.
+ (descriptionForClassMethod): Likewise for class_methods.
+
2003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* Makefile.in (runtime-info.h): Remove -Wp.
@@ -36,14 +43,14 @@ Thu Jul 10 10:27:43 2003 Nicola Pero <n.pero@mi.flashnet.it>
(objc_msg_lookup): Similar fixes.
(__objc_init_install_dtable): Lock the runtime before checking if the
table is installed.
-
+
2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
* hash.c, init.c, libobjc.def, libobjc_entry.c, linking.m,
makefile.dos, misc.c, nil_method.c, objects.c, sarray.c,
selector.c, sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c,
thr-mach.c, thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c,
- thr-rtems.c, thr-single.c, thr-solaris.c, thr-vxworks.c,
+ thr-rtems.c, thr-single.c, thr-solaris.c, thr-vxworks.c,
thr-win32.c, thr.c: Replace "GNU CC" with "GCC".
* Makefile.in, NXConstStr.m, Object.m, Protocol.m, archive.c,
class.c, encoding.c, gc.c, objc/NXConstStr.h, objc/Object.h,
@@ -52,14 +59,14 @@ Thu Jul 10 10:27:43 2003 Nicola Pero <n.pero@mi.flashnet.it>
objc/thr.h, objc/typedstream.h: Replace "GNU CC" with "GCC".
Tue May 13 14:56:03 2003 Richard Frith-Macdonald <rfm@gnu.org>
- Nicola Pero <n.pero@mi.flashnet.it>
+ Nicola Pero <n.pero@mi.flashnet.it>
libobjc/10742
* init.c (class_superclass_of_class): New function.
(create_tree_of_subclasses_inherited_from): Use it.
(__objc_tree_insert_class): Likewise.
(class_is_subclass_of_class): Likewise.
-
+
2003-04-11 David Chad <davidc@freebsd.org>
Loren J. Rittle <ljrittle@acm.org>
diff --git a/libobjc/Protocol.m b/libobjc/Protocol.m
index 8191dc21535..06a25acabbe 100644
--- a/libobjc/Protocol.m
+++ b/libobjc/Protocol.m
@@ -80,11 +80,12 @@ struct objc_method_description_list {
const char* name = sel_get_name (aSel);
struct objc_method_description *result;
- for (i = 0; i < instance_methods->count; i++)
- {
- if (!strcmp ((char*)instance_methods->list[i].name, name))
- return &(instance_methods->list[i]);
- }
+ if (instance_methods)
+ for (i = 0; i < instance_methods->count; i++)
+ {
+ if (!strcmp ((char*)instance_methods->list[i].name, name))
+ return &(instance_methods->list[i]);
+ }
for (proto_list = protocol_list; proto_list; proto_list = proto_list->next)
{
@@ -107,11 +108,12 @@ struct objc_method_description_list {
const char* name = sel_get_name (aSel);
struct objc_method_description *result;
- for (i = 0; i < class_methods->count; i++)
- {
- if (!strcmp ((char*)class_methods->list[i].name, name))
- return &(class_methods->list[i]);
- }
+ if (class_methods)
+ for (i = 0; i < class_methods->count; i++)
+ {
+ if (!strcmp ((char*)class_methods->list[i].name, name))
+ return &(class_methods->list[i]);
+ }
for (proto_list = protocol_list; proto_list; proto_list = proto_list->next)
{