OSDN Git Service

In libobjc/:
[pf3gnuchains/gcc-fork.git] / libobjc / class.c
index 4374852..76f9e8f 100644 (file)
@@ -1,5 +1,5 @@
 /* GNU Objective C Runtime class related functions
-   Copyright (C) 1993, 1995, 1996, 1997, 2001, 2002
+   Copyright (C) 1993, 1995, 1996, 1997, 2001, 2002, 2009
      Free Software Foundation, Inc.
    Contributed by Kresten Krab Thorup and Dennis Glatting.
 
@@ -10,22 +10,21 @@ 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 2, or (at your option) any later version.
+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.
 
-You should have received a copy of the GNU General Public License along with
-GCC; see the file COPYING.  If not, write to the Free Software
-Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+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.
 
-/* As a special exception, if you link this library with files compiled with
-   GCC to produce an executable, this does not cause the resulting executable
-   to be covered by the GNU General Public License. This exception does not
-   however invalidate any other reasons why the executable file might be
-   covered by the GNU General Public License.  */
+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/>.  */
 
 /*
   The code in this file critically affects class method invocation
@@ -88,12 +87,12 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
   classes from the table - and the difficult thing with lock-free data
   structures is freeing data when is removed from the structures.  */
 
-#include "objc/runtime.h"            /* the kitchen sink */
-#include "objc/sarray.h"
-
+#include "objc-private/common.h"
+#include "objc-private/error.h"
 #include "objc/objc.h"
 #include "objc/objc-api.h"
 #include "objc/thr.h"
+#include "objc-private/runtime.h"            /* the kitchen sink */
 
 /* We use a table which maps a class name to the corresponding class
  * pointer.  The first part of this file defines this table, and
@@ -502,8 +501,9 @@ objc_get_class (const char *name)
   if (class)
     return class;
   
-  objc_error (nil, OBJC_ERR_BAD_CLASS, 
-              "objc runtime: cannot find class %s\n", name);
+  /* FIXME: Should we abort the program here ?  */
+  _objc_abort ("objc runtime: cannot find class %s\n", name);
+
   return 0;
 }