summaryrefslogtreecommitdiff
path: root/gcc/proto-man
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/proto-man')
-rwxr-xr-xgcc/proto-man904
1 files changed, 0 insertions, 904 deletions
diff --git a/gcc/proto-man b/gcc/proto-man
deleted file mode 100755
index bd1a3e2..0000000
--- a/gcc/proto-man
+++ /dev/null
@@ -1,904 +0,0 @@
-#ifndef UNPRO
-#define THISPROG PROTOIZE
-#define thisprog protoize
-#define Thisprog Protoize
-#define otherprog unprotoize
-#define from_convention varargs
-#define to_convention stdarg
-#else
-#define THISPROG UNPROTOIZE
-#define thisprog unprotoize
-#define Thisprog Unprotoize
-#define otherprog protoize
-#define from_convention stdarg
-#define to_convention varargs
-#endif
-.\" Man page file for the thisprog program.
-.\" This is badly out of date, especially concerning
-.\" the way of deciding which files to convert.
-.\" Really all this information should be updated and put in gcc.texinfo.
-.\"
-.\" Written by Ron Guilmette (rfg@mcc.com).
-.\"
-.\" Copyright (C) 1989, 1990 Free Software Foundation, Inc.
-.\"
-.\" This file is part of GNU CC.
-.\"
-.\" GNU CC is free software; you can redistribute it and/or modify
-.\" it under the terms of the GNU General Public License as published by
-.\" the Free Software Foundation; either version 1, or (at your option)
-.\" any later version.
-.\"
-.\" GNU CC is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-.\" GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public License
-.\" along with GNU CC; see the file COPYING. If not, write to
-.\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-.\"
-.TH THISPROG 1 "21 January 1990" ""
-.SH NAME
-#ifndef UNPRO
-thisprog \- convert K&R C source code to ANSI C prototype format
-#else
-thisprog \- convert ANSI C source code to K&R C (unprototyped) format
-#endif
-.SH SYNOPSIS
-.B thisprog
-[
-#ifndef UNPRO
-.B -VqfnkNlgC
-] [
-.B -B
-.I <dir>
-#else
-.B -VqfnkN
-] [
-.B -i
-.I <str>
-#endif
-] [
-.B -c
-.I <cc opts>
-] [
-.I file\c
-\&... ]
-.SH DESCRIPTION
-.fi
-.ad b
-.I Thisprog
-aids in the conversion of
-#ifndef UNPRO
-K&R C source code files to ANSI C source code files with function prototypes.
-This conversion is useful for eliciting more complete
-interface checking from ANSI C compilers, or as
-a preliminary step in the conversion of C programs to C++.
-#else
-ANSI C source code files to K&R C source code files without function prototypes
-.
-This conversion is useful for porting ANSI C programs to
-machines for which no ANSI C compiler is available.
-#endif
-.PP
-.I Thisprog
-is designed to be used in conjunction
-with the GNU C compiler. The GNU C compiler does preliminary
-.I "information gathering"
-about functions by analyzing the files to be converted.
-The GNU C compiler may be invoked automatically as a result of
-running
-.I thisprog
-so it is important to have it properly installed before attempting
-to convert source files via
-.I thisprog.
-#ifndef UNPRO
-.PP
-.I Thisprog
-actually has two primary functions. First, It converts
-existing function declarations and definitions
-to prototype form.
-Second, for cases in which functions
-are called before they have been declared
-(i.e. points of
-.I implicit
-function declarations),
-.I thisprog
-can be instructed to
-insert new prototype style function declarations
-into the source code.
-For implicit function declarations,
-.I thisprog
-can either
-insert the new (explicit) function declaration
-at the very beginning of the block which contains
-the implicit declaration, or (at the user\'s option)
-these explicit declarations can be inserted near the tops of the
-source files where the implicit declarations occurred.
-The insertion of these new (explicit) function
-declarations (by thisprog) assures that
-.B all
-function calls in your source files will be
-checked for the correct
-number and types of parameters
-during subsequent compilations.
-#endif
-.PP
-.I Thisprog
-supports the conversion of both large and small systems of C source
-code to
-#ifndef UNPRO
-prototype
-#else
-unprototyped
-#endif
-form.
-.I Thisprog
-can perform the conversion of an
-entire program in one (batch) step.
-#ifndef UNPRO
-.PP
-.I Thisprog
-is able to convert entire systems of C source code because
-it knows how to use information (gleaned by the C compiler) from one
-source file to convert
-function definitions and declarations in that same source file or in
-other source files (as required).
-#endif
-.PP
-Each conversion of a system of source code to
-#ifndef UNPRO
-prototyped
-#else
-unprototyped
-#endif
-format consists of two major steps. First, there is an
-.I "information gathering"
-step. In this step,
-all of the source files that make up a given
-executable program are recompiled using the GNU C compiler and using the
-.B -fgen-aux-info
-option.
-These recompilations will be performed automatically by
-.I thisprog
-on an
-.I as needed
-basis.
-.PP
-As individual compilation steps are performed, you may notice
-that a side-effect of these compilations is to create files with a
-.B .X
-suffix in the same directory with the original
-.I base
-source files being compiled.
-During compilation with
-.B -fgen-aux-info,
-one such
-.B .X
-file is created for
-each
-.I base
-source file compiled. These files contain
-information about function definitions and declarations and
-additional coded information which can be used by
-.I thisprog
-to convert your source code
-automatically to
-#ifndef UNPRO
-prototyped
-#else
-unprototyped
-#endif
-format.
-.PP
-After a full set of
-.B .X
-files corresponding to all of the
-.B .c
-(i.e.
-.I base
-source) files for an individual
-program
-have been created,
-.I thisprog
-performs the actual conversion step.
-.PP
-Execution of the
-.I thisprog
-program causes your original source files to be converted such that both
-their function declarations and their function definitions are in
-#ifndef UNPRO
-prototyped
-#else
-unprototyped
-#endif
-format.
-After the conversion of your system, you will be
-left with a set of similar (but converted) source files
-with the same names as your original files.
-.PP
-Before it writes each converted file back to disk,
-.I thisprog
-attempts to rename the original file, giving it a
-.B .save
-suffix.
-It then creates a new output file
-with the same name that the original file had.
-This ensures that if there were any hard links to the original
-input files, these will not be altered by the conversion process.
-.PP
-WARNING! If for any given original file, a save file already exists,
-.I thisprog
-will assume that the existing save file contains a backup of the
-original file as it existed before any conversions were applied.
-Thus, if there is an existing save file,
-.I thisprog
-will not overwrite this existing save file, and no new backup of
-that particular original file will be made during that run of
-.I thisprog.
-.PP
-An important safety feature of
-.I thisprog
-is that it normally only tries to convert files for which you have both
-read and write permissions. Also,
-.I thisprog
-will normally only convert files located in directories that you
-have both search and write permissions for.
-.PP
-Another safety feature is that
-.I thisprog
-will not normally convert files which
-are located in
-.I system
-include directories.
-A
-.I system
-include directory is defined by
-.I thisprog
-as either
-.B /usr/include
-(or any of its subdirectories)
-or a directory whose full absolute pathname includes
-either
-.B gcc-include
-or
-.B g++-include.
-.PP
-Most of the above safety features can be overridden by using the
-.B \-f
-(force) option (see below),
-but even when
-.B \-f
-is used, you cannot force the conversion of files for which you
-do not at least have read permission, or files in directories that you do not
-at least have write permission for.
-.PP
-Note that
-.I thisprog
-will make no attempt to convert definitions
-#ifndef UNPRO
-or declarations
-#endif
-of functions which accept a variable number of arguments
-and which are written using the
-.I from_convention
-conventions.
-All such function definitions
-#ifndef UNPRO
-and declarations
-#endif
-must be converted manually to the
-.I to_convention
-conventions.
-Warnings are automatically issued for
-.I from_convention
-function definitions
-#ifndef UNPRO
-and declarations
-#endif
-which are left unconverted by
-.I thisprog.
-.SH OPTIONS
-.I Thisprog
-recognizes the following options:
-.TP
-.B \-V
-Version number. Causes the current version number to be
-printed on stderr.
-.TP
-.B \-q
-Quiet mode.
-Normally,
-.I thisprog
-may issue many verbose warnings concerning noteworthy conditions.
-These warnings can often be helpful to the overall conversion effort.
-Users who prefer not to see such messages can use the
-.B \-q
-option which suppresses most such warnings.
-.TP
-.B \-f
-Force mode.
-Use of this option overrides the normal safety
-features of
-.I thisprog.
-It allows for attempts to convert system include files,
-and files not writable by you.
-These conversions are still subject to all normal
-file protections provided by the operating system.
-This option should be used only with extreme caution.
-It can be especially dangerous to use this option when logged on as
-.I root.
-Note that when this option is used, you are allowed to convert even files
-that you do not have write access to. So long as you have write access
-to the containing directory, conversion may occur.
-.TP
-.B \-n
-No convert mode. Do not actually perform any conversions on base source files
-or on include files. Rather, simply do all steps leading up to conversion
-and then print a list (to stdout) of the names of all files which would
-actually be modified if the conversions were actually performed. This option
-may be useful to you if you are converting a system of source files
-that you are unfamiliar with. In such cases, you may need to verify
-ahead of time that include files which belong to other people or to
-other projects will not be modified by running
-.I thisprog.
-Use of this option also implicitly enables
-.I keep mode.
-(See the
-.B \-k
-option below.)
-.TP
-.B \-k
-Keep mode. Normally,
-.I thisprog
-reads the information in the
-.B .X
-files created by the GNU C compiler, and then
-immediately deletes these files (since they will no longer be
-valid or useful after conversion). When the
-.B \-k
-option is used however, the
-.B .X
-files are not deleted during conversion.
-.TP
-.B -N
-No save mode. When this option is used, no attempt is made to
-make backups of original files (by renaming them such that they have
-an added
-.B .save
-suffix).
-Use this option with extreme caution, and
-only when you have previously backed up
-all of the files that might be converted
-by running
-.I thisprog.
-(See the
-.B -n
-option above.)
-.TP
-.B \-c <cc opts>
-Specify compile options. The
-.B \-c
-option can be used as a means of passing on important compilation
-options to the C compiler. It may often be necessary to use this option
-to pass command line preprocessor definitions on to the compilation step.
-Note that The compile options must be given as a single argument to
-.I thisprog.
-If you have more than one
-compilation option, you will have to quote the entire set of
-compilation options in order to keep the shell from treating
-them as separate arguments to
-.I thisprog.
-Note also that certain options are automatically suppressed by
-.I thisprog
-and cannot be passed on to the compiler (i.e.
-.B "-g, -O, -c, -S,"
-and
-.B "-o"
-are suppressed).
-#ifndef UNPRO
-.TP
-.B \-C
-C++ conversion mode.
-Normally,
-.I thisprog
-writes its (converted) output files back to files of the same names
-as the original (unconverted) input files.
-In C++ conversion mode,
-after each output file is written,
-a check is made to see if the given output file has a
-.B .c
-suffix. If it does, then the given file is renamed, and its suffix
-is changed to
-.B .C.
-This makes the output file
-acceptable as a C++ input file for either the GNU C++ compiler or
-for the Cfront translator.
-.TP
-.B \-l
-Add explicit local declarations. This option causes
-.I thisprog
-to insert
-explicit declarations for functions that were only implicitly declared
-in the original source code. When the
-.B \-l
-option is used, lists of additional new
-explicit function declarations are inserted near the
-starts of blocks where explicit function declarations took place.
-(See also the
-.B \-g
-option below.)
-.TP
-.B \-g
-Add explicit global declarations. This option causes
-.I thisprog
-to insert
-explicit declarations for functions that were only implicitly declared
-in your original source code. When the
-.B \-g
-option is used, a list of additional new
-explicit function declarations is inserted just before the
-first function definition in each individual source file that previously
-contained implicit declarations.
-(See also the
-.B \-l
-option above.)
-.TP
-.B \-B <dir>
-Alternate library directory option. Use this option to specify that
-.I thisprog
-should attempt to find the file
-.B SYSCALLS.c.X
-in the alternate directory indicated in the option.
-#else
-.TP
-.B \-i <str>
-Indent string option.
-This option can be used to specify a string to use when indenting
-lines containing declarations for formal parameter variables.
-The default indentation string for such lines is a sequence of five spaces
-(i.e.\ GNU style indentation) but you may use this option to specify
-any other string that you like (e.g.\ a tab character).
-Note that
-the shell has its own interpretations for blanks and tabs, so you
-will generally have to quotes the argument given in the
-.B -i
-option.
-#endif
-.SH EXAMPLES
-Assume that you have
-a directory with
-all of the files for your system in it. Also
-assume that your system consists of two
-executable programs, one built from the files
-.B s1.c, s2.c,
-and
-.B s3.c,
-and the other built from the files
-.B s4.c
-and
-.B s5.c.
-Finally, assume that these source files share some common include files.
-.PP
-In order to properly convert such a system of programs, you
-would need to perform the steps shown below.
-.sp 1
-.in +0.5i
-.ft B
-thisprog s1.c s2.c s3.c
-.br
-thisprog s4.c s5.c
-.sp 1
-.ft R
-.in -0.5i
-.PP
-In the example above, the first invocation of
-.I thisprog
-causes three
-.B .X
-files (called
-.B s1.c.X, s2.c.X,
-and
-.B s3.c.X)
-to be created.
-These files are generated automatically by
-.I thisprog
-(which invokes the GNU C compiler to create them).
-These files contain information about function definitions and declarations
-.I both
-for their corresponding
-.B .c
-files and for any files
-which are included by these
-.I base
-.B .c
-files.
-.PP
-After
-.I thisprog
-has invoked the compiler for each of the files which make up
-.I prog1,
-it performs the actual conversion of these base files (and
-may perform some conversion of their include files
-depending upon the information available in the
-.B .X
-files).
-Finally, after performing all necessary conversions,
-.I thisprog
-automatically deletes the files
-.B s1.c.X, s2.c.X,
-and
-.B s3.c.X.
-.PP
-After performing the conversion for
-.I prog1,
-(as illustrated above)
-you would then
-request
-.I thisprog
-to convert all of the files which make up
-.I prog2
-in a similar fashion.
-This step would create two more
-.B .X
-files (called
-.B s4.c.X
-and
-.B s5.c.X).
-As with the conversion of
-.I prog1,
-.I thisprog
-will automatically generate any needed
-.B .X
-files (by invoking the GNU C compiler),
-will perform the conversion of all of the given
-.I base
-source files (and possibly do some conversion on include files),
-and will finish up by
-automatically deleting the
-.B .X
-files that were generated during this run.
-.PP
-You may occasionally find that you need to convert a
-particular program which
-consists of several
-.I base
-source files, some of which must be compiled
-with unusual options.
-In such cases, you can still convert the program via
-a special mechanism.
-For each
-.I base
-source file which requires special compilation options,
-you can create a corresponding
-.B .X
-file for the
-.I base
-file
-.I (before
-invoking
-.I thisprog).
-You would do this by invoking the GNU C compiler directly
-with the required special options, and with the
-.B -fgen-aux-info
-option.
-.I Thisprog
-is smart enough to use existing
-.B .X
-files (when they are available and when they are up to date) so creating
-.B .X
-files ahead of time with the GNU C compiler
-is an easy way to accommodate unusual compilation options for individual
-.I base
-files.
-.PP
-Note that
-.I thisprog
-checks each preexisting
-.B .X
-file before it tries to use it in order
-to insure that it is up-to-date
-with respect to all of the source files
-that it contains information about.
-If this check fails,
-.I thisprog
-will automatically
-invoke the GNU C compiler (with default options) to recreate the needed
-.B .X file.
-.SH CAVEATS
-#ifndef UNPRO
-The
-.I thisprog
-program doesn\'t just get information from your own
-.B .X
-files. Every time
-.I thisprog
-executes, it also reads a file
-.B SYSCALLS.c.X
-from some standard installation directory
-(if it exists) to obtain a pre-written set of function prototypes for
-various standard system-supplied functions. These prototypes are effectively
-added to the set of prototypes which
-.I thisprog
-can use to perform prototype substitutions on your source files.
-If the source code for any individual programs that you are converting
-contains its own definitions
-for functions with the same names as standard system-supplied functions,
-.I thisprog
-is intelligent enough to allow the parameter typing from your own
-function definitions to take precedence over the information
-contained in the
-.B SYSCALLS.c.X
-file.
-.PP
-.I Thisprog
-changes
-#ifndef UNPRO
-(and possibly adds to)
-#endif
-your original source code
-in ways which may require you to rearrange the placement of other
-items in your code. Specifically, it is often necessary to move
-around type definitions or declarations for
-.B "enum, struct,"
-and
-.B union
-types.
-#ifndef UNPRO
-.PP
-Usage of
-.I thisprog
-may cause source lines to grow quite long and thereby become difficult
-to read and to edit. Fortunately,
-.I thisprog
-is intelligent enough to automatically break up very long lines containing
-newly inserted function prototypes whenever the length of
-any given output line would otherwise exceed 79 columns (including tabs
-to standard UNIX tab stops).
-.PP
-Note that in traditional (K&R) C, it was not possible to declare
-parameter types for
-.B "function pointer"
-parameters and variables.
-Such function pointer variables could only be
-declared with empty parameter lists in traditional C. Unfortunately,
-this means that
-.I thisprog
-typically
-has no adequate source of information from which to manufacture
-appropriate (prototyped) formal argument lists for such function pointer
-variables. Thus, declarations of function pointer variables and
-parameters will not be properly converted by
-.I thisprog.
-In the case of function pointer variables,
-.I thisprog
-currently performs no conversion whatsoever.
-In the case of function pointer parameters however,
-.I thisprog
-will attempt to do half-hearted conversions by
-manufacturing formal parameter lists for such parameters.
-These manufactured formal parameter lists will look
-like \`\.\.\.\'.
-#endif
-.PP
-#endif
-It is naive to assume that the conversions performed by
-.I thisprog
-are sufficient to make your source code completely compatible with
-#ifndef UNPRO
-ANSI C or C++.
-#else
-K&R C.
-#endif
-The automatic conversion of your source files via
-.I thisprog
-is only one step (albeit a big one) towards
-full conversion. A full conversion may also require
-lots of editing "by hand".
-.PP
-.I Thisprog
-only converts function declarations and definitions. No conversion of
-.I types
-(such as function types and pointer-to-function types)
-contained in
-.B typedef
-statements is attempted. These must be converted manually.
-#ifdef UNPRO
-.PP
-Naive conversion of source code via
-.I thisprog
-may introduce bugs into the resulting (converted) code unless you are very
-careful. The reason for this is rather subtle.
-Basically, when a call is made to a prototyped function, the types of
-some of the parameter values in the call may be implicitly converted
-to the types of the corresponding formal parameters (as declared in the
-function prototype). These implicit conversions can (occasionally) involve
-changes of representation for the passed values (for instance from int
-to float). Unfortunately, once your code has been converted via
-.I thisprog,
-these implicit conversions will no longer take place within the function
-calls which require them.
-.PP
-The only remedy for this problem (currently) is for users of
-.I thisprog
-to make sure that explicit casts are inserted into calls which will force
-these type conversions to occur even in the absence of function
-prototypes. Users can determine the exact set of places where such explicit
-casts may be required by compiling all code to be converted using the
-.B -Wconversion
-option to GCC prior to conversion. The warnings produced by
-.B -Wconversion
-will indicate those places in the original source code where explicit
-casts must be inserted. Once these explicit casts have been manually
-inserted (and the warnings from
-.B -Wconversion
-eliminated), conversion may be performed without any possibility of
-generating code which is incorrect due to missed type conversions.
-#else
-.PP
-When converting to full prototype format, it may often be the case that
-complete information regarding the types of function parameters is not
-actually available in the original (K&R) code.
-This will almost always be the case for parameters whose types are
-pointer-to-function types.
-For pointer-to-function parameters, it it customary (in K&R C) to
-omit the types of the arguments which the pointed-to function expects
-to receive.
-In cases where the argument types for function pointer parameters are
-not present in the original source code,
-.I thisprog
-notes this lack of complete information in a useful (but harmless)
-way. After conversion, the (prototyped) parameter lists for
-pointer-to-function parameters are represented in the converted
-files as comments which contain the string "???". You can easily
-locate all such strings after conversion (using your favorite editor)
-and replace them with more complete information regarding the
-true parameter profile of the pointed-to functions.
-#endif
-.SH WARNINGS
-There are numerous possible warning and error messages which
-.I thisprog
-may issue for strange circumstances (e.g.\ missing input
-files, etc.) or for noteworthy conditions in the source code being converted.
-These should all be self-explanatory.
-If any message is not self-explanatory, it\'s a bug. Please report it.
-.SH FILES
-.ta 3.0i
-/usr/local/bin/gcc GNU C compiler
-.br
-/usr/local/bin/thisprog the thisprog program
-#ifndef UNPRO
-.br
-/usr/local/lib/SYSCALLS.c.X aux info file for system functions
-#endif
-.SH "SEE ALSO"
-gcc(1), g++(1), otherprog(1)
-.SH BUGS
-.I Thisprog
-can easily be confused by
-source code which has
-macro calls in the
-vicinity of something which it has to convert.
-Fortunately, such cases seem to be rare in practice.
-This is an inherent problem with the compiler
-based approach to information gathering and will likely never be fixed.
-When it does become confused,
-.I thisprog
-will still proceed to convert the file it is working on as much as
-possible. Only the particularly confusing function definitions and
-declarations will fail to be converted. These can subsequently be converted
-manually.
-.PP
-Due to the method currently used to gather information,
-.I thisprog
-will fail to convert function declarations and definitions which
-are located in conditional compilation sections which were
-.I "preprocessed out"
-during the creation of the
-.B .X
-files used for conversion.
-You can generally work around this problem by doing
-repeated conversion steps using
-.I thisprog,
-each with a different set of compilation options (i.e.\ preprocessor
-symbol definitions) but assuring complete conversion can
-currently only be done by visual inspection.
-Currently,
-.I thisprog
-attempts to find function definitions which were
-.I "preprocessed out"
-and to issues warnings for such cases.
-A later revision of
-.I thisprog
-#ifndef UNPRO
-may also be able to detect cases where function declarations
-have been
-.I "preprocessed out"
-and to issue appropriate warnings for those cases also.
-#else
-may be able to convert both function declarations and function
-definitions which have been
-.I "preprocessed out."
-#endif
-.PP
-Currently,
-.I thisprog
-makes no attempt to convert declarations of
-.I "pointer to function"
-types, variables, or fields.
-#ifdef UNPRO
-A later version of
-.I thisprog
-may attempt to perform conversions of these
-declarative items also.
-#endif
-.PP
-Currently,
-.I from_convention
-functions definitions
-#ifndef UNPRO
-and declarations
-#endif
-must be converted by hand to use the
-.I to_convention
-convention.
-It is possible that a subsequent version of
-.I thisprog
-will make some attempt to do these conversions automatically.
-.PP
-.I Thisprog
-may get confused if it finds that it has to convert a function
-declaration or definition in a region of source code where
-there is more than one formal parameter list present.
-Thus, attempts to convert code containing
-multiple (conditionally compiled) versions of a single
-function header (in the same vicinity) may not produce
-the desired (or expected) results.
-If you plan on converting source files which contain
-such code, it is recommended that you first make sure
-that each conditionally compiled region of source
-code which contains an alternative function header
-also contains at least one additional follower token
-(past the final right parenthesis of the function header).
-This should circumvent the problem.
-#ifdef UNPRO
-.PP
-.I Thisprog
-can become confused when trying to convert a function
-definition or declaration
-which contains a declaration for a
-.I pointer-to-function
-formal argument
-which has the same name as the function being defined or
-declared.
-Such unfortunate choices of formal parameter names are discouraged.
-#endif
-.PP
-Bugs (and requests for reasonable enhancements) should be reported to
-bug-gcc@prep.ai.mit.edu. Bugs may actually be fixed if they can be easily
-reproduced, so it is in your interest to report them
-in such a way that reproduction is easy.
-.SH COPYING
-Copyright (c) 1989, 1990 Free Software Foundation, Inc.
-.sp 1
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-.sp 1
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-.sp 1
-Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be included in
-translations approved by the Free Software Foundation instead of in
-the original English.
-.SH AUTHORS
-Written by Ronald F.\ Guilmette at the Microelectronics and Computer Technology
-Corporation (MCC). Generously donated by MCC to the Free Software
-Foundation.
-.sp 1
-See the GNU C Compiler Manual for a list of contributors to GNU C.