aboutsummaryrefslogtreecommitdiff
path: root/libobjc/objc/Object.h
diff options
context:
space:
mode:
authorNicola Pero <nicola@nicola.brainstorm.co.uk>2010-09-08 18:02:53 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-09-08 18:02:53 +0000
commit4470254f1a06ae1fe9548902f079d2dd8bc74692 (patch)
tree5c405286f56fc917530095b41f63d842bbe64e8f /libobjc/objc/Object.h
parent7d124e66cab77a2ca9e09518a36bdd3b6e5c830b (diff)
downloadgcc-4470254f1a06ae1fe9548902f079d2dd8bc74692.zip
gcc-4470254f1a06ae1fe9548902f079d2dd8bc74692.tar.gz
gcc-4470254f1a06ae1fe9548902f079d2dd8bc74692.tar.bz2
typedstream.h: Deprecate all functions in the file.
* objc/typedstream.h: Deprecate all functions in the file. This file is obsolete. * objc/Object.h ([+streamVersion:], [-read:], [-write:], [-awake]): Documented that these methods are deprecated. Added a brief description of the Object class and its relationship to the NSObject class. * Makefile.in: Compile archive.c and Object.m with -Wno-deprecated-declarations. From-SVN: r164015
Diffstat (limited to 'libobjc/objc/Object.h')
-rw-r--r--libobjc/objc/Object.h32
1 files changed, 25 insertions, 7 deletions
diff --git a/libobjc/objc/Object.h b/libobjc/objc/Object.h
index 6b8c6f1..b9cf037 100644
--- a/libobjc/objc/Object.h
+++ b/libobjc/objc/Object.h
@@ -1,5 +1,5 @@
/* Interface for the Object class for Objective-C.
- Copyright (C) 1993, 1994, 1995, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1995, 2009, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -33,9 +33,23 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
extern "C" {
#endif
+/* The Object class is a minimal (but fully functional) root class
+ included with the runtime.
+
+ It is mostly for testing the runtime; very handy in configure
+ tests, and when writing language/runtime testcases.
+
+ Because Objective-C allows multiple root classes, a Foundation
+ library (such as GNUstep-base) is expected to provide its own root
+ class (typically called NSObject), fully integrated with the
+ library's own high-level features. If you are using such a
+ Foundation library, you should most likely use its root class for
+ everything and ignore Object.
+*/
+
/*
- * All classes are derived from Object. As such,
- * this is the overhead tacked onto those objects.
+ All classes are derived from Object. As such,
+ this is the overhead tacked onto those objects.
*/
@interface Object
{
@@ -116,11 +130,15 @@ extern "C" {
/* Archiving */
+ (int)version;
+ setVersion:(int)aVersion;
-+ (int)streamVersion: (TypedStream*)aStream;
-- read: (TypedStream*)aStream;
-- write: (TypedStream*)aStream;
-- awake;
+/* The following methods were deprecated in GCC 4.6.0 and will be removed in the next
+ GCC release.
+*/
++ (int)streamVersion: (TypedStream*)aStream; /* __attribute__ ((deprecated)) */
+
+- read: (TypedStream*)aStream; /* __attribute__ ((deprecated)) */
+- write: (TypedStream*)aStream; /* __attribute__ ((deprecated)) */
+- awake; /* __attribute__ ((deprecated)) */
@end