X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libobjc%2FObject.m;h=441c471b2a16b900c84872b7837b8002e5717b70;hb=f7f2729d9b6d938554b5f8292d3c4054b19e15c4;hp=3d7d2084b32c51c47d89bcda8eb29c189482bdea;hpb=b1df5b265b5f4dc8779eb09c5417cc6c9179c9ae;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libobjc/Object.m b/libobjc/Object.m index 3d7d2084b32..441c471b2a1 100644 --- a/libobjc/Object.m +++ b/libobjc/Object.m @@ -1,11 +1,11 @@ /* The implementation of class Object for Objective-C. - Copyright (C) 1993, 1994, 1995, 1997, 2002 Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 1995, 1997, 2002, 2009 Free Software Foundation, Inc. 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 +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 @@ -13,26 +13,22 @@ 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 +. */ +#include "objc-private/common.h" #include +#include #include "objc/Object.h" #include "objc/Protocol.h" #include "objc/objc-api.h" -extern int errno; - -#define MAX_CLASS_NAME_LEN 256 - @implementation Object + initialize @@ -115,13 +111,13 @@ extern int errno; return self==anObject; } -- (int)compare:anotherObject; +- (int)compare:(id)anotherObject; { if ([self isEqual:anotherObject]) return 0; // Ordering objects by their address is pretty useless, // so subclasses should override this is some useful way. - else if (self > anotherObject) + else if ((id)self > anotherObject) return 1; else return -1; @@ -176,14 +172,14 @@ extern int errno; + (BOOL)instancesRespondTo:(SEL)aSel { - return class_get_instance_method(self, aSel)!=METHOD_NULL; + return class_get_instance_method(self, aSel) != (Method_t)0; } - (BOOL)respondsTo:(SEL)aSel { return ((object_is_instance(self) ?class_get_instance_method(self->isa, aSel) - :class_get_class_method(self->isa, aSel))!=METHOD_NULL); + :class_get_class_method(self->isa, aSel)) != (Method_t)0); } + (IMP)instanceMethodFor:(SEL)aSel @@ -348,6 +344,13 @@ extern int errno; class_set_version(self, aVersion); return self; } +@end + +/* The following methods were deprecated in GCC 4.6.0 and will be + removed in the next GCC release. +*/ + +@implementation Object (Deprecated) + (int)streamVersion: (TypedStream*)aStream {