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"