aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorZiemowit Laski <zlaski@apple.com>2004-08-12 01:53:01 +0000
committerZiemowit Laski <zlaski@gcc.gnu.org>2004-08-12 01:53:01 +0000
commit46e34f968db2a72527521ccfa0b9020bd7fd3b0d (patch)
treeda309a6fc0ad80cf1a4233e8a72bfe75c605a083 /gcc
parent539599c198f2f5e445744221058af9d8a7f96a02 (diff)
downloadgcc-46e34f968db2a72527521ccfa0b9020bd7fd3b0d.zip
gcc-46e34f968db2a72527521ccfa0b9020bd7fd3b0d.tar.gz
gcc-46e34f968db2a72527521ccfa0b9020bd7fd3b0d.tar.bz2
(This patch is part of merge of objc-improvements-branch into mainline.)
[gcc/ChangeLog] 2004-08-12 Ziemowit Laski <zlaski@apple.com> (This patch is part of merge of objc-improvements-branch into mainline.) * doc/frontends.texi: Mention Objective-C++ in addition to Objective-C. * doc/install.texi: Add 'obj-c++' to list of configurable languages. * doc/invoke.texi: Rename Objective-C option headings to indicate they also apply to Objective-C++. List file extensions for Objective-C++ sources. Mention that ObjC and ObjC++ compilations may also use C and C++ options, respectively. Point users to doc/standards.texi for further info on ObjC and ObjC++. * doc/sourcebuild.texi: Mention the objcp/ directory and the Objective-C++ sources it contains. * doc/standards.texi: Update link to Apple ObjC site; add link to gcc readings.html WWW doc. From-SVN: r85842
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog20
-rw-r--r--gcc/doc/frontends.texi8
-rw-r--r--gcc/doc/install.texi2
-rw-r--r--gcc/doc/invoke.texi82
-rw-r--r--gcc/doc/sourcebuild.texi12
-rw-r--r--gcc/doc/standards.texi17
6 files changed, 95 insertions, 46 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f744eec..2a85e9c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,23 @@
+2004-08-12 Ziemowit Laski <zlaski@apple.com>
+
+ (This patch is part of merge of objc-improvements-branch
+ into mainline.)
+
+ * doc/frontends.texi: Mention Objective-C++ in addition to
+ Objective-C.
+ * doc/install.texi: Add 'obj-c++' to list of configurable
+ languages.
+ * doc/invoke.texi: Rename Objective-C option headings to
+ indicate they also apply to Objective-C++. List file
+ extensions for Objective-C++ sources. Mention that
+ ObjC and ObjC++ compilations may also use C and C++ options,
+ respectively. Point users to doc/standards.texi for
+ further info on ObjC and ObjC++.
+ * doc/sourcebuild.texi: Mention the objcp/ directory and
+ the Objective-C++ sources it contains.
+ * doc/standards.texi: Update link to Apple ObjC site;
+ add link to gcc readings.html WWW doc.
+
2004-08-12 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
diff --git a/gcc/doc/frontends.texi b/gcc/doc/frontends.texi
index 0e4dfe5..457a5e1 100644
--- a/gcc/doc/frontends.texi
+++ b/gcc/doc/frontends.texi
@@ -13,10 +13,12 @@
@cindex Fortran
@cindex Java
@cindex Objective-C
+@cindex Objective-C++
@cindex treelang
GCC stands for ``GNU Compiler Collection''. GCC is an integrated
distribution of compilers for several major programming languages. These
-languages currently include C, C++, Objective-C, Java, Fortran, and Ada.
+languages currently include C, C++, Objective-C, Objective-C++, Java,
+Fortran, and Ada.
The abbreviation @dfn{GCC} has multiple meanings in common use. The
current official meaning is ``GNU Compiler Collection'', which refers
@@ -57,5 +59,5 @@ have been implemented as ``preprocessors'' which emit another high
level language such as C@. None of the compilers included in GCC are
implemented this way; they all generate machine code directly. This
sort of preprocessor should not be confused with the @dfn{C
-preprocessor}, which is an integral feature of the C, C++, and
-Objective-C languages.
+preprocessor}, which is an integral feature of the C, C++, Objective-C
+and Objective-C++ languages.
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 64c1205..a6bf5e9 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -1038,7 +1038,7 @@ grep language= */config-lang.in
@end smallexample
Currently, you can use any of the following:
@code{ada}, @code{c}, @code{c++}, @code{f77}, @code{f95}, @code{java},
-@code{objc}.
+@code{objc}, @code{obj-c++}.
Building the Ada compiler has special requirements, see below.@*
If you do not pass this flag, all languages available in the @file{gcc}
sub-tree will be configured. Re-defining @code{LANGUAGES} when calling
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 5197a9c8..bc76689 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -121,7 +121,8 @@ only one of these two forms, whichever one is not the default.
* Invoking G++:: Compiling C++ programs.
* C Dialect Options:: Controlling the variant of C language compiled.
* C++ Dialect Options:: Variations on C++.
-* Objective-C Dialect Options:: Variations on Objective-C.
+* Objective-C and Objective-C++ Dialect Options:: Variations on Objective-C
+ and Objective-C++.
* Language Independent Options:: Controlling how diagnostics should be
formatted.
* Warning Options:: How picky should the compiler be?
@@ -190,8 +191,9 @@ in the following sections.
-Woverloaded-virtual -Wno-pmf-conversions @gol
-Wsign-promo -Wsynth}
-@item Objective-C Language Options
-@xref{Objective-C Dialect Options,,Options Controlling Objective-C Dialect}.
+@item Objective-C and Objective-C++ Language Options
+@xref{Objective-C and Objective-C++ Dialect Options,,Options Controlling
+Objective-C and Objective-C++ Dialects}.
@gccoptlist{
-fconstant-string-class=@var{class-name} @gol
-fgnu-runtime -fnext-runtime @gol
@@ -710,7 +712,8 @@ See S/390 and zSeries Options.
or preprocessed source.
* C Dialect Options:: Controlling the variant of C language compiled.
* C++ Dialect Options:: Variations on C++.
-* Objective-C Dialect Options:: Variations on Objective-C.
+* Objective-C and Objective-C++ Dialect Options:: Variations on Objective-C
+ and Objective-C++.
* Language Independent Options:: Controlling how diagnostics should be
formatted.
* Warning Options:: How picky should the compiler be?
@@ -752,14 +755,24 @@ C source code which should not be preprocessed.
C++ source code which should not be preprocessed.
@item @var{file}.m
-Objective-C source code. Note that you must link with the library
-@file{libobjc.a} to make an Objective-C program work.
+Objective-C source code. Note that you must link with the @file{libobjc}
+library to make an Objective-C program work.
@item @var{file}.mi
Objective-C source code which should not be preprocessed.
+@item @var{file}.mm
+@itemx @var{file}.M
+Objective-C++ source code. Note that you must link with the @file{libobjc}
+library to make an Objective-C++ program work. Note that @samp{.M} refers
+to a literal capital M@.
+
+@item @var{file}.mii
+Objective-C++ source code which should not be preprocessed.
+
@item @var{file}.h
-C or C++ header file to be turned into a precompiled header.
+C, C++, Objective-C or Objective-C++ header file to be turned into a
+precompiled header.
@item @var{file}.cc
@itemx @var{file}.cp
@@ -838,9 +851,10 @@ Specify explicitly the @var{language} for the following input files
name suffix). This option applies to all following input files until
the next @option{-x} option. Possible values for @var{language} are:
@smallexample
-c c-header cpp-output
+c c-header c-cpp-output
c++ c++-header c++-cpp-output
-objective-c objective-c-header objc-cpp-output
+objective-c objective-c-header objective-c-cpp-output
+objective-c++ objective-c++-header objective-c++-cpp-output
assembler assembler-with-cpp
ada
f77 f77-cpp-input ratfor
@@ -1011,7 +1025,8 @@ explanations of options that are meaningful only for C++ programs.
@cindex options, dialect
The following options control the dialect of C (or languages derived
-from C, such as C++ and Objective-C) that the compiler accepts:
+from C, such as C++, Objective-C and Objective-C++) that the compiler
+accepts:
@table @gcctabopt
@cindex ANSI support
@@ -1767,19 +1782,20 @@ In this example, G++ will synthesize a default @samp{A& operator =
(const A&);}, while cfront will use the user-defined @samp{operator =}.
@end table
-@node Objective-C Dialect Options
-@section Options Controlling Objective-C Dialect
+@node Objective-C and Objective-C++ Dialect Options
+@section Options Controlling Objective-C and Objective-C++ Dialects
-@cindex compiler options, Objective-C
-@cindex Objective-C options, command line
-@cindex options, Objective-C
-(NOTE: This manual does not describe the Objective-C language itself. See
-@w{@uref{http://gcc.gnu.org/readings.html}} for references.)
+@cindex compiler options, Objective-C and Objective-C++
+@cindex Objective-C and Objective-C++ options, command line
+@cindex options, Objective-C and Objective-C++
+(NOTE: This manual does not describe the Objective-C and Objective-C++
+languages themselves. See @xref{Standards,,Language Standards
+Supported by GCC}, for references.)
This section describes the command-line options that are only meaningful
-for Objective-C programs, but you can also use most of the GNU compiler
-options regardless of what language your program is in. For example,
-you might compile a file @code{some_class.m} like this:
+for Objective-C and Objective-C++ programs, but you can also use most of
+the language-independent GNU compiler options.
+For example, you might compile a file @code{some_class.m} like this:
@smallexample
gcc -g -fgnu-runtime -O -c some_class.m
@@ -1787,11 +1803,16 @@ gcc -g -fgnu-runtime -O -c some_class.m
@noindent
In this example, @option{-fgnu-runtime} is an option meant only for
-Objective-C programs; you can use the other options with any language
-supported by GCC@.
+Objective-C and Objective-C++ programs; you can use the other options with
+any language supported by GCC@.
+
+Note that since Objective-C is an extension of the C language, Objective-C
+compilations may also use options specific to the C front-end (e.g.,
+@option{-Wtraditional}). Similarly, Objective-C++ compilations may use
+C++-specific options (e.g., @option{-Wabi}).
Here is a list of options that are @emph{only} for compiling Objective-C
-programs:
+and Objective-C++ programs:
@table @gcctabopt
@item -fconstant-string-class=@var{class-name}
@@ -1820,8 +1841,8 @@ used.
@opindex fno-nil-receivers
Assume that all Objective-C message dispatches (e.g.,
@code{[receiver message:arg]}) in this translation unit ensure that the receiver
-is not @code{nil}. This allows for more efficient entry points in the runtime to be
-used. Currently, this option is only available in conjunction with
+is not @code{nil}. This allows for more efficient entry points in the runtime
+to be used. Currently, this option is only available in conjunction with
the NeXT runtime on Mac OS X 10.3 and later.
@item -fobjc-exceptions
@@ -2045,7 +2066,8 @@ two forms, whichever is not the default.
The following options control the amount and kinds of warnings produced
by GCC; for further, language-specific options also refer to
-@ref{C++ Dialect Options} and @ref{Objective-C Dialect Options}.
+@ref{C++ Dialect Options} and @ref{Objective-C and Objective-C++ Dialect
+Options}.
@table @gcctabopt
@cindex syntax checking
@@ -2210,7 +2232,7 @@ requiring a non-null value by the @code{nonnull} function attribute.
@option{-Wnonnull} is included in @option{-Wall} and @option{-Wformat}. It
can be disabled with the @option{-Wno-nonnull} option.
-@item -Winit-self @r{(C, C++, and Objective-C only)}
+@item -Winit-self @r{(C, C++, Objective-C and Objective-C++ only)}
@opindex Winit-self
Warn about uninitialized variables which are initialized with themselves.
Note this option can only be used with the @option{-Wuninitialized} option,
@@ -2260,7 +2282,7 @@ int a[2][2] = @{ 0, 1, 2, 3 @};
int b[2][2] = @{ @{ 0, 1 @}, @{ 2, 3 @} @};
@end smallexample
-@item -Wmissing-include-dirs @r{(C, C++, and Objective-C only)}
+@item -Wmissing-include-dirs @r{(C, C++, Objective-C and Objective-C++ only)}
@opindex Wmissing-include-dirs
Warn if a user-supplied include directory does not exist.
@@ -2554,7 +2576,7 @@ warnings about constructions that some users consider questionable, and
that are easy to avoid (or modify to prevent the warning), even in
conjunction with macros. This also enables some language-specific
warnings described in @ref{C++ Dialect Options} and
-@ref{Objective-C Dialect Options}.
+@ref{Objective-C and Objective-C++ Dialect Options}.
@end table
The following @option{-W@dots{}} options are not implied by @option{-Wall}.
@@ -5491,7 +5513,7 @@ and searches several directories.
@item -lobjc
@opindex lobjc
You need this special case of the @option{-l} option in order to
-link an Objective-C program.
+link an Objective-C or Objective-C++ program.
@item -nostartfiles
@opindex nostartfiles
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index d2c4023..2d2ef76 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -79,7 +79,7 @@ The @code{libmudflap} library, used for instrumenting pointer and array
dereferencing operations.
@item libobjc
-The Objective-C runtime library.
+The Objective-C and Objective-C++ runtime library.
@item libstdc++-v3
The C++ runtime library.
@@ -128,11 +128,11 @@ The @file{gcc} directory contains the following subdirectories:
@item @var{language}
Subdirectories for various languages. Directories containing a file
@file{config-lang.in} are language subdirectories. The contents of
-the subdirectories @file{cp} (for C++) and @file{objc} (for
-Objective-C) are documented in this manual (@pxref{Passes, , Passes
-and Files of the Compiler}); those for other languages are not.
-@xref{Front End, , Anatomy of a Language Front End}, for details of
-the files in these directories.
+the subdirectories @file{cp} (for C++), @file{objc} (for Objective-C)
+and @file{objcp} (for Objective-C++) are documented in this manual
+(@pxref{Passes, , Passes and Files of the Compiler}); those for other
+languages are not. @xref{Front End, , Anatomy of a Language Front End},
+for details of the files in these directories.
@item config
Configuration files for supported architectures and operating
diff --git a/gcc/doc/standards.texi b/gcc/doc/standards.texi
index dcedc75..686d6fd 100644
--- a/gcc/doc/standards.texi
+++ b/gcc/doc/standards.texi
@@ -156,20 +156,25 @@ information concerning the history of C that is available online, see
@c FIXME: details of C++ standard.
-There is no formal written standard for Objective-C@. The most
+@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
+Objective-C Language'', available at a number of web sites:
@itemize
@item
-@uref{http://developer.apple.com/techpubs/macosx/Cocoa/ObjectiveC/}
-is a recent version
+@uref{http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/}
+is a recent (and periodically updated) version;
@item
@uref{http://www.toodarkpark.org/computers/objc/}
-is an older example
+is an older example;
@item
@uref{http://www.gnustep.org}
-has additional useful information
+and
+@uref{http://gcc.gnu.org/readings.html}
+have additional useful information.
@end itemize
@cindex treelang