From owner-svn-src-all@FreeBSD.ORG Mon Apr 18 07:39:29 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3C036106566B; Mon, 18 Apr 2011 07:39:29 +0000 (UTC) (envelope-from rdivacky@vlakno.cz) Received: from vlakno.cz (lev.vlakno.cz [46.28.110.116]) by mx1.freebsd.org (Postfix) with ESMTP id 4EBBB8FC08; Mon, 18 Apr 2011 07:39:27 +0000 (UTC) Received: by vlakno.cz (Postfix, from userid 1002) id 3394B7F3AF9; Mon, 18 Apr 2011 09:01:24 +0200 (CEST) Date: Mon, 18 Apr 2011 09:01:24 +0200 From: Roman Divacky To: Dimitry Andric Message-ID: <20110418070124.GA67934@freebsd.org> References: <201104172103.p3HL3Ntb049564@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201104172103.p3HL3Ntb049564@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@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... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Apr 2011 07:39:29 -0000 please mark this in src/UPDATING, maybe bump freebsd_version too? 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 > > Log: > Remove libobjc and other Objective-C related components, as these are > extremely outdated, and not used by anything in the base system. > > Silence from: current@ > > 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 > > Modified: head/Makefile.inc1 > ============================================================================== > --- 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+= MAKEOBJDIRPREFIX=${OBJTR > PATH=${TMPPATH} \ > CC="${CC} ${LIB32FLAGS}" \ > CXX="${CXX} ${LIB32FLAGS}" \ > - OBJC="${OBJC} ${LIB32FLAGS}" \ > LIBDIR=/usr/lib32 \ > SHLIBDIR=/usr/lib32 > > > Modified: head/ObsoleteFiles.inc > ============================================================================== > --- 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 > > +# 20110417: removal of Objective-C support > +OLD_FILES+=usr/include/objc/encoding.h > +OLD_FILES+=usr/include/objc/hash.h > +OLD_FILES+=usr/include/objc/NXConstStr.h > +OLD_FILES+=usr/include/objc/objc-api.h > +OLD_FILES+=usr/include/objc/objc-decls.h > +OLD_FILES+=usr/include/objc/objc-list.h > +OLD_FILES+=usr/include/objc/objc.h > +OLD_FILES+=usr/include/objc/Object.h > +OLD_FILES+=usr/include/objc/Protocol.h > +OLD_FILES+=usr/include/objc/runtime.h > +OLD_FILES+=usr/include/objc/sarray.h > +OLD_FILES+=usr/include/objc/thr.h > +OLD_FILES+=usr/include/objc/typedstream.h > +OLD_FILES+=usr/lib/libobjc.a > +OLD_FILES+=usr/lib/libobjc.so > +OLD_FILES+=usr/lib/libobjc_p.a > +OLD_FILES+=usr/libexec/cc1obj > +OLD_LIBS+=usr/lib/libobjc.so.4 > +OLD_DIRS+=usr/include/objc > # 20110224: sticky.8 -> sticky.7 > OLD_FILES+=usr/share/man/man8/sticky.8.gz > # 20110220: new clang import which bumps version from 2.8 to 2.9 > > Modified: head/contrib/gcc/doc/cpp.1 > ============================================================================== > --- 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. > > Modified: head/contrib/gcc/doc/cpp.texi > ============================================================================== > --- 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. > > @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. > > -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. > > 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. > > 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++. > > @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. > > -@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. > > @@ -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++. > > -@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 > > -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. > > @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 > > -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. > > @samp{#pragma once} does not have the problems that @samp{#import} does, > > Modified: head/contrib/gcc/doc/cppenv.texi > ============================================================================== > --- 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 > > Modified: head/contrib/gcc/doc/cppinternals.texi > ============================================================================== > --- 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 > > 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. > > 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. > > @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. > > @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. > > 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. > > 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. > > > Modified: head/contrib/gcc/doc/cppopts.texi > ============================================================================== > --- 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. > > @emph{Note:} Previous versions of cpp accepted a @option{-lang} option > which selected both the language and the standards conformance level. > > Modified: head/contrib/gcc/doc/extend.texi > ============================================================================== > --- 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@. > > -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++. > > 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. > > -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 > > 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. > > 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. > > @item fini (@var{function} [, @var{function}]...) > @cindex pragma, fini > > Modified: head/contrib/gcc/doc/frontends.texi > ============================================================================== > --- 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. > > 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. > > Modified: head/contrib/gcc/doc/gcc.1 > ============================================================================== > --- 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 > \&\-Woverloaded\-virtual \-Wno\-pmf\-conversions > \&\-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=\fR\fIclass-name\fR > -\&\fB\-fgnu\-runtime \-fnext\-runtime > -\&\-fno\-nil\-receivers > -\&\-fobjc\-call\-cxx\-cdtors > -\&\-fobjc\-direct\-dispatch > -\&\-fobjc\-exceptions > -\&\-fobjc\-gc > -\&\-freplace\-objc\-classes > -\&\-fzero\-link > -\&\-gen\-decls > -\&\-Wassign\-intercept > -\&\-Wno\-protocol \-Wselector > -\&\-Wstrict\-selector\-match > -\&\-Wundeclared\-selector\fR > .IP "\fILanguage Independent Options\fR" 4 > .IX Item "Language Independent Options" > \&\fB\-fmessage\-length=\fR\fIn\fR > @@ -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 > .Sp > In this example, G++ will synthesize a default \fBA& operator = > (const A&);\fR, while cfront will use the user-defined \fBoperator =\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 > -.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=\fR\fIclass-name\fR" 4 > -.IX Item "-fconstant-string-class=class-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. > > Modified: head/contrib/gcc/doc/gcc.texi > ============================================================================== > --- 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 > > Modified: head/contrib/gcc/doc/invoke.texi > ============================================================================== > --- 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} > > -@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 > --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=@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. > > -@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. > > @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@. > > -@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 > > 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: > > @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 =}. > @end table > > -@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 > > *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***