Patchwork libobjc: remove deprecated API (patch 3)

login
register
mail settings
Submitter Nicola Pero
Date June 3, 2011, 1:03 a.m.
Message ID <1307062986.804931167@www2.webmail.us>
Download mbox | patch
Permalink /patch/98499/
State New
Headers show

Comments

Nicola Pero - June 3, 2011, 1:03 a.m.
Another patch in the sequence.

This patch removes objc/objc-list.h, a public header that is deprecated
and no longer part of the public API.  It is still used internally by libobjc,
which has got its own private copy (which is now private and may change
without notice).

Committed to trunk.

Thanks

Patch

Index: gcc/testsuite/ChangeLog
===================================================================
--- gcc/testsuite/ChangeLog   (revision 174593)
+++ gcc/testsuite/ChangeLog   (working copy)
@@ -1,5 +1,9 @@ 
 2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
 
+       * objc.dg/headers.m: Do not include objc-list.h.
+
+2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
+
        * objc.dg/type-stream-1.m: Test removed.
        * objc.dg/headers.m: Do not include typedstream.h.
        
Index: gcc/testsuite/objc.dg/headers.m
===================================================================
--- gcc/testsuite/objc.dg/headers.m   (revision 174593)
+++ gcc/testsuite/objc.dg/headers.m   (working copy)
@@ -18,10 +18,6 @@ 
 #endif
 
 #include <objc/objc-api.h>
-#ifndef __NEXT_RUNTIME__
-#include <objc/objc-list.h>
-#endif
-
 #include <objc/objc.h>
 
 #ifndef __NEXT_RUNTIME__

Index: libobjc/Makefile.in
===================================================================
--- libobjc/Makefile.in (revision 174593)
+++ libobjc/Makefile.in (working copy)
@@ -125,7 +125,6 @@  OBJC_H = \
   thr.h \
   \
   hash.h \
-  objc-list.h \
   sarray.h
 
 # User-visible header files containing deprecated APIs, from the
@@ -137,7 +136,6 @@  OBJC_DEPRECATED_H = \
   Protocol.h \
   STR.h \
   hash.h \
-  objc-list.h \
   objc_get_uninstalled_dtable.h \
   objc_malloc.h \
   objc_msg_sendv.h \
Index: libobjc/ChangeLog
===================================================================
--- libobjc/ChangeLog   (revision 174593)
+++ libobjc/ChangeLog   (working copy)
@@ -1,5 +1,12 @@ 
 2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
 
+       * Makefile.in (OBJC_H): Removed objc-list.h.
+       (OBJC_DEPRECATED_H): Removed objc-list.h.
+       * objc/objc-list.h: File removed.
+       * objc/deprecated/objc-list.h: File removed.
+
+2011-06-03  Nicola Pero  <nicola.pero@meta-innovation.com>
+
        * Makefile.in (OBJC_H): Removed typedstream.h.
        (OBJC_DEPRECATED_H): Removed typedstream.h.
        (C_SOURCE_FILES): Removed archive.c.
Index: libobjc/objc/deprecated/objc-list.h
===================================================================
--- libobjc/objc/deprecated/objc-list.h (revision 174593)
+++ libobjc/objc/deprecated/objc-list.h (working copy)
@@ -1,155 +0,0 @@ 
-/* Generic single linked list to keep various information 
-   Copyright (C) 1993, 1994, 1996, 2009 Free Software Foundation, Inc.
-   Contributed by Kresten Krab Thorup.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-
-#ifndef __GNU_OBJC_LIST_H
-#define __GNU_OBJC_LIST_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-struct objc_list {
-  void *head;
-  struct objc_list *tail;
-};
-
-/* Return a cons cell produced from (head . tail) */
-
-static inline struct objc_list* 
-list_cons(void* head, struct objc_list* tail)
-{
-  struct objc_list* cell;
-
-  cell = (struct objc_list*)objc_malloc(sizeof(struct objc_list));
-  cell->head = head;
-  cell->tail = tail;
-  return cell;
-}
-
-/* Return the length of a list, list_length(NULL) returns zero */
-
-static inline int
-list_length(struct objc_list* list)
-{
-  int i = 0;
-  while(list)
-    {
-      i += 1;
-      list = list->tail;
-    }
-  return i;
-}
-
-/* Return the Nth element of LIST, where N count from zero.  If N 
-   larger than the list length, NULL is returned  */
-
-static inline void*
-list_nth(int indx, struct objc_list* list)
-{
-  while(indx-- != 0)
-    {
-      if(list->tail)
-       list = list->tail;
-      else
-       return 0;
-    }
-  return list->head;
-}
-
-/* Remove the element at the head by replacing it by its successor */
-
-static inline void
-list_remove_head(struct objc_list** list)
-{
-  if ((*list)->tail)
-    {
-      struct objc_list* tail = (*list)->tail; /* fetch next */
-      *(*list) = *tail;                /* copy next to list head */
-      objc_free(tail);                 /* free next */
-    }
-  else                         /* only one element in list */
-    {
-      objc_free(*list);
-      (*list) = 0;
-    }
-}
-
-
-/* Remove the element with `car' set to ELEMENT */
-
-static inline void
-list_remove_elem(struct objc_list** list, void* elem)
-{
-  while (*list) {
-    if ((*list)->head == elem)
-      list_remove_head(list);
-    list = &((*list)->tail);
-  }
-}
-
-/* Map FUNCTION over all elements in LIST */
-
-static inline void
-list_mapcar(struct objc_list* list, void(*function)(void*))
-{
-  while(list)
-    {
-      (*function)(list->head);
-      list = list->tail;
-    }
-}
-
-/* Return element that has ELEM as car */
-
-static inline struct objc_list**
-list_find(struct objc_list** list, void* elem)
-{
-  while(*list)
-    {
-    if ((*list)->head == elem)
-      return list;
-    list = &((*list)->tail);
-    }
-  return NULL;
-}
-
-/* Free list (backwards recursive) */
-
-static inline void
-list_free(struct objc_list* list)
-{
-  if(list)
-    {
-      list_free(list->tail);
-      objc_free(list);
-    }
-}
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* not __GNU_OBJC_LIST_H */
Index: libobjc/objc/objc-list.h
===================================================================
--- libobjc/objc/objc-list.h    (revision 174593)
+++ libobjc/objc/objc-list.h    (working copy)
@@ -1,2 +0,0 @@ 
-#include "deprecated/objc-list.h"
-