aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/objc/objc-act.c6
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0a33a70..1e6c104 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2002-10-23 Ziemowit Laski <zlaski@apple.com>
+
+ * objc/objc-act.c (get_static_reference): Remove unneeded
+ TYPE_BINFO initialization.
+ (get_object-reference): Likewise.
+ (build_constructor): Tighten precondition check.
+ (finish_message_expr): Likewise.
+
2002-10-23 Jakub Jelinek <jakub@redhat.com>
* config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 3b5b75c..018ba04 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -928,7 +928,6 @@ get_static_reference (interface, protocols)
tree t, m = TYPE_MAIN_VARIANT (type);
t = copy_node (type);
- TYPE_BINFO (t) = make_tree_vec (2);
/* Add this type to the chain of variants of TYPE. */
TYPE_NEXT_VARIANT (t) = TYPE_NEXT_VARIANT (m);
@@ -979,7 +978,6 @@ get_object_reference (protocols)
tree t, m = TYPE_MAIN_VARIANT (type);
t = copy_node (type);
- TYPE_BINFO (t) = make_tree_vec (2);
/* Add this type to the chain of variants of TYPE. */
TYPE_NEXT_VARIANT (t) = TYPE_NEXT_VARIANT (m);
@@ -1416,7 +1414,7 @@ build_constructor (type, elts)
else
{
f = TYPE_FIELDS (type);
- for (e = elts; e ; e = TREE_CHAIN (e), f = TREE_CHAIN (f))
+ for (e = elts; e && f; e = TREE_CHAIN (e), f = TREE_CHAIN (f))
if (TREE_CODE (TREE_TYPE (f)) == POINTER_TYPE
|| TREE_CODE (TREE_TYPE (f)) == INTEGER_TYPE)
TREE_VALUE (e) = convert (TREE_TYPE (f), TREE_VALUE (e));
@@ -4996,7 +4994,7 @@ finish_message_expr (receiver, sel_name, method_params)
if (iface)
method_prototype = lookup_instance_method_static (iface, sel_name);
- if (! method_prototype && TYPE_PROTOCOL_LIST (ctype))
+ if (! method_prototype && ctype && TYPE_PROTOCOL_LIST (ctype))
method_prototype
= lookup_method_in_protocol_list (TYPE_PROTOCOL_LIST (ctype),
sel_name, 0);