/* GNU Objective C Runtime protocol related functions.
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010-2017 Free Software Foundation, Inc.
Contributed by Nicola Pero
This file is part of GCC.
/* Add a protocol to the hashtable. */
void
-__objc_protocols_add_protocol (const char *name, Protocol *object)
+__objc_protocols_add_protocol (const char *name, struct objc_protocol *object)
{
objc_mutex_lock (__protocols_hashtable_lock);
/* Create the objc_protocol_list. */
protocols = malloc (sizeof (struct objc_protocol_list));
protocols->count = 1;
- protocols->list[0] = protocol;
+ protocols->list[0] = (struct objc_protocol *)protocol;
/* Attach it to the list of class protocols. */
protocols->next = class_->protocols;
size_t i;
for (i = 0; i < proto_list->count; i++)
{
- if (proto_list->list[i] == protocol
- || protocol_conformsToProtocol (proto_list->list[i],
+ if (proto_list->list[i] == (struct objc_protocol *)protocol
+ || protocol_conformsToProtocol ((Protocol *)proto_list->list[i],
protocol))
{
objc_mutex_unlock (__objc_runtime_mutex);
size_t j;
for (j = 0; j < proto_list->count; j++)
{
- returnValue[i] = proto_list->list[j];
+ returnValue[i] = (Protocol *)proto_list->list[j];
i++;
}
proto_list = proto_list->next;
for (i = 0; i < proto_list->count; i++)
{
- if (protocol_conformsToProtocol (proto_list->list[i], anotherProtocol))
+ if (protocol_conformsToProtocol ((Protocol *)proto_list->list[i], anotherProtocol))
return YES;
}
proto_list = proto_list->next;
size_t j;
for (j = 0; j < proto_list->count; j++)
{
- returnValue[i] = proto_list->list[j];
+ returnValue[i] = (Protocol *)proto_list->list[j];
i++;
}
proto_list = proto_list->next;