Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Apr 2011 11:06:42 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Roman Divacky <rdivacky@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Dimitry Andric <dim@FreeBSD.org>
Subject:   Re: svn commit: r220755 - in head: . contrib/gcc/doc contrib/gcc/objc contrib/libobjc etc/mtree gnu/lib gnu/lib/libobjc gnu/usr.bin/cc gnu/usr.bin/cc/cc1obj gnu/usr.bin/cc/cc_tools gnu/usr.bin/cc/doc s...
Message-ID:  <8204A257-C8F6-4DCA-99EC-BE48BD9C84E7@bsdimp.com>
In-Reply-To: <20110418070124.GA67934@freebsd.org>
References:  <201104172103.p3HL3Ntb049564@svn.freebsd.org> <20110418070124.GA67934@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Apr 18, 2011, at 1:01 AM, Roman Divacky wrote:

> please mark this in src/UPDATING, maybe bump freebsd_version too?

Please do not bump freebsd_version just for this.  Ports wishing to know =
can go off the last bump, if there are any.

Every freebsd_version bump forces rebuilding all modules and such and is =
a pita.

Warner

>=20
> On Sun, Apr 17, 2011 at 09:03:23PM +0000, Dimitry Andric wrote:
>> Author: dim
>> Date: Sun Apr 17 21:03:23 2011
>> New Revision: 220755
>> URL: http://svn.freebsd.org/changeset/base/220755
>>=20
>> Log:
>>  Remove libobjc and other Objective-C related components, as these =
are
>>  extremely outdated, and not used by anything in the base system.
>>=20
>>  Silence from:	current@
>>=20
>> Deleted:
>>  head/contrib/gcc/doc/objc.texi
>>  head/contrib/gcc/objc/
>>  head/contrib/libobjc/
>>  head/gnu/lib/libobjc/
>>  head/gnu/usr.bin/cc/cc1obj/
>> Modified:
>>  head/Makefile.inc1
>>  head/ObsoleteFiles.inc
>>  head/contrib/gcc/doc/cpp.1
>>  head/contrib/gcc/doc/cpp.texi
>>  head/contrib/gcc/doc/cppenv.texi
>>  head/contrib/gcc/doc/cppinternals.texi
>>  head/contrib/gcc/doc/cppopts.texi
>>  head/contrib/gcc/doc/extend.texi
>>  head/contrib/gcc/doc/frontends.texi
>>  head/contrib/gcc/doc/gcc.1
>>  head/contrib/gcc/doc/gcc.texi
>>  head/contrib/gcc/doc/invoke.texi
>>  head/contrib/gcc/doc/sourcebuild.texi
>>  head/contrib/gcc/doc/standards.texi
>>  head/contrib/gcc/doc/tm.texi
>>  head/etc/mtree/BSD.include.dist
>>  head/gnu/lib/Makefile
>>  head/gnu/usr.bin/cc/Makefile
>>  head/gnu/usr.bin/cc/cc_tools/Makefile
>>  head/gnu/usr.bin/cc/doc/Makefile
>>  head/share/mk/bsd.dep.mk
>>  head/share/mk/bsd.lib.mk
>>  head/share/mk/bsd.libnames.mk
>>  head/share/mk/bsd.own.mk
>>  head/share/mk/bsd.prog.mk
>>=20
>> Modified: head/Makefile.inc1
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/Makefile.inc1	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/Makefile.inc1	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -306,7 +306,6 @@ LIB32WMAKEENV+=3D	MAKEOBJDIRPREFIX=3D${OBJTR=

>> 		PATH=3D${TMPPATH} \
>> 		CC=3D"${CC} ${LIB32FLAGS}" \
>> 		CXX=3D"${CXX} ${LIB32FLAGS}" \
>> -		OBJC=3D"${OBJC} ${LIB32FLAGS}" \
>> 		LIBDIR=3D/usr/lib32 \
>> 		SHLIBDIR=3D/usr/lib32
>>=20
>>=20
>> Modified: head/ObsoleteFiles.inc
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/ObsoleteFiles.inc	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/ObsoleteFiles.inc	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -38,6 +38,26 @@
>> #   xargs -n1 | sort | uniq -d;
>> # done
>>=20
>> +# 20110417: removal of Objective-C support
>> +OLD_FILES+=3Dusr/include/objc/encoding.h
>> +OLD_FILES+=3Dusr/include/objc/hash.h
>> +OLD_FILES+=3Dusr/include/objc/NXConstStr.h
>> +OLD_FILES+=3Dusr/include/objc/objc-api.h
>> +OLD_FILES+=3Dusr/include/objc/objc-decls.h
>> +OLD_FILES+=3Dusr/include/objc/objc-list.h
>> +OLD_FILES+=3Dusr/include/objc/objc.h
>> +OLD_FILES+=3Dusr/include/objc/Object.h
>> +OLD_FILES+=3Dusr/include/objc/Protocol.h
>> +OLD_FILES+=3Dusr/include/objc/runtime.h
>> +OLD_FILES+=3Dusr/include/objc/sarray.h
>> +OLD_FILES+=3Dusr/include/objc/thr.h
>> +OLD_FILES+=3Dusr/include/objc/typedstream.h
>> +OLD_FILES+=3Dusr/lib/libobjc.a
>> +OLD_FILES+=3Dusr/lib/libobjc.so
>> +OLD_FILES+=3Dusr/lib/libobjc_p.a
>> +OLD_FILES+=3Dusr/libexec/cc1obj
>> +OLD_LIBS+=3Dusr/lib/libobjc.so.4
>> +OLD_DIRS+=3Dusr/include/objc
>> # 20110224: sticky.8 -> sticky.7
>> OLD_FILES+=3Dusr/share/man/man8/sticky.8.gz
>> # 20110220: new clang import which bumps version from 2.8 to 2.9
>>=20
>> Modified: head/contrib/gcc/doc/cpp.1
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/contrib/gcc/doc/cpp.1	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/contrib/gcc/doc/cpp.1	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -153,14 +153,14 @@ before compilation.  It is called a macr
>> you to define \fImacros\fR, which are brief abbreviations for longer
>> constructs.
>> .PP
>> -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
>> -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
>> -preserving characteristics of the input which are not significant to
>> -C\-family languages.  If a Makefile is preprocessed, all the hard =
tabs
>> -will be removed, and the Makefile will not work.
>> +The C preprocessor is intended to be used only with C and \*(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 preserving
>> +characteristics of the input which are not significant to C\-family
>> +languages.  If a Makefile is preprocessed, all the hard tabs will be
>> +removed, and the Makefile will not work.
>> .PP
>> Having said that, you can often get away with using cpp on things =
which
>> are not C.  Other Algol-ish programming languages are often safe
>> @@ -482,19 +482,16 @@ header files.
>> .PD 0
>> .IP "\fB\-x c++\fR" 4
>> .IX Item "-x c++"
>> -.IP "\fB\-x objective-c\fR" 4
>> -.IX Item "-x objective-c"
>> .IP "\fB\-x assembler-with-cpp\fR" 4
>> .IX Item "-x assembler-with-cpp"
>> .PD
>> -Specify the source language: C, \*(C+, Objective\-C, or assembly.  =
This has
>> -nothing to do with standards conformance or extensions; it merely
>> -selects which base syntax to expect.  If you give none of these =
options,
>> -cpp will deduce the language from the extension of the source file:
>> -\&\fB.c\fR, \fB.cc\fR, \fB.m\fR, or \fB.S\fR.  Some other common
>> -extensions for \*(C+ and assembly are also recognized.  If cpp does =
not
>> -recognize the extension, it will treat the file as C; this is the =
most
>> -generic mode.
>> +Specify the source language: C, \*(C+, or assembly.  This has =
nothing
>> +to do with standards conformance or extensions; it merely selects =
which
>> +base syntax to expect.  If you give none of these options, cpp will
>> +deduce the language from the extension of the source file: =
\&\fB.c\fR,
>> +\fB.cc\fR, or \fB.S\fR.  Some other common extensions for \*(C+ and
>> +assembly are also recognized.  If cpp does not recognize the =
extension,
>> +it will treat the file as C; this is the most generic mode.
>> .Sp
>> \&\fINote:\fR Previous versions of cpp accepted a \fB\-lang\fR option
>> which selected both the language and the standards conformance level.
>> @@ -854,8 +851,6 @@ configuration of \s-1GCC\s0.
>> .IX Item "C_INCLUDE_PATH"
>> .IP "\fB\s-1CPLUS_INCLUDE_PATH\s0\fR" 4
>> .IX Item "CPLUS_INCLUDE_PATH"
>> -.IP "\fB\s-1OBJC_INCLUDE_PATH\s0\fR" 4
>> -.IX Item "OBJC_INCLUDE_PATH"
>> .PD
>> Each variable's value is a list of directories separated by a special
>> character, much like \fB\s-1PATH\s0\fR, in which to look for header =
files.
>>=20
>> Modified: head/contrib/gcc/doc/cpp.texi
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/contrib/gcc/doc/cpp.texi	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/contrib/gcc/doc/cpp.texi	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -72,9 +72,9 @@ This manual contains no Invariant Sectio
>> @ifnottex
>> @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
>> -useful on its own.
>> +The C preprocessor implements the macro language used to transform C
>> +and C++ programs before they are compiled.  It can also be useful on
>> +its own.
>>=20
>> @menu
>> * Overview::
>> @@ -186,14 +186,14 @@ before compilation.  It is called a macr
>> you to define @dfn{macros}, which are brief abbreviations for longer
>> constructs.
>>=20
>> -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
>> -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
>> -preserving characteristics of the input which are not significant to
>> -C-family languages.  If a Makefile is preprocessed, all the hard =
tabs
>> -will be removed, and the Makefile will not work.
>> +The C preprocessor is intended to be used only with C and 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 preserving
>> +characteristics of the input which are not significant to C-family
>> +languages.  If a Makefile is preprocessed, all the hard tabs will be
>> +removed, and the Makefile will not work.
>>=20
>> Having said that, you can often get away with using cpp on things =
which
>> are not C@.  Other Algol-ish programming languages are often safe
>> @@ -1878,7 +1878,7 @@ the 1999 revision of the C standard.  Su
>> not yet complete.
>>=20
>> This macro is not defined if the @option{-traditional-cpp} option is
>> -used, nor when compiling C++ or Objective-C@.
>> +used, nor when compiling C++.
>>=20
>> @item __STDC_HOSTED__
>> This macro is defined, with value 1, if the compiler's target is a
>> @@ -1895,11 +1895,6 @@ GNU C++ compiler is not yet fully confor
>> instead.  It is hoped to complete the implementation of standard C++
>> in the near future.
>>=20
>> -@item __OBJC__
>> -This macro is defined, with value 1, when the Objective-C compiler =
is in
>> -use.  You can use @code{__OBJC__} to test whether a header is =
compiled
>> -by a C compiler or a Objective-C compiler.
>> -
>> @item __ASSEMBLER__
>> This macro is defined with value 1 when preprocessing assembly
>> language.
>> @@ -1921,9 +1916,9 @@ underscores.
>> @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
>> -version, minor version, and patch level of the compiler, as integer
>> -constants.  For example, GCC 3.2.1 will define @code{__GNUC__} to 3,
>> +preprocessor: C and 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.  =
These
>> macros are also defined if you invoke the preprocessor directly.
>>=20
>> @@ -2125,12 +2120,6 @@ general, user code should not need to ma
>> purpose of this macro is to ease implementation of the C++ runtime
>> library provided with G++.
>>=20
>> -@item __NEXT_RUNTIME__
>> -This macro is defined, with value 1, if (and only if) the NeXT =
runtime
>> -(as in @option{-fnext-runtime}) is in use for Objective-C@.  If the =
GNU
>> -runtime is used, this macro is not defined, so that you can use this
>> -macro to determine which runtime (NeXT or GNU) is being used.
>> -
>> @item __LP64__
>> @itemx _LP64
>> These macros are defined, with value 1, if (and only if) the =
compilation
>> @@ -3433,11 +3422,10 @@ produce no output, rather than a line of
>> @node Preprocessor Output
>> @chapter Preprocessor Output
>>=20
>> -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
>> -textual output.
>> +When the C preprocessor is used with the C or 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 textual output.
>> @c FIXME: Document the library interface.
>>=20
>> @cindex output format
>> @@ -4053,33 +4041,13 @@ You can also make or cancel assertions u
>> @node Obsolete once-only headers
>> @subsection Obsolete once-only headers
>>=20
>> -CPP supports two more ways of indicating that a header file should =
be
>> -read only once.  Neither one is as portable as a wrapper =
@samp{#ifndef},
>> -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}
>> -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 should therefore not be used by portable programs.
>> -
>> -@samp{#import} is not a well designed feature.  It requires the =
users of
>> -a header file to know that it should only be included once.  It is =
much
>> -better for the header file's implementor to write the file so that =
users
>> -don't need to know this.  Using a wrapper @samp{#ifndef} =
accomplishes
>> -this goal.
>> -
>> -In the present implementation, a single use of @samp{#import} will
>> -prevent the file from ever being read again, by either =
@samp{#import} or
>> -@samp{#include}.  You should not rely on this; do not use both
>> -@samp{#import} and @samp{#include} to refer to the same header file.
>> -
>> -Another way to prevent a header file from being included more than =
once
>> -is with the @samp{#pragma once} directive.  If @samp{#pragma once} =
is
>> -seen when scanning a header file, that file will never be read =
again, no
>> +CPP supports one more way of indicating that a header file should be
>> +read only once.  This is not as portable as a wrapper =
@samp{#ifndef},
>> +and we recommend you do not use it in new programs.
>> +
>> +A way to prevent a header file from being included more than once is
>> +with the @samp{#pragma once} directive.  If @samp{#pragma once} is =
seen
>> +when scanning a header file, that file will never be read again, no
>> matter what.
>>=20
>> @samp{#pragma once} does not have the problems that @samp{#import} =
does,
>>=20
>> Modified: head/contrib/gcc/doc/cppenv.texi
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/contrib/gcc/doc/cppenv.texi	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/contrib/gcc/doc/cppenv.texi	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -14,9 +14,6 @@
>> @item CPATH
>> @itemx C_INCLUDE_PATH
>> @itemx CPLUS_INCLUDE_PATH
>> -@itemx OBJC_INCLUDE_PATH
>> -@c Commented out until ObjC++ is part of GCC:
>> -@c @itemx OBJCPLUS_INCLUDE_PATH
>> Each variable's value is a list of directories separated by a special
>> character, much like @env{PATH}, in which to look for header files.
>> The special character, @code{PATH_SEPARATOR}, is target-dependent and
>>=20
>> Modified: head/contrib/gcc/doc/cppinternals.texi
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/contrib/gcc/doc/cppinternals.texi	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/contrib/gcc/doc/cppinternals.texi	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -72,10 +72,10 @@ into another language, under the above c
>>=20
>> The GNU C preprocessor is
>> implemented as a library, @dfn{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
>> -programs, though this is not recommended as its exposed interface =
has
>> -not yet reached a point of reasonable stability.
>> +a stand-alone preprocessor, and a preprocessor integrated with the C
>> +and 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.
>>=20
>> The library has been written to be re-entrant, so that it can be used
>> to preprocess many files simultaneously if necessary.  It has also =
been
>> @@ -91,7 +91,7 @@ the way they have.
>>=20
>> @menu
>> * Conventions::         Conventions used in the code.
>> -* Lexer::               The combined C, C++ and Objective-C Lexer.
>> +* Lexer::               The combined C and C++ Lexer.
>> * Hash Nodes::          All identifiers are entered into a hash =
table.
>> * Macro Expansion::     Macro expansion algorithm.
>> * Token Spacing::       Spacing and paste avoidance issues.
>> @@ -131,12 +131,12 @@ behavior.
>>=20
>> @section Overview
>> The lexer is contained in the file @file{lex.c}.  It is a hand-coded
>> -lexer, and not implemented as a state machine.  It can understand C, =
C++
>> -and Objective-C source code, and has been extended to allow =
reasonably
>> -successful preprocessing of assembly language.  The lexer does not =
make
>> -an initial pass to strip out trigraphs and escaped newlines, but =
handles
>> -them as they are encountered in a single pass of the input file.  It
>> -returns preprocessing tokens individually, not a line at a time.
>> +lexer, and not implemented as a state machine.  It can understand C =
and
>> +C++ source code, and has been extended to allow reasonably =
successful
>> +preprocessing of assembly language.  The lexer does not make an =
initial
>> +pass to strip out trigraphs and escaped newlines, but handles them =
as
>> +they are encountered in a single pass of the input file.  It returns
>> +preprocessing tokens individually, not a line at a time.
>>=20
>> It is mostly transparent to users of the library, since the library's
>> interface for obtaining the next token, @code{cpp_get_token}, takes =
care
>> @@ -303,9 +303,9 @@ don't allow the terminators of header na
>> @samp{"} or @samp{>} terminates the header name.
>>=20
>> Interpretation of some character sequences depends upon whether we =
are
>> -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 in C it =
is
>> -two separate @samp{:} tokens and almost certainly a syntax error.  =
Such
>> +lexing C or C++, and on the revision of the standard in force.  For
>> +example, @samp{::} is a single token in C++, but in C it is two
>> +separate @samp{:} tokens and almost certainly a syntax error.  Such
>> cases are handled by @code{_cpp_lex_direct} based upon command-line
>> flags stored in the @code{cpp_options} structure.
>>=20
>>=20
>> Modified: head/contrib/gcc/doc/cppopts.texi
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/contrib/gcc/doc/cppopts.texi	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/contrib/gcc/doc/cppopts.texi	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -347,17 +347,15 @@ current directory.
>> @end ifclear
>> @item -x c
>> @itemx -x c++
>> -@itemx -x objective-c
>> @itemx -x assembler-with-cpp
>> @opindex x
>> -Specify the source language: C, C++, Objective-C, or assembly.  This =
has
>> -nothing to do with standards conformance or extensions; it merely
>> -selects which base syntax to expect.  If you give none of these =
options,
>> -cpp will deduce the language from the extension of the source file:
>> -@samp{.c}, @samp{.cc}, @samp{.m}, or @samp{.S}.  Some other common
>> -extensions for C++ and assembly are also recognized.  If cpp does =
not
>> -recognize the extension, it will treat the file as C; this is the =
most
>> -generic mode.
>> +Specify the source language: C, C++, or assembly.  This has nothing =
to
>> +do with standards conformance or extensions; it merely selects which
>> +base syntax to expect.  If you give none of these options, cpp will
>> +deduce the language from the extension of the source file: =
@samp{.c},
>> +@samp{.cc}, or @samp{.S}.  Some other common extensions for C++ and
>> +assembly are also recognized.  If cpp does not recognize the =
extension,
>> +it will treat the file as C; this is the most generic mode.
>>=20
>> @emph{Note:} Previous versions of cpp accepted a @option{-lang} =
option
>> which selected both the language and the standards conformance level.
>>=20
>> Modified: head/contrib/gcc/doc/extend.texi
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/contrib/gcc/doc/extend.texi	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/contrib/gcc/doc/extend.texi	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -16,9 +16,9 @@ any of these features is used.)  To test
>> features in conditional compilation, check for a predefined macro
>> @code{__GNUC__}, which is always defined under GCC@.
>>=20
>> -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++.
>> +These extensions are available in 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++.
>>=20
>> Some features that are in ISO C99 but not C89 or C++ are also, as
>> extensions, accepted by GCC in C89 mode and in C++.
>> @@ -1716,8 +1716,6 @@ been called.  Functions with these attri
>> initializing data that will be used implicitly during the execution =
of
>> the program.
>>=20
>> -These attributes are not currently implemented for Objective-C@.
>> -
>> @item deprecated
>> @cindex @code{deprecated} attribute.
>> The @code{deprecated} attribute results in a warning if the function
>> @@ -2605,9 +2603,9 @@ Preprocessing Directives, cpp, The GNU C
>>=20
>> 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
>> -infelicities in the grammar for attributes, some forms described =
here
>> -may not be successfully parsed in all cases.
>> +language.  Some details may vary for C++.  Because of infelicities =
in
>> +the grammar for attributes, some forms described here may not be
>> +successfully parsed in all cases.
>>=20
>> There are some problems with the semantics of attributes in C++.  For
>> example, there are no manglings for attributes, although they may =
affect
>> @@ -9896,9 +9894,8 @@ The Solaris target supports @code{#pragm
>> Increase the minimum alignment of each @var{variable} to =
@var{alignment}.
>> This is the same as GCC's @code{aligned} attribute @pxref{Variable
>> Attributes}).  Macro expansion occurs on the arguments to this pragma
>> -when compiling C and Objective-C.  It does not currently occur when
>> -compiling C++, but this is a bug which may be fixed in a future
>> -release.
>> +when compiling C.  It does not currently occur when compiling C++, =
but
>> +this is a bug which may be fixed in a future release.
>>=20
>> @item fini (@var{function} [, @var{function}]...)
>> @cindex pragma, fini
>>=20
>> Modified: head/contrib/gcc/doc/frontends.texi
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/contrib/gcc/doc/frontends.texi	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/contrib/gcc/doc/frontends.texi	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -12,13 +12,10 @@
>> @cindex Ada
>> @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, Objective-C++, =
Java,
>> -Fortran, and Ada.
>> +languages currently include C, C++, Java, Fortran, and Ada.
>>=20
>> The abbreviation @dfn{GCC} has multiple meanings in common use.  The
>> current official meaning is ``GNU Compiler Collection'', which refers
>> @@ -59,5 +56,4 @@ have been implemented as ``preprocessors
>> 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++, =
Objective-C
>> -and Objective-C++ languages.
>> +preprocessor}, which is an integral feature of the C and C++ =
languages.
>>=20
>> Modified: head/contrib/gcc/doc/gcc.1
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/contrib/gcc/doc/gcc.1	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/contrib/gcc/doc/gcc.1	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -219,22 +219,6 @@ in the following sections.
>> \&\-Wno\-non\-template\-friend  \-Wold\-style\-cast=20
>> \&\-Woverloaded\-virtual  \-Wno\-pmf\-conversions=20
>> \&\-Wsign\-promo\fR
>> -.IP "\fIObjective-C and Objective\-\*(C+ Language Options\fR" 4
>> -.IX Item "Objective-C and Objective- Language Options"
>> -\&\fB\-fconstant\-string\-class=3D\fR\fIclass-name\fR=20
>> -\&\fB\-fgnu\-runtime  \-fnext\-runtime=20
>> -\&\-fno\-nil\-receivers=20
>> -\&\-fobjc\-call\-cxx\-cdtors=20
>> -\&\-fobjc\-direct\-dispatch=20
>> -\&\-fobjc\-exceptions=20
>> -\&\-fobjc\-gc=20
>> -\&\-freplace\-objc\-classes=20
>> -\&\-fzero\-link=20
>> -\&\-gen\-decls=20
>> -\&\-Wassign\-intercept=20
>> -\&\-Wno\-protocol  \-Wselector=20
>> -\&\-Wstrict\-selector\-match=20
>> -\&\-Wundeclared\-selector\fR
>> .IP "\fILanguage Independent Options\fR" 4
>> .IX Item "Language Independent Options"
>> \&\fB\-fmessage\-length=3D\fR\fIn\fR =20
>> @@ -815,29 +799,9 @@ C source code which should not be prepro
>> .IP "\fIfile\fR\fB.ii\fR" 4
>> .IX Item "file.ii"
>> \&\*(C+ source code which should not be preprocessed.
>> -.IP "\fIfile\fR\fB.m\fR" 4
>> -.IX Item "file.m"
>> -Objective-C source code.  Note that you must link with the =
\fIlibobjc\fR
>> -library to make an Objective-C program work.
>> -.IP "\fIfile\fR\fB.mi\fR" 4
>> -.IX Item "file.mi"
>> -Objective-C source code which should not be preprocessed.
>> -.IP "\fIfile\fR\fB.mm\fR" 4
>> -.IX Item "file.mm"
>> -.PD 0
>> -.IP "\fIfile\fR\fB.M\fR" 4
>> -.IX Item "file.M"
>> -.PD
>> -Objective\-\*(C+ source code.  Note that you must link with the =
\fIlibobjc\fR
>> -library to make an Objective\-\*(C+ program work.  Note that =
\fB.M\fR refers
>> -to a literal capital M.
>> -.IP "\fIfile\fR\fB.mii\fR" 4
>> -.IX Item "file.mii"
>> -Objective\-\*(C+ source code which should not be preprocessed.
>> .IP "\fIfile\fR\fB.h\fR" 4
>> .IX Item "file.h"
>> -C, \*(C+, Objective-C or Objective\-\*(C+ header file to be turned =
into a
>> -precompiled header.
>> +C, or \*(C+ header file to be turned into a precompiled header.
>> .IP "\fIfile\fR\fB.cc\fR" 4
>> .IX Item "file.cc"
>> .PD 0
>> @@ -857,16 +821,6 @@ precompiled header.
>> \&\*(C+ source code which must be preprocessed.  Note that in =
\fB.cxx\fR,
>> the last two letters must both be literally \fBx\fR.  Likewise,
>> \&\fB.C\fR refers to a literal capital C.
>> -.IP "\fIfile\fR\fB.mm\fR" 4
>> -.IX Item "file.mm"
>> -.PD 0
>> -.IP "\fIfile\fR\fB.M\fR" 4
>> -.IX Item "file.M"
>> -.PD
>> -Objective\-\*(C+ source code which must be preprocessed.
>> -.IP "\fIfile\fR\fB.mii\fR" 4
>> -.IX Item "file.mii"
>> -Objective\-\*(C+ source code which should not be preprocessed.
>> .IP "\fIfile\fR\fB.hh\fR" 4
>> .IX Item "file.hh"
>> .PD 0
>> @@ -941,8 +895,6 @@ the next \fB\-x\fR option.  Possible val
>> .Vb 9
>> \&        c  c-header  c-cpp-output
>> \&        c++  c++-header  c++-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
>> \&        f95  f95-cpp-input
>> @@ -1095,8 +1047,7 @@ languages; or options that are meaningfu
>> .Sh "Options Controlling C Dialect"
>> .IX Subsection "Options Controlling C Dialect"
>> The following options control the dialect of C (or languages derived
>> -from C, such as \*(C+, Objective-C and Objective\-\*(C+) that the =
compiler
>> -accepts:
>> +from C, such as \*(C+) that the compiler accepts:
>> .IP "\fB\-ansi\fR" 4
>> .IX Item "-ansi"
>> In C mode, support all \s-1ISO\s0 C90 programs.  In \*(C+ mode,
>> @@ -1840,251 +1791,6 @@ unsignedness, but the standard mandates=20
>> .Sp
>> In this example, G++ will synthesize a default \fBA& operator =3D
>> (const A&);\fR, while cfront will use the user-defined \fBoperator =
=3D\fR.
>> -.Sh "Options Controlling Objective-C and Objective\-\*(C+ Dialects"
>> -.IX Subsection "Options Controlling Objective-C and Objective- =
Dialects"
>> -(\s-1NOTE:\s0 This manual does not describe the Objective-C and =
Objective\-\*(C+
>> -languages themselves.  See=20
>> -.PP
>> -This section describes the command-line options that are only =
meaningful
>> -for Objective-C and Objective\-\*(C+ programs, but you can also use =
most of
>> -the language-independent \s-1GNU\s0 compiler options.
>> -For example, you might compile a file \f(CW\*(C`some_class.m\*(C'\fR =
like this:
>> -.PP
>> -.Vb 1
>> -\&        gcc -g -fgnu-runtime -O -c some_class.m
>> -.Ve
>> -.PP
>> -In this example, \fB\-fgnu\-runtime\fR is an option meant only for
>> -Objective-C and Objective\-\*(C+ programs; you can use the other =
options with
>> -any language supported by \s-1GCC\s0.
>> -.PP
>> -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.,
>> -\&\fB\-Wtraditional\fR).  Similarly, Objective\-\*(C+ compilations =
may use
>> -\&\*(C+\-specific options (e.g., \fB\-Wabi\fR).
>> -.PP
>> -Here is a list of options that are \fIonly\fR for compiling =
Objective-C
>> -and Objective\-\*(C+ programs:
>> -.IP "\fB\-fconstant\-string\-class=3D\fR\fIclass-name\fR" 4
>> -.IX Item "-fconstant-string-class=3Dclass-name"
>> -Use \fIclass-name\fR as the name of the class to instantiate for =
each
>> -literal string specified with the syntax \f(CW\*(C`@"..."\*(C'\fR.  =
The default
>> -class name is \f(CW\*(C`NXConstantString\*(C'\fR if the \s-1GNU\s0 =
runtime is being used, and
>> -\&\f(CW\*(C`NSConstantString\*(C'\fR if the NeXT runtime is being =
used (see below).  The
>> -\&\fB\-fconstant\-cfstrings\fR option, if also present, will =
override the
>> -\&\fB\-fconstant\-string\-class\fR setting and cause =
\f(CW\*(C`@"..."\*(C'\fR literals
>> -to be laid out as constant CoreFoundation strings.
>> -.IP "\fB\-fgnu\-runtime\fR" 4
>> -.IX Item "-fgnu-runtime"
>> -Generate object code compatible with the standard \s-1GNU\s0 =
Objective-C
>> -runtime.  This is the default for most types of systems.
>> -.IP "\fB\-fnext\-runtime\fR" 4
>> -.IX Item "-fnext-runtime"
>> -Generate output compatible with the NeXT runtime.  This is the =
default
>> -for NeXT-based systems, including Darwin and Mac \s-1OS\s0 X.  The =
macro
>> -\&\f(CW\*(C`_\|_NEXT_RUNTIME_\|_\*(C'\fR is predefined if (and only =
if) this option is
>> -used.
>> -.IP "\fB\-fno\-nil\-receivers\fR" 4
>> -.IX Item "-fno-nil-receivers"
>> -Assume that all Objective-C message dispatches (e.g.,
>> -\&\f(CW\*(C`[receiver message:arg]\*(C'\fR) in this translation unit =
ensure that the receiver
>> -is not \f(CW\*(C`nil\*(C'\fR.  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 \s-1OS\s0 X 10.3 and later.
>> -.IP "\fB\-fobjc\-call\-cxx\-cdtors\fR" 4
>> -.IX Item "-fobjc-call-cxx-cdtors"
>> -For each Objective-C class, check if any of its instance variables =
is a
>> -\&\*(C+ object with a non-trivial default constructor.  If so, =
synthesize a
>> -special \f(CW\*(C`\- (id) .cxx_construct\*(C'\fR instance method =
that will run
>> -non-trivial default constructors on any such instance variables, in =
order,
>> -and then return \f(CW\*(C`self\*(C'\fR.  Similarly, check if any =
instance variable
>> -is a \*(C+ object with a non-trivial destructor, and if so, =
synthesize a
>> -special \f(CW\*(C`\- (void) .cxx_destruct\*(C'\fR method that will =
run
>> -all such default destructors, in reverse order.
>> -.Sp
>> -The \f(CW\*(C`\- (id) .cxx_construct\*(C'\fR and/or \f(CW\*(C`\- =
(void) .cxx_destruct\*(C'\fR methods
>> -thusly generated will only operate on instance variables declared in =
the
>> -current Objective-C class, and not those inherited from =
superclasses.  It
>> -is the responsibility of the Objective-C runtime to invoke all such =
methods
>> -in an object's inheritance hierarchy.  The \f(CW\*(C`\- (id) =
.cxx_construct\*(C'\fR methods
>> -will be invoked by the runtime immediately after a new object
>> -instance is allocated; the \f(CW\*(C`\- (void) .cxx_destruct\*(C'\fR =
methods will
>> -be invoked immediately before the runtime deallocates an object =
instance.
>> -.Sp
>> -As of this writing, only the NeXT runtime on Mac \s-1OS\s0 X 10.4 =
and later has
>> -support for invoking the \f(CW\*(C`\- (id) .cxx_construct\*(C'\fR =
and
>> -\&\f(CW\*(C`\- (void) .cxx_destruct\*(C'\fR methods.
>> -.IP "\fB\-fobjc\-direct\-dispatch\fR" 4
>> -.IX Item "-fobjc-direct-dispatch"
>> -Allow fast jumps to the message dispatcher.  On Darwin this is
>> -accomplished via the comm page.
>> -.IP "\fB\-fobjc\-exceptions\fR" 4
>> -.IX Item "-fobjc-exceptions"
>> -Enable syntactic support for structured exception handling in =
Objective\-C,
>> -similar to what is offered by \*(C+ and Java.  This option is
>> -unavailable in conjunction with the NeXT runtime on Mac \s-1OS\s0 X =
10.2 and
>> -earlier.
>> -.Sp
>> -.Vb 23
>> -\&          @try {
>> -\&            ...
>> -\&               @throw expr;
>> -\&            ...
>> -\&          }
>> -\&          @catch (AnObjCClass *exc) {
>> -\&            ...
>> -\&              @throw expr;
>> -\&            ...
>> -\&              @throw;
>> -\&            ...
>> -\&          }
>> -\&          @catch (AnotherClass *exc) {
>> -\&            ...
>> -\&          }
>> -\&          @catch (id allOthers) {
>> -\&            ...
>> -\&          }
>> -\&          @finally {
>> -\&            ...
>> -\&              @throw expr;
>> -\&            ...
>> -\&          }
>> -.Ve
>> -.Sp
>> -The \f(CW@throw\fR statement may appear anywhere in an Objective-C =
or
>> -Objective\-\*(C+ program; when used inside of a \f(CW@catch\fR =
block, the
>> -\&\f(CW@throw\fR may appear without an argument (as shown above), in =
which case
>> -the object caught by the \f(CW@catch\fR will be rethrown.
>> -.Sp
>> -Note that only (pointers to) Objective-C objects may be thrown and
>> -caught using this scheme.  When an object is thrown, it will be =
caught
>> -by the nearest \f(CW@catch\fR clause capable of handling objects of =
that type,
>> -analogously to how \f(CW\*(C`catch\*(C'\fR blocks work in \*(C+ and =
Java.  A
>> -\&\f(CW\*(C`@catch(id ...)\*(C'\fR clause (as shown above) may also =
be provided to catch
>> -any and all Objective-C exceptions not caught by previous =
\f(CW@catch\fR
>> -clauses (if any).
>> -.Sp
>> -The \f(CW@finally\fR clause, if present, will be executed upon exit =
from the
>> -immediately preceding \f(CW\*(C`@try ... @catch\*(C'\fR section.  =
This will happen
>> -regardless of whether any exceptions are thrown, caught or rethrown
>> -inside the \f(CW\*(C`@try ... @catch\*(C'\fR section, analogously to =
the behavior
>> -of the \f(CW\*(C`finally\*(C'\fR clause in Java.
>> -.Sp
>> -There are several caveats to using the new exception mechanism:
>> -.RS 4
>> -.IP "*" 4
>> -Although currently designed to be binary compatible with =
\f(CW\*(C`NS_HANDLER\*(C'\fR\-style
>> -idioms provided by the \f(CW\*(C`NSException\*(C'\fR class, the new
>> -exceptions can only be used on Mac \s-1OS\s0 X 10.3 (Panther) and =
later
>> -systems, due to additional functionality needed in the (NeXT) =
Objective-C
>> -runtime.
>> -.IP "*" 4
>> -As mentioned above, the new exceptions do not support handling
>> -types other than Objective-C objects.   Furthermore, when used from
>> -Objective\-\*(C+, the Objective-C exception model does not =
interoperate with \*(C+
>> -exceptions at this time.  This means you cannot \f(CW@throw\fR an =
exception
>> -from Objective-C and \f(CW\*(C`catch\*(C'\fR it in \*(C+, or vice =
versa
>> -(i.e., \f(CW\*(C`throw ... @catch\*(C'\fR).
>> -.RE
>> -.RS 4
>> -.Sp
>> -The \fB\-fobjc\-exceptions\fR switch also enables the use of =
synchronization
>> -blocks for thread-safe execution:
>> -.Sp
>> -.Vb 3
>> -\&          @synchronized (ObjCClass *guard) {
>> -\&            ...
>> -\&          }
>> -.Ve
>> -.Sp
>> -Upon entering the \f(CW@synchronized\fR block, a thread of execution =
shall
>> -first check whether a lock has been placed on the corresponding =
\f(CW\*(C`guard\*(C'\fR
>> -object by another thread.  If it has, the current thread shall wait =
until
>> -the other thread relinquishes its lock.  Once =
\f(CW\*(C`guard\*(C'\fR becomes available,
>> -the current thread will place its own lock on it, execute the code =
contained in
>> -the \f(CW@synchronized\fR block, and finally relinquish the lock =
(thereby
>> -making \f(CW\*(C`guard\*(C'\fR available to other threads).
>> -.Sp
>> -Unlike Java, Objective-C does not allow for entire methods to be =
marked
>> -\&\f(CW@synchronized\fR.  Note that throwing exceptions out of
>> -\&\f(CW@synchronized\fR blocks is allowed, and will cause the =
guarding object
>> -to be unlocked properly.
>> -.RE
>> -.IP "\fB\-fobjc\-gc\fR" 4
>> -.IX Item "-fobjc-gc"
>> -Enable garbage collection (\s-1GC\s0) in Objective-C and =
Objective\-\*(C+ programs.
>> -.IP "\fB\-freplace\-objc\-classes\fR" 4
>> -.IX Item "-freplace-objc-classes"
>> -Emit a special marker instructing \fB\f(BIld\fB\|(1)\fR not to =
statically link in
>> -the resulting object file, and allow \fB\f(BIdyld\fB\|(1)\fR to load =
it in at
>> -run time instead.  This is used in conjunction with the =
Fix-and-Continue
>> -debugging mode, where the object file in question may be recompiled =
and
>> -dynamically reloaded in the course of program execution, without the =
need
>> -to restart the program itself.  Currently, Fix-and-Continue =
functionality
>> -is only available in conjunction with the NeXT runtime on Mac =
\s-1OS\s0 X 10.3
>> -and later.
>> -.IP "\fB\-fzero\-link\fR" 4
>> -.IX Item "-fzero-link"
>> -When compiling for the NeXT runtime, the compiler ordinarily =
replaces calls
>> -to \f(CW\*(C`objc_getClass("...")\*(C'\fR (when the name of the =
class is known at
>> -compile time) with static class references that get initialized at =
load time,
>> -which improves run-time performance.  Specifying the =
\fB\-fzero\-link\fR flag
>> -suppresses this behavior and causes calls to =
\f(CW\*(C`objc_getClass("...")\*(C'\fR
>> -to be retained.  This is useful in Zero-Link debugging mode, since =
it allows
>> -for individual class implementations to be modified during program =
execution.
>> -.IP "\fB\-gen\-decls\fR" 4
>> -.IX Item "-gen-decls"
>> -Dump interface declarations for all classes seen in the source file =
to a
>> -file named \fI\fIsourcename\fI.decl\fR.
>> -.IP "\fB\-Wassign\-intercept\fR" 4
>> -.IX Item "-Wassign-intercept"
>> -Warn whenever an Objective-C assignment is being intercepted by the
>> -garbage collector.
>> -.IP "\fB\-Wno\-protocol\fR" 4
>> -.IX Item "-Wno-protocol"
>> -If a class is declared to implement a protocol, a warning is issued =
for
>> -every method in the protocol that is not implemented by the class.  =
The
>> -default behavior is to issue a warning for every method not =
explicitly
>> -implemented in the class, even if a method implementation is =
inherited
>> -from the superclass.  If you use the \fB\-Wno\-protocol\fR option, =
then
>> -methods inherited from the superclass are considered to be =
implemented,
>> -and no warning is issued for them.
>> -.IP "\fB\-Wselector\fR" 4
>> -.IX Item "-Wselector"
>> -Warn if multiple methods of different types for the same selector =
are
>> -found during compilation.  The check is performed on the list of =
methods
>> -in the final stage of compilation.  Additionally, a check is =
performed
>> -for each selector appearing in a \f(CW\*(C`@selector(...)\*(C'\fR
>> -expression, and a corresponding method for that selector has been =
found
>> -during compilation.  Because these checks scan the method table only =
at
>> -the end of compilation, these warnings are not produced if the final
>> -stage of compilation is not reached, for example because an error is
>> -found during compilation, or because the \fB\-fsyntax\-only\fR =
option is
>> -being used.
>> -.IP "\fB\-Wstrict\-selector\-match\fR" 4
>> -.IX Item "-Wstrict-selector-match"
>> -Warn if multiple methods with differing argument and/or return types =
are
>> -found for a given selector when attempting to send a message using =
this
>> -selector to a receiver of type \f(CW\*(C`id\*(C'\fR or =
\f(CW\*(C`Class\*(C'\fR.  When this flag
>> -is off (which is the default behavior), the compiler will omit such =
warnings
>> -if any differences found are confined to types which share the same =
size
>> -and alignment.
>> -.IP "\fB\-Wundeclared\-selector\fR" 4
>> -.IX Item "-Wundeclared-selector"
>> -Warn if a \f(CW\*(C`@selector(...)\*(C'\fR expression referring to =
an
>> -undeclared selector is found.  A selector is considered undeclared =
if no
>> -method with that name has been declared before the
>> -\&\f(CW\*(C`@selector(...)\*(C'\fR expression, either explicitly in =
an
>> -\&\f(CW@interface\fR or \f(CW@protocol\fR declaration, or implicitly =
in
>> -an \f(CW@implementation\fR section.  This option always performs its
>> -checks as soon as a \f(CW\*(C`@selector(...)\*(C'\fR expression is =
found,
>> -while \fB\-Wselector\fR only performs its checks in the final stage =
of
>> -compilation.  This also enforces the coding style convention
>> -that methods and selectors must be declared before being used.
>> -.IP "\fB\-print\-objc\-runtime\-info\fR" 4
>> -.IX Item "-print-objc-runtime-info"
>> -Generate C header describing the largest structure that is passed by
>> -value, if any.
>> .Sh "Options to Control Diagnostic Messages Formatting"
>> .IX Subsection "Options to Control Diagnostic Messages Formatting"
>> Traditionally, diagnostic messages have been formatted irrespective =
of
>> @@ -2136,8 +1842,7 @@ two forms, whichever is not the default.
>> .PP
>> The following options control the amount and kinds of warnings =
produced
>> by \s-1GCC\s0; for further, language-specific options also refer to
>> -\&\fB\*(C+ Dialect Options\fR and \fBObjective-C and =
Objective\-\*(C+ Dialect
>> -Options\fR.
>> +\&\fB\*(C+ Dialect Options\fR.
>> .IP "\fB\-fsyntax\-only\fR" 4
>> .IX Item "-fsyntax-only"
>> Check the code for syntax errors, but don't do anything beyond that.
>> @@ -2287,8 +1992,8 @@ requiring a non-null value by the \f(CW\
>> .Sp
>> \&\fB\-Wnonnull\fR is included in \fB\-Wall\fR and \fB\-Wformat\fR.  =
It
>> can be disabled with the \fB\-Wno\-nonnull\fR option.
>> -.IP "\fB\-Winit\-self\fR (C, \*(C+, Objective-C and Objective\-\*(C+ =
only)" 4
>> -.IX Item "-Winit-self (C, , Objective-C and Objective- only)"
>> +.IP "\fB\-Winit\-self\fR (C, \*(C+ only)" 4
>> +.IX Item "-Winit-self (C, only)"
>> Warn about uninitialized variables which are initialized with =
themselves.
>> Note this option can only be used with the \fB\-Wuninitialized\fR =
option,
>> which in turn only works with \fB\-O1\fR and above.
>> @@ -2339,8 +2044,8 @@ bracketed, but that for \fBb\fR is fully
>> .Ve
>> .Sp
>> This warning is enabled by \fB\-Wall\fR.
>> -.IP "\fB\-Wmissing\-include\-dirs\fR (C, \*(C+, Objective-C and =
Objective\-\*(C+ only)" 4
>> -.IX Item "-Wmissing-include-dirs (C, , Objective-C and Objective- =
only)"
>> +.IP "\fB\-Wmissing\-include\-dirs\fR (C and \*(C+ only)" 4
>> +.IX Item "-Wmissing-include-dirs (C, only)"
>> Warn if a user-supplied include directory does not exist.
>> .IP "\fB\-Wparentheses\fR" 4
>> .IX Item "-Wparentheses"
>> @@ -2675,8 +2380,7 @@ All of the above \fB\-W\fR options combi
>> 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 \fB\*(C+ Dialect Options\fR and
>> -\&\fBObjective-C and Objective\-\*(C+ Dialect Options\fR.
>> +warnings described in \fB\*(C+ Dialect Options\fR.
>> .PP
>> The following \fB\-W...\fR options are not implied by \fB\-Wall\fR.
>> Some of them warn about constructions that users generally do not
>> @@ -3224,8 +2928,8 @@ itself is likely to take inordinate amou
>> .IP "\fB\-Wpointer\-sign\fR" 4
>> .IX Item "-Wpointer-sign"
>> Warn for pointer argument passing or assignment with different =
signedness.
>> -This option is only supported for C and Objective\-C.  It is implied =
by
>> -\&\fB\-Wall\fR and by \fB\-pedantic\fR, which can be disabled with
>> +This option is only supported for C.  It is implied by =
\&\fB\-Wall\fR
>> +and by \fB\-pedantic\fR, which can be disabled with
>> \&\fB\-Wno\-pointer\-sign\fR.
>> .IP "\fB\-Werror\fR" 4
>> .IX Item "-Werror"
>> @@ -6294,12 +5998,10 @@ current directory.
>> .PD 0
>> .IP "\fB\-x c++\fR" 4
>> .IX Item "-x c++"
>> -.IP "\fB\-x objective-c\fR" 4
>> -.IX Item "-x objective-c"
>> .IP "\fB\-x assembler-with-cpp\fR" 4
>> .IX Item "-x assembler-with-cpp"
>> .PD
>> -Specify the source language: C, \*(C+, Objective\-C, or assembly.  =
This has
>> +Specify the source language: C, \*(C+, or assembly.  This has
>> nothing to do with standards conformance or extensions; it merely
>> selects which base syntax to expect.  If you give none of these =
options,
>> cpp will deduce the language from the extension of the source file:
>> @@ -6728,10 +6430,6 @@ ordinary object file, it is linked in th
>> difference between using an \fB\-l\fR option and specifying a file =
name
>> is that \fB\-l\fR surrounds \fIlibrary\fR with \fBlib\fR and \fB.a\fR
>> and searches several directories.
>> -.IP "\fB\-lobjc\fR" 4
>> -.IX Item "-lobjc"
>> -You need this special case of the \fB\-l\fR option in order to
>> -link an Objective-C or Objective\-\*(C+ program.
>> .IP "\fB\-nostartfiles\fR" 4
>> .IX Item "-nostartfiles"
>> Do not use the standard system startup files when linking.
>> @@ -13035,8 +12733,6 @@ preprocessor.
>> .IX Item "C_INCLUDE_PATH"
>> .IP "\fB\s-1CPLUS_INCLUDE_PATH\s0\fR" 4
>> .IX Item "CPLUS_INCLUDE_PATH"
>> -.IP "\fB\s-1OBJC_INCLUDE_PATH\s0\fR" 4
>> -.IX Item "OBJC_INCLUDE_PATH"
>> .PD
>> Each variable's value is a list of directories separated by a special
>> character, much like \fB\s-1PATH\s0\fR, in which to look for header =
files.
>>=20
>> Modified: head/contrib/gcc/doc/gcc.texi
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/contrib/gcc/doc/gcc.texi	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/contrib/gcc/doc/gcc.texi	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -129,7 +129,6 @@ Introduction, gccint, GNU Compiler Colle
>> * C Implementation:: How GCC implements the ISO C specification.
>> * C Extensions::    GNU extensions to the C language family.
>> * C++ Extensions::  GNU extensions to the C++ language.
>> -* Objective-C::     GNU Objective-C runtime features.
>> * Compatibility::   Binary Compatibility
>> * Gcov::            @command{gcov}---a test coverage program.
>> * Trouble::         If you have trouble using GCC.
>> @@ -154,7 +153,6 @@ Introduction, gccint, GNU Compiler Colle
>> @include invoke.texi
>> @include implement-c.texi
>> @include extend.texi
>> -@include objc.texi
>> @include compat.texi
>> @include gcov.texi
>> @include trouble.texi
>>=20
>> Modified: head/contrib/gcc/doc/invoke.texi
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- head/contrib/gcc/doc/invoke.texi	Sun Apr 17 20:44:02 2011	=
(r220754)
>> +++ head/contrib/gcc/doc/invoke.texi	Sun Apr 17 21:03:23 2011	=
(r220755)
>> @@ -124,8 +124,6 @@ only one of these two forms, whichever o
>> * Invoking G++::	Compiling C++ programs.
>> * C Dialect Options::   Controlling the variant of C language =
compiled.
>> * C++ Dialect Options:: Variations on 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?
>> @@ -195,24 +193,6 @@ in the following sections.
>> -Woverloaded-virtual  -Wno-pmf-conversions @gol
>> -Wsign-promo}
>>=20
>> -@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=3D@var{class-name} @gol
>> --fgnu-runtime  -fnext-runtime @gol
>> --fno-nil-receivers @gol
>> --fobjc-call-cxx-cdtors @gol
>> --fobjc-direct-dispatch @gol
>> --fobjc-exceptions @gol
>> --fobjc-gc @gol
>> --freplace-objc-classes @gol
>> --fzero-link @gol
>> --gen-decls @gol
>> --Wassign-intercept @gol
>> --Wno-protocol  -Wselector @gol
>> --Wstrict-selector-match @gol
>> --Wundeclared-selector}
>> -
>> @item Language Independent Options
>> @xref{Language Independent Options,,Options to Control Diagnostic =
Messages Formatting}.
>> @gccoptlist{-fmessage-length=3D@var{n}  @gol
>> @@ -795,8 +775,6 @@ 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 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?
>> @@ -837,25 +815,8 @@ C source code which should not be prepro
>> @item @var{file}.ii
>> C++ source code which should not be preprocessed.
>>=20
>> -@item @var{file}.m
>> -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, C++, Objective-C or Objective-C++ header file to be turned into a
>> -precompiled header.
>> +C, or C++ header file to be turned into a precompiled header.
>>=20
>> @item @var{file}.cc
>> @itemx @var{file}.cp
>> @@ -868,13 +829,6 @@ C++ source code which must be preprocess
>> the last two letters must both be literally @samp{x}.  Likewise,
>> @samp{.C} refers to a literal capital C@.
>>=20
>> -@item @var{file}.mm
>> -@itemx @var{file}.M
>> -Objective-C++ source code which must be preprocessed.
>> -
>> -@item @var{file}.mii
>> -Objective-C++ source code which should not be preprocessed.
>> -
>> @item @var{file}.hh
>> @itemx @var{file}.H
>> C++ header file to be turned into a precompiled header.
>> @@ -946,8 +900,6 @@ the next @option{-x} option.  Possible v
>> @smallexample
>> c  c-header  c-cpp-output
>> c++  c++-header  c++-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
>> f95  f95-cpp-input
>> @@ -1121,8 +1073,7 @@ explanations of options that are meaning
>> @cindex options, dialect
>>=20
>> The following options control the dialect of C (or languages derived
>> -from C, such as C++, Objective-C and Objective-C++) that the =
compiler
>> -accepts:
>> +from C, such as C++) that the compiler accepts:
>>=20
>> @table @gcctabopt
>> @cindex ANSI support
>> @@ -1955,278 +1906,6 @@ In this example, G++ will synthesize a d
>> (const A&);}, while cfront will use the user-defined @samp{operator =
=3D}.
>> @end table
>>=20
>> -@node Objective-C and Objective-C++ Dialect Options
>> -@section Options Controlling Objective-C and Objective-C++ Dialects
>> -
>> -@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 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
>> -@end smallexample
>> -
>> -@noindent
>> -In this example, @option{-fgnu-runtime} is an option meant only for
>> -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
>>=20
>> *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
>=20
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8204A257-C8F6-4DCA-99EC-BE48BD9C84E7>