aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2010-09-28 22:13:12 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-09-28 22:13:12 +0000
commit6b79b1b74a1a43c6d7c6468ee3bd83e346d895e0 (patch)
tree031773c444c3e5451f6b4af063ccd5349aaf6c3e /gcc/doc
parent146456c108b2c395c524f14d08b3c5d3af65e971 (diff)
downloadgcc-6b79b1b74a1a43c6d7c6468ee3bd83e346d895e0.zip
gcc-6b79b1b74a1a43c6d7c6468ee3bd83e346d895e0.tar.gz
gcc-6b79b1b74a1a43c6d7c6468ee3bd83e346d895e0.tar.bz2
In gcc/: 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/: 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com> * doc/standards.texi (Standards): Expanded the section on Objective-C and Objective-C++. From-SVN: r164706
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/standards.texi50
1 files changed, 40 insertions, 10 deletions
diff --git a/gcc/doc/standards.texi b/gcc/doc/standards.texi
index 67753db..b89ec99 100644
--- a/gcc/doc/standards.texi
+++ b/gcc/doc/standards.texi
@@ -208,24 +208,54 @@ no C++ language dialect options are given, is @option{-std=gnu++98}.
@cindex Objective-C
@cindex Objective-C++
-There is no formal written standard for Objective-C or Objective-C++@. The most
-authoritative manual is ``Object-Oriented Programming and the
-Objective-C Language'', available at a number of web sites:
+GCC supports ``traditional'' Objective-C (also known as ``Objective-C
+1.0''), and contains support for the Objective-C exception and
+synchronization syntax. At the time of writing, it has no support for
+``Objective-C 2.0'' language extensions. GCC supports Objective-C++
+and features available in Objective-C are also available in
+Objective-C++@.
+GCC by default uses the GNU Objective-C runtime library, which is part
+of GCC and is not the same as the Apple/NeXT Objective-C runtime
+library used on Apple systems. There are a number of differences
+documented in this manual. The options @option{-fgnu-runtime} and
+@option{-fnext-runtime} allow you to switch between producing output
+that works with the GNU Objective-C runtime library and output that
+works with the Apple/NeXT Objective-C runtime library.
+
+There is no formal written standard for Objective-C or Objective-C++@.
+The authoritative manual on traditional Objective-C (1.0) is
+``Object-Oriented Programming and the Objective-C Language'',
+available at a number of web sites:
@itemize
@item
-@uref{http://developer.apple.com/@/mac/@/library/@/documentation/@/Cocoa/@/Conceptual/@/ObjectiveC/}
-is a recent (and periodically updated) version;
+@uref{http://www.gnustep.org/@/resources/@/documentation/@/ObjectivCBook.pdf}
+is the original NeXTstep document;
@item
@uref{http://objc.toodarkpark.net}
-is an older example;
+is the same document in another format;
@item
-@uref{http://www.gnustep.org}
-and
-@uref{http://gcc.gnu.org/readings.html}
-have additional useful information.
+@uref{http://developer.apple.com/@/mac/@/library/@/documentation/@/Cocoa/@/Conceptual/@/ObjectiveC/}
+has an updated version but make sure you search for ``Object Oriented Programming and the Objective-C Programming Language 1.0'',
+not documentation on the newer ``Objective-C 2.0'' language
@end itemize
+The Objective-C exception and synchronization syntax (that is, the
+keywords @@try, @@throw, @@catch, @@finally and @@synchronized) is
+fully supported by GCC and is enabled with the option
+@option{-fobjc-exceptions}. The syntax is briefly documented in this
+manual and in the Objective-C 2.0 manuals from Apple.
+
+At the time of writing, GCC supports no Objective-C 2.0 features. The
+authoritative manual on Objective-C 2.0 is available from Apple:
+@itemize
+@item
+@uref{http://developer.apple.com/@/mac/@/library/@/documentation/@/Cocoa/@/Conceptual/@/ObjectiveC/}
+@end itemize
+
+For more information concerning the history of Objective-C that is
+available online, see @uref{http://gcc.gnu.org/readings.html}
+
@xref{Top, GNAT Reference Manual, About This Guide, gnat_rm,
GNAT Reference Manual}, for information on standard
conformance and compatibility of the Ada compiler.