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 > > 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 *** > > _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"