(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
This commit is contained in:
Ziemowit Laski 2004-08-12 01:53:01 +00:00 committed by Ziemowit Laski
parent 539599c198
commit 46e34f968d
6 changed files with 95 additions and 46 deletions

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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