X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=gcc%2Fdoc%2Fcpp.info-4;fp=gcc%2Fdoc%2Fcpp.info-4;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=d33f2cb6eaea141013eca20e99d93bbc5ff9cd40;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/doc/cpp.info-4 b/gcc/doc/cpp.info-4 deleted file mode 100644 index d33f2cb6..00000000 --- a/gcc/doc/cpp.info-4 +++ /dev/null @@ -1,1054 +0,0 @@ -This is doc/cpp.info, produced by makeinfo version 4.5 from -doc/cpp.texi. - -INFO-DIR-SECTION Programming -START-INFO-DIR-ENTRY -* Cpp: (cpp). The GNU C preprocessor. -END-INFO-DIR-ENTRY - - -File: cpp.info, Node: Invocation, Next: Environment Variables, Prev: Implementation Details, Up: Top - -Invocation -********** - - Most often when you use the C preprocessor you will not have to -invoke it explicitly: the C compiler will do so automatically. -However, the preprocessor is sometimes useful on its own. All the -options listed here are also acceptable to the C compiler and have the -same meaning, except that the C compiler has different rules for -specifying the output file. - - *Note:* Whether you use the preprocessor by way of `gcc' or `cpp', -the "compiler driver" is run first. This program's purpose is to -translate your command into invocations of the programs that do the -actual work. Their command line interfaces are similar but not -identical to the documented interface, and may change without notice. - - The C preprocessor expects two file names as arguments, INFILE and -OUTFILE. The preprocessor reads INFILE together with any other files -it specifies with `#include'. All the output generated by the combined -input files is written in OUTFILE. - - Either INFILE or OUTFILE may be `-', which as INFILE means to read -from standard input and as OUTFILE means to write to standard output. -Also, if either file is omitted, it means the same as if `-' had been -specified for that file. - - Unless otherwise noted, or the option ends in `=', all options which -take an argument may have that argument appear either immediately after -the option, or with a space between option and argument: `-Ifoo' and -`-I foo' have the same effect. - - Many options have multi-letter names; therefore multiple -single-letter options may _not_ be grouped: `-dM' is very different from -`-d -M'. - -`-D NAME' - Predefine NAME as a macro, with definition `1'. - -`-D NAME=DEFINITION' - Predefine NAME as a macro, with definition DEFINITION. There are - no restrictions on the contents of DEFINITION, but if you are - invoking the preprocessor from a shell or shell-like program you - may need to use the shell's quoting syntax to protect characters - such as spaces that have a meaning in the shell syntax. - - If you wish to define a function-like macro on the command line, - write its argument list with surrounding parentheses before the - equals sign (if any). Parentheses are meaningful to most shells, - so you will need to quote the option. With `sh' and `csh', - `-D'NAME(ARGS...)=DEFINITION'' works. - - `-D' and `-U' options are processed in the order they are given on - the command line. All `-imacros FILE' and `-include FILE' options - are processed after all `-D' and `-U' options. - -`-U NAME' - Cancel any previous definition of NAME, either built in or - provided with a `-D' option. - -`-undef' - Do not predefine any system-specific macros. The common predefined - macros remain defined. - -`-I DIR' - Add the directory DIR to the list of directories to be searched - for header files. *Note Search Path::. Directories named by `-I' - are searched before the standard system include directories. - - It is dangerous to specify a standard system include directory in - an `-I' option. This defeats the special treatment of system - headers (*note System Headers::) . It can also defeat the repairs - to buggy system headers which GCC makes when it is installed. - -`-o FILE' - Write output to FILE. This is the same as specifying FILE as the - second non-option argument to `cpp'. `gcc' has a different - interpretation of a second non-option argument, so you must use - `-o' to specify the output file. - -`-Wall' - Turns on all optional warnings which are desirable for normal - code. At present this is `-Wcomment' and `-Wtrigraphs'. Note that - many of the preprocessor's warnings are on by default and have no - options to control them. - -`-Wcomment' -`-Wcomments' - Warn whenever a comment-start sequence `/*' appears in a `/*' - comment, or whenever a backslash-newline appears in a `//' comment. - (Both forms have the same effect.) - -`-Wtrigraphs' - Warn if any trigraphs are encountered. This option used to take - effect only if `-trigraphs' was also specified, but now works - independently. Warnings are not given for trigraphs within - comments, as they do not affect the meaning of the program. - -`-Wtraditional' - Warn about certain constructs that behave differently in - traditional and ISO C. Also warn about ISO C constructs that have - no traditional C equivalent, and problematic constructs which - should be avoided. *Note Traditional Mode::. - -`-Wimport' - Warn the first time `#import' is used. - -`-Wundef' - Warn whenever an identifier which is not a macro is encountered in - an `#if' directive, outside of `defined'. Such identifiers are - replaced with zero. - -`-Werror' - Make all warnings into hard errors. Source code which triggers - warnings will be rejected. - -`-Wsystem-headers' - Issue warnings for code in system headers. These are normally - unhelpful in finding bugs in your own code, therefore suppressed. - If you are responsible for the system library, you may want to see - them. - -`-w' - Suppress all warnings, including those which GNU CPP issues by - default. - -`-pedantic' - Issue all the mandatory diagnostics listed in the C standard. - Some of them are left out by default, since they trigger - frequently on harmless code. - -`-pedantic-errors' - Issue all the mandatory diagnostics, and make all mandatory - diagnostics into errors. This includes mandatory diagnostics that - GCC issues without `-pedantic' but treats as warnings. - -`-M' - Instead of outputting the result of preprocessing, output a rule - suitable for `make' describing the dependencies of the main source - file. The preprocessor outputs one `make' rule containing the - object file name for that source file, a colon, and the names of - all the included files, including those coming from `-include' or - `-imacros' command line options. - - Unless specified explicitly (with `-MT' or `-MQ'), the object file - name consists of the basename of the source file with any suffix - replaced with object file suffix. If there are many included - files then the rule is split into several lines using `\'-newline. - The rule has no commands. - - This option does not suppress the preprocessor's debug output, - such as `-dM'. To avoid mixing such debug output with the - dependency rules you should explicitly specify the dependency - output file with `-MF', or use an environment variable like - `DEPENDENCIES_OUTPUT' (*note DEPENDENCIES_OUTPUT::). Debug output - will still be sent to the regular output stream as normal. - - Passing `-M' to the driver implies `-E'. - -`-MM' - Like `-M' but do not mention header files that are found in system - header directories, nor header files that are included, directly - or indirectly, from such a header. - - This implies that the choice of angle brackets or double quotes in - an `#include' directive does not in itself determine whether that - header will appear in `-MM' dependency output. This is a slight - change in semantics from GCC versions 3.0 and earlier. - -`-MF FILE' - When used with `-M' or `-MM', specifies a file to write the - dependencies to. If no `-MF' switch is given the preprocessor - sends the rules to the same place it would have sent preprocessed - output. - - When used with the driver options `-MD' or `-MMD', `-MF' overrides - the default dependency output file. - -`-MG' - When used with `-M' or `-MM', `-MG' says to treat missing header - files as generated files and assume they live in the same - directory as the source file. It suppresses preprocessed output, - as a missing header file is ordinarily an error. - - This feature is used in automatic updating of makefiles. - -`-MP' - This option instructs CPP to add a phony target for each dependency - other than the main file, causing each to depend on nothing. These - dummy rules work around errors `make' gives if you remove header - files without updating the `Makefile' to match. - - This is typical output: - - test.o: test.c test.h - - test.h: - -`-MT TARGET' - Change the target of the rule emitted by dependency generation. By - default CPP takes the name of the main input file, including any - path, deletes any file suffix such as `.c', and appends the - platform's usual object suffix. The result is the target. - - An `-MT' option will set the target to be exactly the string you - specify. If you want multiple targets, you can specify them as a - single argument to `-MT', or use multiple `-MT' options. - - For example, `-MT '$(objpfx)foo.o'' might give - - $(objpfx)foo.o: foo.c - -`-MQ TARGET' - Same as `-MT', but it quotes any characters which are special to - Make. `-MQ '$(objpfx)foo.o'' gives - - $$(objpfx)foo.o: foo.c - - The default target is automatically quoted, as if it were given - with `-MQ'. - -`-MD' - `-MD' is equivalent to `-M -MF FILE', except that `-E' is not - implied. The driver determines FILE based on whether an `-o' - option is given. If it is, the driver uses its argument but with - a suffix of `.d', otherwise it take the basename of the input file - and applies a `.d' suffix. - - If `-MD' is used in conjunction with `-E', any `-o' switch is - understood to specify the dependency output file (but *note - -MF::), but if used without `-E', each `-o' is understood to - specify a target object file. - - Since `-E' is not implied, `-MD' can be used to generate a - dependency output file as a side-effect of the compilation process. - -`-MMD' - Like `-MD' except mention only user header files, not system - -header files. - -`-x c' -`-x c++' -`-x objective-c' -`-x assembler-with-cpp' - 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: `.c', `.cc', `.m', or `.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. - - *Note:* Previous versions of cpp accepted a `-lang' option which - selected both the language and the standards conformance level. - This option has been removed, because it conflicts with the `-l' - option. - -`-std=STANDARD' -`-ansi' - Specify the standard to which the code should conform. Currently - cpp only knows about the standards for C; other language standards - will be added in the future. - - STANDARD may be one of: - `iso9899:1990' - `c89' - The ISO C standard from 1990. `c89' is the customary - shorthand for this version of the standard. - - The `-ansi' option is equivalent to `-std=c89'. - - `iso9899:199409' - The 1990 C standard, as amended in 1994. - - `iso9899:1999' - `c99' - `iso9899:199x' - `c9x' - The revised ISO C standard, published in December 1999. - Before publication, this was known as C9X. - - `gnu89' - The 1990 C standard plus GNU extensions. This is the default. - - `gnu99' - `gnu9x' - The 1999 C standard plus GNU extensions. - -`-I-' - Split the include path. Any directories specified with `-I' - options before `-I-' are searched only for headers requested with - `#include "FILE"'; they are not searched for `#include '. - If additional directories are specified with `-I' options after - the `-I-', those directories are searched for all `#include' - directives. - - In addition, `-I-' inhibits the use of the directory of the current - file directory as the first search directory for `#include "FILE"'. - *Note Search Path::. - -`-nostdinc' - Do not search the standard system directories for header files. - Only the directories you have specified with `-I' options (and the - directory of the current file, if appropriate) are searched. - -`-nostdinc++' - Do not search for header files in the C++-specific standard - directories, but do still search the other standard directories. - (This option is used when building the C++ library.) - -`-include FILE' - Process FILE as if `#include "file"' appeared as the first line of - the primary source file. However, the first directory searched - for FILE is the preprocessor's working directory _instead of_ the - directory containing the main source file. If not found there, it - is searched for in the remainder of the `#include "..."' search - chain as normal. - - If multiple `-include' options are given, the files are included - in the order they appear on the command line. - -`-imacros FILE' - Exactly like `-include', except that any output produced by - scanning FILE is thrown away. Macros it defines remain defined. - This allows you to acquire all the macros from a header without - also processing its declarations. - - All files specified by `-imacros' are processed before all files - specified by `-include'. - -`-idirafter DIR' - Search DIR for header files, but do it _after_ all directories - specified with `-I' and the standard system directories have been - exhausted. DIR is treated as a system include directory. - -`-iprefix PREFIX' - Specify PREFIX as the prefix for subsequent `-iwithprefix' - options. If the prefix represents a directory, you should include - the final `/'. - -`-iwithprefix DIR' -`-iwithprefixbefore DIR' - Append DIR to the prefix specified previously with `-iprefix', and - add the resulting directory to the include search path. - `-iwithprefixbefore' puts it in the same place `-I' would; - `-iwithprefix' puts it where `-idirafter' would. - - Use of these options is discouraged. - -`-isystem DIR' - Search DIR for header files, after all directories specified by - `-I' but before the standard system directories. Mark it as a - system directory, so that it gets the same special treatment as is - applied to the standard system directories. *Note System - Headers::. - -`-fpreprocessed' - Indicate to the preprocessor that the input file has already been - preprocessed. This suppresses things like macro expansion, - trigraph conversion, escaped newline splicing, and processing of - most directives. The preprocessor still recognizes and removes - comments, so that you can pass a file preprocessed with `-C' to - the compiler without problems. In this mode the integrated - preprocessor is little more than a tokenizer for the front ends. - - `-fpreprocessed' is implicit if the input file has one of the - extensions `.i', `.ii' or `.mi'. These are the extensions that - GCC uses for preprocessed files created by `-save-temps'. - -`-ftabstop=WIDTH' - Set the distance between tab stops. This helps the preprocessor - report correct column numbers in warnings or errors, even if tabs - appear on the line. If the value is less than 1 or greater than - 100, the option is ignored. The default is 8. - -`-fno-show-column' - Do not print column numbers in diagnostics. This may be necessary - if diagnostics are being scanned by a program that does not - understand the column numbers, such as `dejagnu'. - -`-A PREDICATE=ANSWER' - Make an assertion with the predicate PREDICATE and answer ANSWER. - This form is preferred to the older form `-A PREDICATE(ANSWER)', - which is still supported, because it does not use shell special - characters. *Note Assertions::. - -`-A -PREDICATE=ANSWER' - Cancel an assertion with the predicate PREDICATE and answer ANSWER. - -`-A-' - Cancel all predefined assertions and all assertions preceding it on - the command line. Also, undefine all predefined macros and all - macros preceding it on the command line. (This is a historical - wart and may change in the future.) - -`-dCHARS' - CHARS is a sequence of one or more of the following characters, - and must not be preceded by a space. Other characters are - interpreted by the compiler proper, or reserved for future - versions of GCC, and so are silently ignored. If you specify - characters whose behavior conflicts, the result is undefined. - - `M' - Instead of the normal output, generate a list of `#define' - directives for all the macros defined during the execution of - the preprocessor, including predefined macros. This gives - you a way of finding out what is predefined in your version - of the preprocessor. Assuming you have no file `foo.h', the - command - - touch foo.h; cpp -dM foo.h - - will show all the predefined macros. - - `D' - Like `M' except in two respects: it does _not_ include the - predefined macros, and it outputs _both_ the `#define' - directives and the result of preprocessing. Both kinds of - output go to the standard output file. - - `N' - Like `D', but emit only the macro names, not their expansions. - - `I' - Output `#include' directives in addition to the result of - preprocessing. - -`-P' - Inhibit generation of linemarkers in the output from the - preprocessor. This might be useful when running the preprocessor - on something that is not C code, and will be sent to a program - which might be confused by the linemarkers. *Note Preprocessor - Output::. - -`-C' - Do not discard comments. All comments are passed through to the - output file, except for comments in processed directives, which - are deleted along with the directive. - - You should be prepared for side effects when using `-C'; it causes - the preprocessor to treat comments as tokens in their own right. - For example, comments appearing at the start of what would be a - directive line have the effect of turning that line into an - ordinary source line, since the first token on the line is no - longer a `#'. - -`-gcc' - Define the macros __GNUC__, __GNUC_MINOR__ and - __GNUC_PATCHLEVEL__. These are defined automatically when you use - `gcc -E'; you can turn them off in that case with `-no-gcc'. - -`-traditional' - Try to imitate the behavior of old-fashioned C, as opposed to ISO - C. *Note Traditional Mode::. - -`-trigraphs' - Process trigraph sequences. *Note Initial processing::. - -`-remap' - Enable special code to work around file systems which only permit - very short file names, such as MS-DOS. - -`-$' - Forbid the use of `$' in identifiers. The C standard allows - implementations to define extra characters that can appear in - identifiers. By default GNU CPP permits `$', a common extension. - -`-h' -`--help' -`--target-help' - Print text describing all the command line options instead of - preprocessing anything. - -`-v' - Verbose mode. Print out GNU CPP's version number at the beginning - of execution, and report the final form of the include path. - -`-H' - Print the name of each header file used, in addition to other - normal activities. Each name is indented to show how deep in the - `#include' stack it is. - -`-version' -`--version' - Print out GNU CPP's version number. With one dash, proceed to - preprocess as normal. With two dashes, exit immediately. - - -File: cpp.info, Node: Environment Variables, Next: GNU Free Documentation License, Prev: Invocation, Up: Top - -Environment Variables -********************* - - This section describes the environment variables that affect how CPP -operates. You can use them to specify directories or prefixes to use -when searching for include files, or to control dependency output. - - Note that you can also specify places to search using options such as -`-I', and control dependency output with options like `-M' (*note -Invocation::). These take precedence over environment variables, which -in turn take precedence over the configuration of GCC. - -`CPATH' -`C_INCLUDE_PATH' -`CPLUS_INCLUDE_PATH' -`OBJC_INCLUDE_PATH' - Each variable's value is a list of directories separated by a - special character, much like `PATH', in which to look for header - files. The special character, `PATH_SEPARATOR', is - target-dependent and determined at GCC build time. For - Windows-based targets it is a semicolon, and for almost all other - targets it is a colon. - - `CPATH' specifies a list of directories to be searched as if - specified with `-I', but after any paths given with `-I' options - on the command line. The environment variable is used regardless - of which language is being preprocessed. - - The remaining environment variables apply only when preprocessing - the particular language indicated. Each specifies a list of - directories to be searched as if specified with `-isystem', but - after any paths given with `-isystem' options on the command line. - - See also *Note Search Path::. - -`DEPENDENCIES_OUTPUT' - If this variable is set, its value specifies how to output - dependencies for Make based on the non-system header files - processed by the compiler. System header files are ignored in the - dependency output. - - The value of `DEPENDENCIES_OUTPUT' can be just a file name, in - which case the Make rules are written to that file, guessing the - target name from the source file name. Or the value can have the - form `FILE TARGET', in which case the rules are written to file - FILE using TARGET as the target name. - - In other words, this environment variable is equivalent to - combining the options `-MM' and `-MF' (*note Invocation::), with - an optional `-MT' switch too. - -`SUNPRO_DEPENDENCIES' - This variable is the same as the environment variable - `DEPENDENCIES_OUTPUT' (*note DEPENDENCIES_OUTPUT::), except that - system header files are not ignored, so it implies `-M' rather - than `-MM'. However, the dependence on the main input file is - omitted. *Note Invocation::. - - -File: cpp.info, Node: GNU Free Documentation License, Next: Option Index, Prev: Environment Variables, Up: Top - -GNU Free Documentation License -****************************** - - Version 1.1, March 2000 - Copyright (C) 2000 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - written document "free" in the sense of freedom: to assure everyone - the effective freedom to copy and redistribute it, with or without - modifying it, either commercially or noncommercially. Secondarily, - this License preserves for the author and publisher a way to get - credit for their work, while not being considered responsible for - modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. - We recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work that contains a - notice placed by the copyright holder saying it can be distributed - under the terms of this License. The "Document", below, refers to - any such manual or work. Any member of the public is a licensee, - and is addressed as "you". - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter - section of the Document that deals exclusively with the - relationship of the publishers or authors of the Document to the - Document's overall subject (or to related matters) and contains - nothing that could fall directly within that overall subject. - (For example, if the Document is in part a textbook of - mathematics, a Secondary Section may not explain any mathematics.) - The relationship could be a matter of historical connection with - the subject or with related matters, or of legal, commercial, - philosophical, ethical or political position regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in - the notice that says that the Document is released under this - License. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, whose contents can be viewed and edited directly - and straightforwardly with generic text editors or (for images - composed of pixels) generic paint programs or (for drawings) some - widely available drawing editor, and that is suitable for input to - text formatters or for automatic translation to a variety of - formats suitable for input to text formatters. A copy made in an - otherwise Transparent file format whose markup has been designed - to thwart or discourage subsequent modification by readers is not - Transparent. A copy that is not "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and - standard-conforming simple HTML designed for human modification. - Opaque formats include PostScript, PDF, proprietary formats that - can be read and edited only by proprietary word processors, SGML - or XML for which the DTD and/or processing tools are not generally - available, and the machine-generated HTML produced by some word - processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow - the conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies of the Document numbering more than - 100, and the Document's license notice requires Cover Texts, you - must enclose the copies in covers that carry, clearly and legibly, - all these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the - title equally prominent and visible. You may add other material - on the covers in addition. Copying with changes limited to the - covers, as long as they preserve the title of the Document and - satisfy these conditions, can be treated as verbatim copying in - other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a - machine-readable Transparent copy along with each Opaque copy, or - state in or with each Opaque copy a publicly-accessible - computer-network location containing a complete Transparent copy - of the Document, free of added material, which the general - network-using public has access to download anonymously at no - charge using public-standard network protocols. If you use the - latter option, you must take reasonably prudent steps, when you - begin distribution of Opaque copies in quantity, to ensure that - this Transparent copy will remain thus accessible at the stated - location until at least one year after the last time you - distribute an Opaque copy (directly or through your agents or - retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of - copies, to give them a chance to provide you with an updated - version of the Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with - the Modified Version filling the role of the Document, thus - licensing distribution and modification of the Modified Version to - whoever possesses a copy of it. In addition, you must do these - things in the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of - previous versions (which should, if there were any, be listed - in the History section of the Document). You may use the - same title as a previous version if the original publisher of - that version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has less than five). - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section entitled "History", and its title, and - add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on - the Title Page. If there is no section entitled "History" in - the Document, create one stating the title, year, authors, - and publisher of the Document as given on its Title Page, - then add an item describing the Modified Version as stated in - the previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in - the "History" section. You may omit a network location for a - work that was published at least four years before the - Document itself, or if the original publisher of the version - it refers to gives permission. - - K. In any section entitled "Acknowledgments" or "Dedications", - preserve the section's title, and preserve in the section all - the substance and tone of each of the contributor - acknowledgments and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section - titles. - - M. Delete any section entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section as "Endorsements" or to - conflict in title with any Invariant Section. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option - designate some or all of these sections as invariant. To do this, - add their titles to the list of Invariant Sections in the Modified - Version's license notice. These titles must be distinct from any - other section titles. - - You may add a section entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end - of the list of Cover Texts in the Modified Version. Only one - passage of Front-Cover Text and one of Back-Cover Text may be - added by (or through arrangements made by) any one entity. If the - Document already includes a cover text for the same cover, - previously added by you or by arrangement made by the same entity - you are acting on behalf of, you may not add another; but you may - replace the old one, on explicit permission from the previous - publisher that added the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination - all of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections entitled - "History" in the various original documents, forming one section - entitled "History"; likewise combine any sections entitled - "Acknowledgments", and any sections entitled "Dedications". You - must delete all sections entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the - documents in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow - this License in all other respects regarding verbatim copying of - that document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of - a storage or distribution medium, does not as a whole count as a - Modified Version of the Document, provided no compilation - copyright is claimed for the compilation. Such a compilation is - called an "aggregate", and this License does not apply to the - other self-contained works thus compiled with the Document, on - account of their being thus compiled, if they are not themselves - derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one - quarter of the entire aggregate, the Document's Cover Texts may be - placed on covers that surround only the Document within the - aggregate. Otherwise they must appear on covers around the whole - aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License provided that you also include the - original English version of this License. In case of a - disagreement between the translation and the original English - version of this License, the original English version will prevail. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided for under this License. Any other - attempt to copy, modify, sublicense or distribute the Document is - void, and will automatically terminate your rights under this - License. However, parties who have received copies, or rights, - from you under this License will not have their licenses - terminated so long as such parties remain in full compliance. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. See - `http://www.gnu.org/copyleft/'. - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If - the Document does not specify a version number of this License, - you may choose any version ever published (not as a draft) by the - Free Software Foundation. - -ADDENDUM: How to use this License for your documents -==================================================== - - To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and license -notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.1 - or any later version published by the Free Software Foundation; - with the Invariant Sections being LIST THEIR TITLES, with the - Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. - A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - - If you have no Invariant Sections, write "with no Invariant Sections" -instead of saying which ones are invariant. If you have no Front-Cover -Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being -LIST"; likewise for Back-Cover Texts. - - If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, to -permit their use in free software. - - -File: cpp.info, Node: Option Index, Next: Index of Directives, Prev: GNU Free Documentation License, Up: Top - -Option Index -************ - - CPP's command line options are indexed here without any initial `-' -or `--'. - -* Menu: - -* $: Invocation. -* A: Invocation. -* A-: Invocation. -* ansi: Invocation. -* C: Invocation. -* D: Invocation. -* dD: Invocation. -* dI: Invocation. -* dM: Invocation. -* dN: Invocation. -* fno-show-column: Invocation. -* fpreprocessed: Invocation. -* ftabstop: Invocation. -* gcc: Invocation. -* H: Invocation. -* h: Invocation. -* help: Invocation. -* I: Invocation. -* I-: Invocation. -* idirafter: Invocation. -* imacros: Invocation. -* include: Invocation. -* iprefix: Invocation. -* isystem: Invocation. -* iwithprefix: Invocation. -* iwithprefixbefore: Invocation. -* M: Invocation. -* MD: Invocation. -* MF: Invocation. -* MG: Invocation. -* MM: Invocation. -* MMD: Invocation. -* MP: Invocation. -* MQ: Invocation. -* MT: Invocation. -* nostdinc: Invocation. -* nostdinc++: Invocation. -* o: Invocation. -* P: Invocation. -* pedantic: Invocation. -* pedantic-errors: Invocation. -* remap: Invocation. -* std=: Invocation. -* target-help: Invocation. -* traditional: Invocation. -* trigraphs: Invocation. -* U: Invocation. -* undef: Invocation. -* v: Invocation. -* version: Invocation. -* w: Invocation. -* Wall: Invocation. -* Wcomment: Invocation. -* Wcomments: Invocation. -* Werror: Invocation. -* Wimport: Invocation. -* Wsystem-headers: Invocation. -* Wtraditional: Invocation. -* Wtrigraphs: Invocation. -* Wundef: Invocation. -* x: Invocation. - - -File: cpp.info, Node: Index of Directives, Next: Concept Index, Prev: Option Index, Up: Top - -Index of Directives -******************* - -* Menu: - -* #assert: Assertions. -* #define: Object-like Macros. -* #elif: Elif. -* #else: Else. -* #endif: Ifdef. -* #error: Diagnostics. -* #ident: Other Directives. -* #if: Conditional Syntax. -* #ifdef: Ifdef. -* #ifndef: Ifdef. -* #import: Obsolete once-only headers. -* #include: Include Syntax. -* #include_next: Wrapper Headers. -* #line: Line Control. -* #pragma GCC dependency: Pragmas. -* #pragma GCC poison: Pragmas. -* #pragma GCC system_header <1>: Pragmas. -* #pragma GCC system_header: System Headers. -* #sccs: Other Directives. -* #unassert: Assertions. -* #undef: Undefining and Redefining Macros. -* #warning: Diagnostics. -* C_INCLUDE_PATH: Environment Variables. -* CPATH: Environment Variables. -* CPLUS_INCLUDE_PATH: Environment Variables. -* DEPENDENCIES_OUTPUT: Environment Variables. -* OBJC_INCLUDE_PATH: Environment Variables. -* SUNPRO_DEPENDENCIES: Environment Variables. -