aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.6/libobjc/objc/Object.h
diff options
context:
space:
mode:
authorJing Yu <jingyu@google.com>2011-12-19 16:56:54 -0800
committerJing Yu <jingyu@google.com>2011-12-19 16:56:54 -0800
commit40d7cd0fd78fe2004e2a53c4618c148339b02733 (patch)
tree5874557a6c86a1f564a03e5f28b266e31bc3759c /gcc-4.6/libobjc/objc/Object.h
parentfe2afdf3f3701489c05d2a7509752d6f0c7616f7 (diff)
downloadtoolchain_gcc-40d7cd0fd78fe2004e2a53c4618c148339b02733.tar.gz
toolchain_gcc-40d7cd0fd78fe2004e2a53c4618c148339b02733.tar.bz2
toolchain_gcc-40d7cd0fd78fe2004e2a53c4618c148339b02733.zip
Add gcc-4.6. Synced to @180989
Change-Id: Ie3676586e1d8e3c8cd9f07d022f450d05fa08439 svn://gcc.gnu.org/svn/gcc/branches/google/gcc-4_6-mobile
Diffstat (limited to 'gcc-4.6/libobjc/objc/Object.h')
-rw-r--r--gcc-4.6/libobjc/objc/Object.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/gcc-4.6/libobjc/objc/Object.h b/gcc-4.6/libobjc/objc/Object.h
new file mode 100644
index 000000000..f036b76b9
--- /dev/null
+++ b/gcc-4.6/libobjc/objc/Object.h
@@ -0,0 +1,68 @@
+/* Interface for the Object class for Objective-C.
+ Copyright (C) 1993, 1994, 1995, 2009, 2010 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 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 __object_INCLUDE_GNU
+#define __object_INCLUDE_GNU
+
+#include "objc.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* The Object class is a very minimal root class included with the
+ runtime. It is used as superclass for the two classes included
+ with the runtime, Protocol and NXConstantString.
+
+ Because Objective-C allows multiple root classes, you can define
+ your own root class, different from Object.
+
+ In particular, 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. It is
+ expected that you should always use and interact with NSObject, and
+ mostly ignore Object. */
+
+/* All classes are derived from Object. As such, this is the overhead
+ tacked onto those objects. */
+@interface Object
+{
+ Class isa; /* A pointer to the instance's class structure. */
+}
+- (Class)class;
+- (BOOL)isEqual: (id)anObject;
+@end
+
+/* All of the following includes were deprecated in GCC 4.6 and will
+ be removed in the next release. */
+#include "deprecated/hash.h"
+#include "deprecated/typedstream.h"
+#include "deprecated/Object.h"
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif