coarray_43.f90: Add "-latomic" option if libatomic_available.
[gcc.git] / libobjc / Protocol.m
index 7c9207510653c01f91671396cf502327c126d78b..ab55c1cfc56daeea856bd7b5e64f6860f8e4a365 100644 (file)
@@ -1,5 +1,5 @@
 /* This file contains the implementation of class Protocol.
-   Copyright (C) 1993, 2004, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
 
 This file is part of GCC. 
 
@@ -24,7 +24,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #include "objc-private/common.h"
 #include "objc/runtime.h"
-#include "objc-private/module-abi-8.h"
 #include "objc/Protocol.h"
 
 @implementation Protocol
@@ -33,88 +32,3 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
   return protocol_isEqual (self, obj);
 }
 @end
-
-@implementation Protocol (Deprecated)
-
-- (const char *)name
-{
-  return protocol_name;
-}
-
-- (BOOL) conformsTo: (Protocol *)aProtocolObject
-{
-  return protocol_conformsToProtocol (self, aProtocolObject);
-}
-
-- (struct objc_method_description *) descriptionForInstanceMethod:(SEL)aSel
-{
-  int i;
-  struct objc_protocol_list* proto_list;
-  struct objc_method_description *result;
-
-  if (instance_methods)
-    for (i = 0; i < instance_methods->count; i++)
-      {
-       if (sel_isEqual (instance_methods->list[i].name, aSel))
-         return &(instance_methods->list[i]);
-      }
-
-  for (proto_list = protocol_list; proto_list; proto_list = proto_list->next)
-    {
-      size_t j;
-      for (j=0; j < proto_list->count; j++)
-       {
-         if ((result = [proto_list->list[j]
-                                  descriptionForInstanceMethod: aSel]))
-           return result;
-       }
-    }
-
-  return NULL;
-}
-
-- (struct objc_method_description *) descriptionForClassMethod:(SEL)aSel;
-{
-  int i;
-  struct objc_protocol_list* proto_list;
-  struct objc_method_description *result;
-
-  if (class_methods)
-    for (i = 0; i < class_methods->count; i++)
-      {
-       if (sel_isEqual (class_methods->list[i].name, aSel))
-         return &(class_methods->list[i]);
-      }
-
-  for (proto_list = protocol_list; proto_list; proto_list = proto_list->next)
-    {
-      size_t j;
-      for (j=0; j < proto_list->count; j++)
-       {
-         if ((result = [proto_list->list[j]
-                                  descriptionForClassMethod: aSel]))
-           return result;
-       }
-    }
-
-  return NULL;
-}
-
-- (unsigned) hash
-{
-  /* Compute a hash of the protocol_name; use the same hash algorithm
-     that we use for class names; protocol names and class names are
-     somewhat similar types of string spaces.  */
-  int hash = 0, index;
-  
-  for (index = 0; protocol_name[index] != '\0'; index++)
-    {
-      hash = (hash << 4) ^ (hash >> 28) ^ protocol_name[index];
-    }
-
-  hash = (hash ^ (hash >> 10) ^ (hash >> 20));
-
-  return hash;
-}
-
-@end