+2001-06-21 Stan Shebs <shebs@apple.com>
+
+ * doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi,
+ doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi,
+ doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C"
+ everywhere instead of "Objective C".
+
2001-06-21 Joseph S. Myers <jsm28@cam.ac.uk>
* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
Nathan Myers for his work on libstdc++-v3.
@item
-NeXT, Inc.@: donated the front end that supports the Objective C
+NeXT, Inc.@: donated the front end that supports the Objective-C
language.
@item
Philipp Thomas for random bugfixes throughout the compiler
@item
-Kresten Krab Thorup wrote the run time support for the Objective C
+Kresten Krab Thorup wrote the run time support for the Objective-C
language.
@item
@node Top
@top
The C preprocessor implements the macro language used to transform C,
-C++, and Objective C programs before they are compiled. It can also be
+C++, and Objective-C programs before they are compiled. It can also be
useful on its own.
@menu
constructs.
The C preprocessor is intended to be used only with C, C++, and
-Objective C source code. In the past, it has been abused as a general
+Objective-C source code. In the past, it has been abused as a general
text processor. It will choke on input which does not obey C's lexical
rules. For example, apostrophes will be interpreted as the beginning of
character constants, and cause errors. Also, you cannot rely on it
not yet complete.
This macro is not defined if the @option{-traditional} option is used, nor
-when compiling C++ or Objective C@.
+when compiling C++ or Objective-C@.
@item __STDC_HOSTED__
This macro is defined, with value 1, if the compiler's target is a
@itemx __GNUC_MINOR__
@itemx __GNUC_PATCHLEVEL__
These macros are defined by all GNU compilers that use the C
-preprocessor: C, C++, and Objective C. Their values are the major
+preprocessor: C, C++, and Objective-C. Their values are the major
version, minor version, and patch level of the compiler, as integer
constants. For example, GCC 3.2.1 will define @code{__GNUC__} to 3,
@code{__GNUC_MINOR__} to 2, and @code{__GNUC_PATCHLEVEL__} to 1. They
@node Preprocessor Output
@chapter Preprocessor Output
-When the C preprocessor is used with the C, C++, or Objective C
+When the C preprocessor is used with the C, C++, or Objective-C
compilers, it is integrated into the compiler and communicates a stream
of binary tokens directly to the compiler's parser. However, it can
also be used in the more conventional standalone mode, where it produces
and we recommend you do not use them in new programs.
@findex #import
-In the Objective C language, there is a variant of @samp{#include}
+In the Objective-C language, there is a variant of @samp{#include}
called @samp{#import} which includes a file, but does so at most once.
If you use @samp{#import} instead of @samp{#include}, then you don't
need the conditionals inside the header file to prevent multiple
inclusion of the contents. GCC permits the use of @samp{#import} in C
-and C++ as well as Objective C. However, it is not in standard C or C++
+and C++ as well as Objective-C. However, it is not in standard C or C++
and should therefore not be used by portable programs.
@samp{#import} is not a well designed feature. It requires the users of
The GNU C preprocessor in GCC 3.0 has been completely rewritten. It is
now implemented as a library, cpplib, so it can be easily shared between
a stand-alone preprocessor, and a preprocessor integrated with the C,
-C++ and Objective C front ends. It is also available for use by other
+C++ and Objective-C front ends. It is also available for use by other
programs, though this is not recommended as its exposed interface has
not yet reached a point of reasonable stability.
@menu
* Conventions:: Conventions used in the code.
-* Lexer:: The combined C, C++ and Objective C Lexer.
+* Lexer:: The combined C, C++ and Objective-C Lexer.
* Whitespace:: Input and output newlines and whitespace.
* Hash Nodes:: All identifiers are hashed.
* Macro Expansion:: Macro expansion algorithm.
@samp{"} or @samp{>} terminates the header name.
Interpretation of some character sequences depends upon whether we are
-lexing C, C++ or Objective C, and on the revision of the standard in
+lexing C, C++ or Objective-C, and on the revision of the standard in
force. For example, @samp{::} is a single token in C++, but two
separate @samp{:} tokens, and almost certainly a syntax error, in C.
Such cases are handled in the main function @samp{_cpp_lex_token}, based
features in conditional compilation, check for a predefined macro
@code{__GNUC__}, which is always defined under GNU CC.
-These extensions are available in C and Objective C. Most of them are
+These extensions are available in C and Objective-C. Most of them are
also available in C++. @xref{C++ Extensions,,Extensions to the
C++ Language}, for extensions that apply @emph{only} to C++.
initializing data that will be used implicitly during the execution of
the program.
-These attributes are not currently implemented for Objective C.
+These attributes are not currently implemented for Objective-C.
@item unused
This attribute, attached to a function, means that the function is meant
This section describes the syntax with which @code{__attribute__} may be
used, and the constructs to which attribute specifiers bind, for the C
-language. Some details may vary for C++ and Objective C. Because of
+language. Some details may vary for C++ and Objective-C. Because of
infelicities in the grammar for attributes, some forms described here
may not be successfully parsed in all cases.
will warn when a function marked @code{inline} could not be substituted,
and will give the reason for the failure.
-Note that in C and Objective C, unlike C++, the @code{inline} keyword
+Note that in C and Objective-C, unlike C++, the @code{inline} keyword
does not affect the linkage of the function.
@cindex automatic @code{inline} for C++ member fns
* Installation:: How to configure, compile and install GCC.
* C Extensions:: GNU extensions to the C language family.
* C++ Extensions:: GNU extensions to the C++ language.
-* Objective C:: GNU Objective-C runtime features.
+* Objective-C:: GNU Objective-C runtime features.
* Gcov:: gcov: a GCC test coverage program.
* Trouble:: If you have trouble installing GCC.
* Bugs:: How, why and where to report bugs.
@ifset USING
@node G++ and GCC
-@chapter Compile C, C++, Objective C, Fortran, Java or CHILL
+@chapter Compile C, C++, Objective-C, Fortran, Java or CHILL
-@cindex Objective C
+@cindex Objective-C
@cindex Fortran
@cindex Java
@cindex CHILL
-Several versions of the compiler (C, C++, Objective C, Fortran, Java
+Several versions of the compiler (C, C++, Objective-C, Fortran, Java
and CHILL) are integrated; this is why we use the name
``GNU Compiler Collection''. GCC can compile programs written in any of these
languages. The Fortran, CHILL, and Java compilers are described in
have not yet been integrated into GCC. These front ends, like that for C++,
are built in subdirectories of GCC and link to it. The result is an
integrated compiler that can compile programs written in C, C++,
-Objective C, or any of the languages for which you have installed front
+Objective-C, or any of the languages for which you have installed front
ends.
In this manual, we only discuss the options for the C, Objective-C, and
give you comprehensive C++ source-level editing capabilities
(@pxref{C,,C and C++,gdb.info, Debugging with GDB}).
-@c FIXME! Someone who knows something about Objective C ought to put in
+@c FIXME! Someone who knows something about Objective-C ought to put in
@c a paragraph or two about it here, and move the index entry down when
@c there is more to point to than the general mention in the 1st par.
@itemize @bullet
@item
-Objective C does not work on the RS/6000.
+Objective-C does not work on the RS/6000.
@item
GNU C++ does not do name mangling in the same way as other C++
@file{typeck.c}, along with header files @file{cp-tree.def},
@file{cp-tree.h}, and @file{decl.h}.
-The special source files for parsing Objective C are in @file{objc/}.
+The special source files for parsing Objective-C are in @file{objc/}.
They are @file{objc-parse.y}, @file{objc-act.c}, @file{objc-tree.def}, and
@file{objc-act.h}. Certain C-specific files are used for this as
well.
@settitle Installing GCC: Binaries
@end ifset
-@comment $Id: install.texi,v 1.29 2001/06/15 22:25:18 ljrittle Exp $
+@comment $Id: install.texi,v 1.30 2001/06/21 00:03:47 jsm28 Exp $
@c Copyright (C) 2001 Free Software Foundation, Inc.
@c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com
@samp{libstdc++-v3}), @samp{libffi}, @samp{zlib}, @samp{boehm-gc} and
@samp{libjava}. Note that @samp{libobjc} does not recognize itself by
any name, so, if you list package names in @option{--enable-shared},
-you'll only get static Objective C libraries. @samp{libf2c} and
+you'll only get static Objective-C libraries. @samp{libf2c} and
@samp{libiberty} do not support shared libraries at all.
Use @option{--disable-shared} to build only static libraries. Note that
@end example
The testing process will try to test as many components in the GCC
-distribution as possible, including the C, C++, Objective C and Fortran
+distribution as possible, including the C, C++, Objective-C and Fortran
compilers as well as the C++ and Java runtime libraries.
@section How can I run the test suite on selected tests?
Current GCC versions probably do not work on version 2 of the NeXT
operating system.
-On NeXTStep 3.0, the Objective C compiler does not work, due,
+On NeXTStep 3.0, the Objective-C compiler does not work, due,
apparently, to a kernel bug that it happens to trigger. This problem
does not happen on 3.1.
@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++ and Objective-C) that the compiler accepts:
@table @gcctabopt
@cindex ANSI support
@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 program.
@item -nostartfiles
@opindex nostartfiles
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
-@node Objective C
+@node Objective-C
@comment node-name, next, previous, up
@chapter GNU Objective-C runtime features
* compatibility_alias::
@end menu
-@node Executing code before main, Type encoding, Objective C, Objective C
+@node Executing code before main, Type encoding, Objective-C, Objective-C
@section @code{+load}: Executing code before main
-@node Type encoding, Garbage Collection, Executing code before main, Objective C
+@node Type encoding, Garbage Collection, Executing code before main, Objective-C
@section Type encoding
The Objective-C compiler generates type encodings for all the
argument types.
-@node Garbage Collection, Constant string objects, Type encoding, Objective C
+@node Garbage Collection, Constant string objects, Type encoding, Objective-C
@section Garbage Collection
Support for a new memory management policy has been added by using a
@findex NEXT_OBJC_RUNTIME
@item NEXT_OBJC_RUNTIME
-Define this macro to generate code for Objective C message sending using
+Define this macro to generate code for Objective-C message sending using
the calling convention of the NeXT system. This calling convention
involves passing the object, the selector and the method arguments all
at once to the method-lookup library function.
@findex OBJC_PROLOGUE
@item OBJC_PROLOGUE
A C statement to output any assembler statements which are required to
-precede any Objective C object definitions or message sending. The
-statement is executed only when compiling an Objective C program.
+precede any Objective-C object definitions or message sending. The
+statement is executed only when compiling an Objective-C program.
@end table
@need 2000
@findex OBJC_GEN_METHOD_LABEL
@item OBJC_GEN_METHOD_LABEL (@var{buf}, @var{is_inst}, @var{class_name}, @var{cat_name}, @var{sel_name})
Define this macro to override the default assembler names used for
-Objective C methods.
+Objective-C methods.
The default name is a unique method number followed by the name of the
class (e.g.@: @samp{_1_Foo}). For methods in categories, the name of