cccp.c, [...]: Removed.

* cccp.c, cexp.y, cexp.c, cccp.1: Removed.

	* configure.in: Delete --disable-cpplib option and all
	references to cpp_main.
	* configure: Regenerate.
	* Makefile.in: Remove all references to CCCP, CCCP_OBJS,
	@cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o,
	cccp.o, cccp, or cppmain.  Link cppmain.o straight to
	cpp$(exeext).  Add --no-headers to makeinfo command line when
	generating INSTALL.  Install and uninstall cpp.1 manpage, not
	cccp.1.
	* install.texi: Delete all references to cexp.y/cexp.c.
	Delete ancient instructions for compiling GCC on 3b1.
	* INSTALL: Regenerate.

	* cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c,
	ch/decl.c, ch/lex.c, cp/lex.c, f/lex.c, mips/t-ecoff,
	mips/t-elf, mips/t-r3900: Remove references to cccp.c.
	* convex.h, fx80.h, m68k.h, pdp11.h, contrib/gcc_update,
	f/g77install.texi: Remove references to	cexp.c/cexp.y.
	* xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING,
	which is no longer tested anywhere.

	* po/POTFILES.in: Remove cccp.c and cexp.c.  Comment out
	alpha/vms-tramp.asm.

From-SVN: r33238
This commit is contained in:
Zack Weinberg 2000-04-18 22:34:13 +00:00
parent d88b89e506
commit 86702e3134
37 changed files with 528 additions and 16051 deletions

View File

@ -1,3 +1,7 @@
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
* gcc_update: Remove references to cexp.c/cexp.y.
1999-12-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* newcvsroot: Add check on the number of command-line arguments.

View File

@ -67,7 +67,6 @@ gcc/c-parse.y: gcc/c-parse.in
gcc/c-parse.c: gcc/c-parse.y
gcc/c-parse.h: gcc/c-parse.c
gcc/c-gperf.h: gcc/c-parse.gperf
gcc/cexp.c: gcc/cexp.y
gcc/fixinc/fixincl.x: gcc/fixinc/fixincl.tpl gcc/fixinc/inclhack.def
gcc/fixinc/inclhack.sh: gcc/fixinc/inclhack.def gcc/fixinc/inclhack.tpl gcc/fixinc/hackshell.tpl
gcc/fixinc/fixincl.sh: gcc/fixinc/inclhack.def gcc/fixinc/inclhack.tpl

View File

@ -1,5 +1,27 @@
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
* cccp.c, cexp.y, cexp.c, cccp.1: Removed.
* configure.in: Delete --disable-cpplib option and all
references to cpp_main.
* configure: Regenerate.
* Makefile.in: Remove all references to CCCP, CCCP_OBJS,
@cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o,
cccp.o, cccp, or cppmain. Link cppmain.o straight to
cpp$(exeext). Add --no-headers to makeinfo command line when
generating INSTALL. Install and uninstall cpp.1 manpage, not
cccp.1.
* install.texi: Delete all references to cexp.y/cexp.c.
Delete ancient instructions for compiling GCC on 3b1.
* INSTALL: Regenerate.
* cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c, mips/t-ecoff,
mips/t-elf, mips/t-r3900: Remove references to cccp.c.
* convex.h, fx80.h, m68k.h, pdp11.h: Remove references to
cexp.c/cexp.y.
* xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING,
which is no longer tested anywhere.
* cppinit.c (handle_option): Don't run error message through
gettext twice.

View File

@ -1,32 +1,16 @@
This is Info file INSTALL, produced by Makeinfo version 1.68 from the
input file install1.texi.
This file documents the installation of the GNU compiler. Copyright
This file documents the installation of the GNU compiler. Copyright
(C) 1988, 1989, 1992, 1994, 1995 Free Software Foundation, Inc. You
may copy, distribute, and modify it freely as long as you preserve this
copyright notice and permission notice.

File: INSTALL, Node: Installation, Up: (dir)
Installing GNU CC
*****************
Note most of this information is out of date and superceded by the
Note most of this information is out of date and superseded by the
EGCS install procedures. It is provided for historical reference only.
* Menu:
* Configurations:: Configurations Supported by GNU CC.
* Other Dir:: Compiling in a separate directory (not where the source is).
* Cross-Compiler:: Building and installing a cross-compiler.
* Sun Install:: See below for installation on the Sun.
* VMS Install:: See below for installation on VMS.
* Collect2:: How `collect2' works; how it finds `ld'.
* Header Dirs:: Understanding the standard header file directories.
Here is the procedure for installing GNU CC on a Unix system. See
*Note VMS Install::, for VMS systems. In this section we assume you
Here is the procedure for installing GNU CC on a GNU or Unix system.
See *Note VMS Install::, for VMS systems. In this section we assume you
compile in the same directory that contains the source files; see *Note
Other Dir::, to find out how to compile in a separate directory on Unix
systems.
@ -47,8 +31,26 @@ and includes all the necessary compilation tools and libraries.
`/usr/ucb' in `PATH'. The `cc' command in `/usr/ucb' uses
libraries which have bugs.
3. Specify the host, build and target machine configurations. You do
this by running the file `configure'.
3. Make sure the Bison parser generator is installed. (This is
unnecessary if the Bison output file `c-parse.c' is more recent
than `c-parse.y',and you do not plan to change the `.y' file.)
Bison versions older than Sept 8, 1988 will produce incorrect
output for `c-parse.c'.
4. If you have chosen a configuration for GNU CC which requires other
GNU tools (such as GAS or the GNU linker) instead of the standard
system tools, install the required tools in the build directory
under the names `as', `ld' or whatever is appropriate. This will
enable the compiler to find the proper tools for compilation of
the program `enquire'.
Alternatively, you can do subsequent compilation using a value of
the `PATH' environment variable such that the necessary GNU tools
come before the standard system tools.
5. Specify the host, build and target machine configurations. You do
this when you run the `configure' script.
The "build" machine is the system which you are using, the "host"
machine is the system where you want to run the resulting compiler
@ -97,9 +99,10 @@ and includes all the necessary compilation tools and libraries.
the notes in that section before proceeding any further with the
installation of GNU CC.
There are four additional options you can specify independently to
describe variant hardware and software configurations. These are
`--with-gnu-as', `--with-gnu-ld', `--with-stabs' and `--nfp'.
6. When running `configure', you may also need to specify certain
additional options that describe variant hardware and software
configurations. These are `--with-gnu-as', `--with-gnu-ld',
`--with-stabs' and `--nfp'.
`--with-gnu-as'
If you will use GNU CC with the GNU assembler (GAS), you
@ -205,104 +208,130 @@ and includes all the necessary compilation tools and libraries.
the compiler and may only work properly if you are building
the compiler with GNU C.
The `configure' script searches subdirectories of the source
directory for other compilers that are to be integrated into GNU
CC. The GNU compiler for C++, called G++ is in a subdirectory
named `cp'. `configure' inserts rules into `Makefile' to build
all of those compilers.
The `configure' script searches subdirectories of the source
directory for other compilers that are to be integrated into
GNU CC. The GNU compiler for C++, called G++ is in a
subdirectory named `cp'. `configure' inserts rules into
`Makefile' to build all of those compilers.
Here we spell out what files will be set up by `configure'.
Normally you need not be concerned with these files.
Here we spell out what files will be set up by `configure'.
Normally you need not be concerned with these files.
* A file named `config.h' is created that contains a `#include'
of the top-level config file for the machine you will run the
compiler on (*note The Configuration File:
(gcc.info)Config.). This file is responsible for defining
information about the host machine. It includes `tm.h'.
* A file named `config.h' is created that contains a
`#include' of the top-level config file for the machine
you will run the compiler on (*note The Configuration
File: (gcc.info)Config.). This file is responsible for
defining information about the host machine. It
includes `tm.h'.
The top-level config file is located in the subdirectory
`config'. Its name is always `xm-SOMETHING.h'; usually
`xm-MACHINE.h', but there are some exceptions.
The top-level config file is located in the subdirectory
`config'. Its name is always `xm-SOMETHING.h'; usually
`xm-MACHINE.h', but there are some exceptions.
If your system does not support symbolic links, you might
want to set up `config.h' to contain a `#include' command
which refers to the appropriate file.
If your system does not support symbolic links, you
might want to set up `config.h' to contain a `#include'
command which refers to the appropriate file.
* A file named `tconfig.h' is created which includes the
top-level config file for your target machine. This is used
for compiling certain programs to run on that machine.
* A file named `tconfig.h' is created which includes the
top-level config file for your target machine. This is
used for compiling certain programs to run on that
machine.
* A file named `tm.h' is created which includes the
machine-description macro file for your target machine. It
should be in the subdirectory `config' and its name is often
`MACHINE.h'.
* A file named `tm.h' is created which includes the
machine-description macro file for your target machine.
It should be in the subdirectory `config' and its name
is often `MACHINE.h'.
* The command file `configure' also constructs the file
`Makefile' by adding some text to the template file
`Makefile.in'. The additional text comes from files in the
`config' directory, named `t-TARGET' and `x-HOST'. If these
files do not exist, it means nothing needs to be added for a
given target or host.
`--enable-nls'
`--disable-nls'
The `--enable-nls' option enables Native Language Support
(NLS), which lets GCC output diagnostics in languages other
than American English. No translations are available yet, so
the main users of this option now are those translating GCC's
diagnostics who want to test their work. Once translations
become available, Native Language Support will become enabled
by default. The `--disable-nls' option disables NLS.
4. The standard directory for installing GNU CC is `/usr/local/lib'.
If you want to install its files somewhere else, specify
`--prefix=DIR' when you run `configure'. Here DIR is a directory
name to use instead of `/usr/local' for all purposes with one
exception: the directory `/usr/local/include' is searched for
header files no matter where you install the compiler. To override
this name, use the `--with-local-prefix' option below. The
directory you specify need not exist, but its parent directory
must exist.
`--with-included-gettext'
If NLS is enabled, the GCC build procedure normally attempts
to use the host's `gettext' libraries, and falls back on
GCC's copy of the GNU `gettext' library only if the host
libraries do not suffice. The `--with-included-gettext'
option causes the build procedure to prefer its copy of GNU
`gettext'.
5. Specify `--with-local-prefix=DIR' if you want the compiler to
search directory `DIR/include' for locally installed header files
*instead* of `/usr/local/include'.
`--with-catgets'
If NLS is enabled, and if the host lacks `gettext' but has the
inferior `catgets' interface, the GCC build procedure normally
ignores `catgets' and instead uses GCC's copy of the GNU
`gettext' library. The `--with-catgets' option causes the
build procedure to use the host's `catgets' in this situation.
You should specify `--with-local-prefix' *only* if your site has a
different convention (not `/usr/local') for where to put
site-specific files.
`--enable-win32-registry'
`--enable-win32-registry=KEY'
`--disable-win32-registry'
The `--enable-win32-registry' option enables Windows-hosted
GCC to look up installations paths in the registry using the
following key:
The default value for `--with-local-prefix' is `/usr/local'
regardless of the value of `--prefix'. Specifying `--prefix' has
no effect on which directory GNU CC searches for local header
files. This may seem counterintuitive, but actually it is logical.
`HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\<KEY>'
The purpose of `--prefix' is to specify where to *install GNU CC*.
The local header files in `/usr/local/include'--if you put any in
that directory--are not part of GNU CC. They are part of other
programs--perhaps many others. (GNU CC installs its own header
files in another directory which is based on the `--prefix' value.)
<KEY> defaults to GCC version number, and can be overridden
by the `--enable-win32-registry=KEY' option. Vendors and
distributors who use custom installers are encouraged to
provide a different key, perhaps one comprised of vendor name
and GCC version number, to avoid conflict with existing
installations. This feature is enabled by default, and can be
disabled by `--disable-win32-registry' option. This option
has no effect on the other hosts.
*Do not* specify `/usr' as the `--with-local-prefix'! The
directory you use for `--with-local-prefix' *must not* contain any
of the system's standard header files. If it did contain them,
certain programs would be miscompiled (including GNU Emacs, on
certain targets), because this would override and nullify the
header file corrections made by the `fixincludes' script.
7. In certain cases, you should specify certain other options when
you run `configure'.
Indications are that people who use this option use it based on
mistaken ideas of what it is for. People use it as if it specified
where to install part of GNU CC. Perhaps they make this assumption
because installing GNU CC creates the directory.
* The standard directory for installing GNU CC is
`/usr/local/lib'. If you want to install its files somewhere
else, specify `--prefix=DIR' when you run `configure'. Here
DIR is a directory name to use instead of `/usr/local' for
all purposes with one exception: the directory
`/usr/local/include' is searched for header files no matter
where you install the compiler. To override this name, use
the `--with-local-prefix' option below. The directory you
specify need not exist, but its parent directory must exist.
6. Make sure the Bison parser generator is installed. (This is
unnecessary if the Bison output files `c-parse.c' and `cexp.c' are
more recent than `c-parse.y' and `cexp.y' and you do not plan to
change the `.y' files.)
* Specify `--with-local-prefix=DIR' if you want the compiler to
search directory `DIR/include' for locally installed header
files *instead* of `/usr/local/include'.
Bison versions older than Sept 8, 1988 will produce incorrect
output for `c-parse.c'.
You should specify `--with-local-prefix' *only* if your site
has a different convention (not `/usr/local') for where to put
site-specific files.
7. If you have chosen a configuration for GNU CC which requires other
GNU tools (such as GAS or the GNU linker) instead of the standard
system tools, install the required tools in the build directory
under the names `as', `ld' or whatever is appropriate. This will
enable the compiler to find the proper tools for compilation of
the program `enquire'.
The default value for `--with-local-prefix' is `/usr/local'
regardless of the value of `--prefix'. Specifying `--prefix'
has no effect on which directory GNU CC searches for local
header files. This may seem counterintuitive, but actually
it is logical.
Alternatively, you can do subsequent compilation using a value of
the `PATH' environment variable such that the necessary GNU tools
come before the standard system tools.
The purpose of `--prefix' is to specify where to *install GNU
CC*. The local header files in `/usr/local/include'--if you
put any in that directory--are not part of GNU CC. They are
part of other programs--perhaps many others. (GNU CC
installs its own header files in another directory which is
based on the `--prefix' value.)
*Do not* specify `/usr' as the `--with-local-prefix'! The
directory you use for `--with-local-prefix' *must not* contain
any of the system's standard header files. If it did contain
them, certain programs would be miscompiled (including GNU
Emacs, on certain targets), because this would override and
nullify the header file corrections made by the `fixincludes'
script.
Indications are that people who use this option use it based
on mistaken ideas of what it is for. People use it as if it
specified where to install part of GNU CC. Perhaps they make
this assumption because installing GNU CC creates the
directory.
8. Build the compiler. Just type `make LANGUAGES=c' in the compiler
directory.
@ -325,17 +354,16 @@ and includes all the necessary compilation tools and libraries.
escape sequence" are normal in `genopinit.c' and perhaps some
other files. Likewise, you should ignore warnings about "constant
is so large that it is unsigned" in `insn-emit.c' and
`insn-recog.c', a warning about a comparison always being zero in
`enquire.o', and warnings about shift counts exceeding type widths
in `cexp.y'. Any other compilation errors may represent bugs in
`insn-recog.c', and a warning about a comparison always being zero
in `enquire.o'. Any other compilation errors may represent bugs in
the port to your machine or operating system, and should be
investigated and reported.
Some commercial compilers fail to compile GNU CC because they have
bugs or limitations. For example, the Microsoft compiler is said
to run out of macro space. Some Ultrix compilers run out of
expression space; then you need to break up the statement where
the problem happens.
Some compilers fail to compile GNU CC because they have bugs or
limitations. For example, the Microsoft compiler is said to run
out of macro space. Some Ultrix compilers run out of expression
space; then you need to break up the statement where the problem
happens.
9. If you are building a cross-compiler, stop here. *Note
Cross-Compiler::.
@ -411,8 +439,8 @@ and includes all the necessary compilation tools and libraries.
instead of making `stage1', `stage2', and performing the two
compiler builds.
14. Then compare the latest object files with the stage 2 object
files--they ought to be identical, aside from time stamps (if any).
14. Compare the latest object files with the stage 2 object files--they
ought to be identical, aside from time stamps (if any).
On some systems, meaningful comparison of object files is
impossible; they always appear "different." This is currently
@ -485,11 +513,9 @@ and includes all the necessary compilation tools and libraries.
or 3, since they usually run faster than the ones compiled with
some other compiler.)
16. If you're going to use C++, it's likely that you need to also
install a C++ runtime library. Just as GNU C does not distribute
a C runtime library, it also does not include a C++ runtime
library. All I/O functionality, special class libraries, etc., are
provided by the C++ runtime library.
16. If you're going to use C++, you need to install the C++ runtime
library. This includes all I/O functionality, special class
libraries, etc.
The standard C++ runtime library for GNU CC is called `libstdc++'.
An obsolescent library `libg++' may also be available, but it's
@ -566,19 +592,50 @@ and includes all the necessary compilation tools and libraries.
* thr-win32 Microsoft Win32 API thread support.

File: INSTALL, Node: Configurations, Next: Other Dir, Up: Installation
Files Created by `configure'
============================
Here we spell out what files will be set up by `configure'. Normally
you need not be concerned with these files.
* A file named `config.h' is created that contains a `#include' of
the top-level config file for the machine you will run the compiler
on (*note The Configuration File: (gcc.info)Config.). This file
is responsible for defining information about the host machine.
It includes `tm.h'.
The top-level config file is located in the subdirectory `config'.
Its name is always `xm-SOMETHING.h'; usually `xm-MACHINE.h', but
there are some exceptions.
If your system does not support symbolic links, you might want to
set up `config.h' to contain a `#include' command which refers to
the appropriate file.
* A file named `tconfig.h' is created which includes the top-level
config file for your target machine. This is used for compiling
certain programs to run on that machine.
* A file named `tm.h' is created which includes the
machine-description macro file for your target machine. It should
be in the subdirectory `config' and its name is often `MACHINE.h'.
* The command file `configure' also constructs the file `Makefile'
by adding some text to the template file `Makefile.in'. The
additional text comes from files in the `config' directory, named
`t-TARGET' and `x-HOST'. If these files do not exist, it means
nothing needs to be added for a given target or host.
Configurations Supported by GNU CC
==================================
Here are the possible CPU types:
1750a, a29k, alpha, arm, cN, clipper, dsp16xx, elxsi, h8300,
hppa1.0, hppa1.1, i370, i386, i486, i586, i860, i960, m32r,
m68000, m68k, m88k, mips, mipsel, mips64, mips64el, ns32k,
powerpc, powerpcle, pyramid, romp, rs6000, sh, sparc, sparclite,
sparc64, vax, we32k.
1750a, a29k, alpha, arm, avr, cN, clipper, dsp16xx, elxsi, fr30,
h8300, hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860,
i960, m32r, m68000, m68k, m88k, mcore, mips, mipsel, mips64,
mips64el, mn10200, mn10300, ns32k, pdp11, powerpc, powerpcle,
romp, rs6000, sh, sparc, sparclite, sparc64, v850, vax, we32k.
Here are the recognized company names. As you can see, customary
abbreviations are used rather than the longer official names.
@ -744,12 +801,24 @@ special things you must know:
You may need to make a variant of the file `arm.h' for your
particular configuration.
`arm-*-linuxaout'
Any of the ARM family processors running the Linux-based GNU
system with the `a.out' binary format (ELF is not yet supported).
You must use version 2.8.1.0.7 or later of the GNU/Linux binutils,
which you can download from `sunsite.unc.edu:/pub/Linux/GCC' and
other mirror sites for Linux-based GNU systems.
`arm-*-elf'
This configuration is intended for embedded systems.
`arm-*-linux-gnuaout'
Any of the ARM-family processors running the Linux-based GNU
system with the `a.out' binary format. This is an obsolete
configuration.
`arm-*-linux-gnu'
`arm-*-linux-gnuoldld'
Any of the ARM-family processors running the Linux-based GNU
system with the `ELF' binary format. You must use version
2.9.1.0.22 or later of the GNU/Linux binutils, which you can
download from `ftp.varesearch.com:/pub/support/hjl/binutils'.
These two configurations differ only in the required version of GNU
binutils. For binutils 2.9.1.0.x, use `arm-*-linux-gnuoldld'. For
newer versions of binutils, use `arm-*-linux-gnu'.
`arm-*-riscix'
The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD
@ -775,6 +844,12 @@ special things you must know:
`a29k-*-bsd'
AMD Am29050 used in a system running a variant of BSD Unix.
`avr'
ATMEL AVR-family micro controllers. These are used in embedded
applications. There are no standard Unix configurations.
Supports following MCU's: - AT90S23xx - ATtiny22 - AT90S44xx -
AT90S85xx - ATmega603/603L - ATmega103/103L
`decstation-*'
MIPS-based DECstations can support three different personalities:
Ultrix, DEC OSF/1, and OSF/rose. (Alpha-based DECstation products
@ -1019,37 +1094,11 @@ special things you must know:
the original.
`m68k-att-sysv'
AT&T 3b1, a.k.a. 7300 PC. Special procedures are needed to
compile GNU CC with this machine's standard C compiler, due to
bugs in that compiler. You can bootstrap it more easily with
previous versions of GNU CC if you have them.
Installing GNU CC on the 3b1 is difficult if you do not already
have GNU CC running, due to bugs in the installed C compiler.
However, the following procedure might work. We are unable to
test it.
1. Comment out the `#include "config.h"' line near the start of
`cccp.c' and do `make cpp'. This makes a preliminary version
of GNU cpp.
2. Save the old `/lib/cpp' and copy the preliminary GNU cpp to
that file name.
3. Undo your change in `cccp.c', or reinstall the original
version, and do `make cpp' again.
4. Copy this final version of GNU cpp into `/lib/cpp'.
5. Replace every occurrence of `obstack_free' in the file
`tree.c' with `_obstack_free'.
6. Run `make' to get the first-stage GNU CC.
7. Reinstall the original version of `/lib/cpp'.
8. Now you can compile GNU CC with itself and install it in the
normal fashion.
AT&T 3b1, a.k.a. 7300 PC. This version of GNU CC cannot be
compiled with the system C compiler, which is too buggy. You will
need to get a previous version of GCC and use it to bootstrap.
Binaries are available from the OSU-CIS archive, at
`ftp://archive.cis.ohio-state.edu/pub/att7300/'.
`m68k-bull-sysv'
Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. GNU
@ -1446,9 +1495,6 @@ special things you must know:
You may need to raise the ULIMIT setting to build a C++ compiler,
as the file `cc1plus' is larger than one megabyte.

File: INSTALL, Node: Other Dir, Next: Cross-Compiler, Prev: Configurations, Up: Installation
Compilation in a Separate Directory
===================================
@ -1493,9 +1539,6 @@ configuration steps shown above, when ordinary source files change. You
must, however, run `configure' again when the configuration files
change, if your system does not support symbolic links.

File: INSTALL, Node: Cross-Compiler, Next: Sun Install, Prev: Other Dir, Up: Installation
Building and Installing a Cross-Compiler
========================================
@ -1522,20 +1565,6 @@ If you want to link on other than the target machine, you need a
cross-linker as well. You also need header files and libraries suitable
for the target machine that you can install on the host machine.
* Menu:
* Steps of Cross:: Using a cross-compiler involves several steps
that may be carried out on different machines.
* Configure Cross:: Configuring a cross-compiler.
* Tools and Libraries:: Where to put the linker and assembler, and the C library.
* Cross Headers:: Finding and installing header files
for a cross-compiler.
* Cross Runtime:: Supplying arithmetic runtime routines (`libgcc1.a').
* Build Cross:: Actually compiling the cross-compiler.

File: INSTALL, Node: Steps of Cross, Next: Configure Cross, Up: Cross-Compiler
Steps of Cross-Compilation
--------------------------
@ -1561,9 +1590,6 @@ machine, since then you can do it all with a single invocation of GNU
CC. This requires a suitable cross-assembler and cross-linker. For
some targets, the GNU assembler and linker are available.

File: INSTALL, Node: Configure Cross, Next: Tools and Libraries, Prev: Steps of Cross, Up: Cross-Compiler
Configuring a Cross-Compiler
----------------------------
@ -1576,9 +1602,6 @@ system running BSD on a system that `configure' can correctly identify:
./configure --target=m68k-hp-bsd4.3

File: INSTALL, Node: Tools and Libraries, Next: Cross Headers, Prev: Configure Cross, Up: Cross-Compiler
Tools and Libraries for a Cross-Compiler
----------------------------------------
@ -1647,9 +1670,6 @@ machine:
mget *crt*.o
quit

File: INSTALL, Node: Cross Runtime, Next: Build Cross, Prev: Cross Headers, Up: Cross-Compiler
`libgcc.a' and Cross-Compilers
------------------------------
@ -1735,9 +1755,6 @@ Otherwise, you should place your replacement library under the name
`libgcc1.a' in the directory in which you will build the
cross-compiler, before you run `make'.

File: INSTALL, Node: Cross Headers, Next: Cross Runtime, Prev: Tools and Libraries, Up: Cross-Compiler
Cross-Compilers and Header Files
--------------------------------
@ -1786,9 +1803,6 @@ machine. On the target machine, do this:
quit
tar xf tarfile

File: INSTALL, Node: Build Cross, Prev: Cross Runtime, Up: Cross-Compiler
Actually Building the Cross-Compiler
------------------------------------
@ -1822,9 +1836,6 @@ must specify a 68030 as the host when you configure it.
To install the cross-compiler, use `make install', as usual.

File: INSTALL, Node: Sun Install, Next: VMS Install, Prev: Cross-Compiler, Up: Installation
Installing GNU CC on the Sun
============================
@ -1860,9 +1871,6 @@ error which does not recur if you run it again. To fix the problem,
install Sun recommended patch 100726 (for SunOS 4.1.3) or 101508 (for
SunOS 4.1.3_U1), or upgrade to a later SunOS release.

File: INSTALL, Node: VMS Install, Next: Collect2, Prev: Sun Install, Up: Installation
Installing GNU CC on VMS
========================
@ -2068,9 +2076,6 @@ edit the file `tm.h' (created by `vmsconfig.com') to define the macro
`QSORT_WORKAROUND' is always defined when GNU CC is compiled with
VAX C, to avoid a problem in case `gcclib.olb' is not yet available.

File: INSTALL, Node: Collect2, Next: Header Dirs, Prev: VMS Install, Up: Installation
`collect2'
==========
@ -2136,9 +2141,6 @@ search path.
`collect2' searches for the utilities `nm' and `strip' using the
same algorithm as above for `ld'.

File: INSTALL, Node: Header Dirs, Prev: Collect2, Up: Installation
Standard Header File Directories
================================
@ -2150,9 +2152,9 @@ cross compilation header files need to be fixed, they must be installed
before GNU CC is built. If the cross compilation header files are
already suitable for ANSI C and GNU CC, nothing special need be done).
`GPLUS_INCLUDE_DIR' means the same thing for native and cross. It
is where `g++' looks first for header files. The C++ library installs
only target independent header files in that directory.
`GPLUSPLUS_INCLUDE_DIR' means the same thing for native and cross.
It is where `g++' looks first for header files. The C++ library
installs only target independent header files in that directory.
`LOCAL_INCLUDE_DIR' is used only for a native compiler. It is
normally `/usr/local/include'. GNU CC searches this directory so that
@ -2167,22 +2169,3 @@ use. For a cross-compiler, this is the equivalent of `/usr/include'.
When you build a cross-compiler, `fixincludes' processes any header
files in this directory.

Tag Table:
Node: Installation351
Node: Configurations26618
Node: Other Dir65739
Node: Cross-Compiler67454
Node: Steps of Cross69284
Node: Configure Cross70401
Node: Tools and Libraries71037
Node: Cross Runtime73475
Node: Cross Headers77555
Node: Build Cross79553
Node: Sun Install81428
Node: VMS Install83099
Node: Collect293028
Node: Header Dirs95592

End Tag Table

View File

@ -692,8 +692,6 @@ OBJS = diagnostic.o \
GEN= genemit genoutput genrecog genextract genflags gencodes genconfig \
genpeep gengenrtl gencheck
CCCP=@cpp_main@
# Files to be copied away after each stage in building.
STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
@ -707,9 +705,8 @@ STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
genattr$(build_exeext) genopinit$(build_exeext) gengenrtl$(build_exeext) \
gencheck$(build_exeext) \
xgcc$(exeext) xcpp$(exeext) cc1$(exeext) cpp$(exeext) $(EXTRA_PASSES) \
$(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
$(CCCP)$(exeext) cc1obj$(exeext) enquire$(exeext) \
protoize$(exeext) unprotoize$(exeext) \
$(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) cc1obj$(exeext) \
enquire$(exeext) protoize$(exeext) unprotoize$(exeext) \
specs collect2$(exeext) $(USE_COLLECT2) underscore.c \
gcov$(exeext) *.[0-9][0-9].* *.[si] libcpp.a \
$(LANG_STAGESTUFF)
@ -2013,7 +2010,7 @@ $(top_builddir)/intl/libintl.a:
# Make sure all the headers are there for xgettext to scan.
$(INTL_TARGETS): $(srcdir)/c-gperf.h \
$(srcdir)/c-parse.c $(srcdir)/c-parse.h $(srcdir)/cexp.c
$(srcdir)/c-parse.c $(srcdir)/c-parse.h
intl.all intl.install intl.uninstall intl.distdir \
intl.mostlyclean intl.clean intl.distclean intl.maintainer-clean:
@ -2032,37 +2029,18 @@ intl.distdir-fixup:
#
# Remake cpp and protoize.
# Making the preprocessor
cpp$(exeext): $(CCCP)$(exeext)
-rm -f cpp$(exeext)
$(LN) $(CCCP)$(exeext) cpp$(exeext)
CCCP_OBJS = cccp.o cexp.o intl.o prefix.o version.o @extra_cpp_objs@ mbchar.o
cccp$(exeext): $(CCCP_OBJS) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(CCCP_OBJS) $(LIBS)
cexp.o: $(srcdir)/cexp.c $(CONFIG_H) system.h mbchar.h
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/cexp.c
$(srcdir)/cexp.c: $(srcdir)/cexp.y
cd $(srcdir); $(BISON) -o cexp.c cexp.y
PREPROCESSOR_DEFINES = \
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
-DLOCAL_INCLUDE_DIR=\"$(includedir)\" \
-DCROSS_INCLUDE_DIR=\"$(gcc_tooldir)/sys-include\" \
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\"
# We use $(libsubdir)/$(unlibsubdir) to match the
# -iprefix argument which gcc will pass if GCC_EXEC_PREFIX is used.
cccp.o: cccp.c $(CONFIG_H) intl.h pcp.h version.c config.status system.h \
mbchar.h prefix.h Makefile.in version.h
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(PREPROCESSOR_DEFINES) \
-c `echo $(srcdir)/cccp.c | sed 's,^\./,,'`
LIBCPP_OBJS = cpplib.o cpphash.o cpperror.o cppexp.o cppfiles.o \
cppinit.o cppulp.o cpplex.o mkdeps.o \
prefix.o version.o mbchar.o @extra_cpp_objs@
LIBCPP_DEPS = cpplib.h cpphash.h intl.h system.h
LIBCPP_DEPS = cpplib.h cpphash.h intl.h system.h
# All the other archives built/used by this makefile are for targets. This
# one is strictly for the host.
@ -2072,8 +2050,8 @@ libcpp.a: $(LIBCPP_OBJS)
$(AR) $(AR_FLAGS) libcpp.a $(LIBCPP_OBJS)
if $(RANLIB_TEST) ; then $(RANLIB) libcpp.a ; else true ; fi
cppmain$(exeext): cppmain.o intl.o libcpp.a $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cppmain$(exeext) cppmain.o \
cpp$(exeext): cppmain.o intl.o libcpp.a $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cpp$(exeext) cppmain.o \
intl.o libcpp.a $(LIBS)
cppmain.o: cppmain.c $(CONFIG_H) cpplib.h intl.h system.h
@ -2361,7 +2339,7 @@ cpp.dvi: $(srcdir)/cpp.texi
INSTALL: $(srcdir)/install1.texi $(srcdir)/install.texi
cd $(srcdir); $(MAKEINFO) -D INSTALLONLY \
--no-split -o INSTALL install1.texi
--no-split --no-headers -o INSTALL install1.texi
#
# Deletion of files made during compilation.
# There are four levels of this:
@ -2476,8 +2454,7 @@ maintainer-clean:
$(MAKE) INTL_DISTCLEAN= INTL_CLEAN= INTL_MOSTLYCLEAN= \
intl.maintainer-clean lang.maintainer-clean distclean
-rm -f c-parse.y c-gperf.h
-rm -f c-parse.c c-parse.h c-parse.output
-rm -f cexp.c cexp.output TAGS
-rm -f c-parse.c c-parse.h c-parse.output TAGS
-rm -f cpp.info* cpp.??s cpp.*aux
-rm -f gcc.info* gcc.??s gcc.*aux
#
@ -2661,7 +2638,7 @@ install-info: doc installdirs lang.install-info
-chmod a-x $(infodir)/cpp.info* $(infodir)/gcc.info*
# Install the man pages.
install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cccp.1 lang.install-man
install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cpp.1 lang.install-man
-if [ -f gcc-cross$(exeext) ] ; then \
rm -f $(man1dir)/$(GCC_CROSS_NAME)$(manext); \
$(INSTALL_DATA) $(srcdir)/gcc.1 $(man1dir)/$(GCC_CROSS_NAME)$(manext); \
@ -2671,9 +2648,9 @@ install-man: installdirs $(srcdir)/gcc.1 $(srcdir)/cccp.1 lang.install-man
$(INSTALL_DATA) $(srcdir)/gcc.1 $(man1dir)/$(GCC_INSTALL_NAME)$(manext); \
chmod a-x $(man1dir)/$(GCC_INSTALL_NAME)$(manext); \
fi
-rm -f $(man1dir)/cccp$(manext)
-$(INSTALL_DATA) $(srcdir)/cccp.1 $(man1dir)/cccp$(manext)
-chmod a-x $(man1dir)/cccp$(manext)
-rm -f $(man1dir)/cpp$(manext)
-$(INSTALL_DATA) $(srcdir)/cpp.1 $(man1dir)/cpp$(manext)
-chmod a-x $(man1dir)/cpp$(manext)
# Install the library.
install-libgcc: libgcc.a installdirs
@ -2782,7 +2759,7 @@ uninstall: intl.uninstall lang.uninstall $(UNINSTALL_CPP)
-rm -rf $(bindir)/$(GCOV_INSTALL_NAME)$(exeext)
-rm -rf $(man1dir)/$(GCC_INSTALL_NAME)$(manext)
-rm -rf $(man1dir)/$(GCC_CROSS_NAME)$(manext)
-rm -rf $(man1dir)/cccp$(manext)
-rm -rf $(man1dir)/cpp$(manext)
-rm -rf $(man1dir)/protoize$(manext)
-rm -rf $(man1dir)/unprotoize$(manext)
-rm -f $(infodir)/cpp.info* $(infodir)/gcc.info*
@ -2898,7 +2875,7 @@ check-objc: testsuite/site.exp
TAGS: force
cd $(srcdir); \
mkdir tmp-tags; \
mv -f c-parse.[ch] cexp.c =*.[chy] tmp-tags; \
mv -f c-parse.[ch] =*.[chy] tmp-tags; \
etags *.y *.h *.c; \
mv tmp-tags/* .; \
rmdir tmp-tags
@ -2918,8 +2895,7 @@ distdir-cvs: force
# This target exists to do the initial work before the language specific
# stuff gets done.
distdir-start: doc $(srcdir)/INSTALL $(srcdir)/c-parse.y $(srcdir)/c-gperf.h \
$(srcdir)/c-parse.c $(srcdir)/cexp.c $(srcdir)/config.in \
$(srcdir)/version.c TAGS
$(srcdir)/c-parse.c $(srcdir)/config.in $(srcdir)/version.c TAGS
@case '$(USE_NLS)' in \
yes) ;; \
*) echo "configure with --enable-nls before making a distribution"; \
@ -2948,7 +2924,7 @@ distdir-start: doc $(srcdir)/INSTALL $(srcdir)/c-parse.y $(srcdir)/c-gperf.h \
test -f $(srcdir)/$$file && $(LN_S) $(srcdir)/$$file tmp; \
done
if test "$(srcdir)" != "." ; then \
for file in c-parse.c cexp.c ; do \
for file in c-parse.c ; do \
test -f ./$$file && $(LN_S) ../$$file tmp; \
done; \
fi
@ -2998,8 +2974,7 @@ distdir: distdir-cvs distdir-start intl.distdir intl.distdir-fixup \
# The -P option assumes this is GNU diff.
diff:
diff -rc2P -x c-parse.y -x c-parse.c -x c-parse.h -x c-gperf.h \
-x cexp.c -x -x TAGS -x INSTALL \
-x configure -x config.in \
-x TAGS -x INSTALL -x configure -x config.in \
-x "gcc.??" -x "gcc.??s" -x gcc.aux -x "gcc.info*" \
-x "cpp.??" -x "cpp.??s" -x cpp.aux -x "cpp.info*" \
$(LANG_DIFF_EXCLUDES) \

View File

@ -680,7 +680,7 @@ check_newline ()
}
else if (!strcmp (name, "ident"))
{
/* #ident. The pedantic warning is now in cccp.c. */
/* #ident. The pedantic warning is now in cpp. */
/* Here we have just seen `#ident '.
A string constant should follow. */

View File

@ -1,674 +0,0 @@
.\" Copyright (c) 1991, 1992, 1993 Free Software Foundation \-*-Text-*-
.\" See section COPYING for conditions for redistribution
.TH cpp 1 "30apr1993" "GNU Tools" "GNU Tools"
.SH NAME
cccp, cpp \- The GNU C-Compatible Compiler Preprocessor.
.SH SYNOPSIS
.hy 0
.na
.TP
.B cccp
.RB "[\|" \-$ "\|]"
.RB "[\|" \-A \c
.I predicate\c
.RB [ (\c
.I value\c
.BR ) ]\|]
.RB "[\|" \-C "\|]"
.RB "[\|" \-D \c
.I name\c
.RB [ =\c
.I definition\c
\&]\|]
.RB "[\|" \-dD "\|]"
.RB "[\|" \-dM "\|]"
.RB "[\|" "\-I\ "\c
.I directory\c
\&\|]
.RB "[\|" \-H "\|]"
.RB "[\|" \-I\- "\|]"
.RB "[\|" "\-imacros\ "\c
.I file\c
\&\|]
.RB "[\|" "\-include\ "\c
.I file\c
\&\|]
.RB "[\|" "\-idirafter\ "\c
.I dir\c
\&\|]
.RB "[\|" "\-iprefix\ "\c
.I prefix\c
\&\|]
.RB "[\|" "\-iwithprefix\ "\c
.I dir\c
\&\|]
.RB "[\|" \-lang\-c "\|]"
.RB "[\|" \-lang\-c++ "\|]"
.RB "[\|" \-lang\-objc "\|]"
.RB "[\|" \-lang\-objc++ "\|]"
.RB "[\|" \-lint "\|]"
.RB "[\|" \-M\ [ \-MG "\|]]"
.RB "[\|" \-MM\ [ \-MG "\|]]"
.RB "[\|" \-MD\ \c
.I file\ \c
\&\|]
.RB "[\|" \-MMD\ \c
.I file\ \c
\&\|]
.RB "[\|" \-nostdinc "\|]"
.RB "[\|" \-nostdinc++ "\|]"
.RB "[\|" \-P "\|]"
.RB "[\|" \-pedantic "\|]"
.RB "[\|" \-pedantic\-errors "\|]"
.RB "[\|" \-traditional "\|]"
.RB "[\|" \-trigraphs "\|]"
.RB "[\|" \-U \c
.I name\c
\&\|]
.RB "[\|" \-undef "\|]"
.RB "[\|" \-Wtrigraphs "\|]"
.RB "[\|" \-Wcomment "\|]"
.RB "[\|" \-Wall "\|]"
.RB "[\|" \-Wtraditional "\|]"
.br
.RB "[\|" \c
.I infile\c
.RB | \- "\|]"
.RB "[\|" \c
.I outfile\c
.RB | \- "\|]"
.ad b
.hy 1
.SH DESCRIPTION
The C preprocessor is a \c
.I macro processor\c
\& that is used automatically by
the C compiler to transform your program before actual compilation. It is
called a macro processor because it allows you to define \c
.I macros\c
\&,
which are brief abbreviations for longer constructs.
The C preprocessor provides four separate facilities that you can use as
you see fit:
.TP
\(bu
Inclusion of header files. These are files of declarations that can be
substituted into your program.
.TP
\(bu
Macro expansion. You can define \c
.I macros\c
\&, which are abbreviations
for arbitrary fragments of C code, and then the C preprocessor will
replace the macros with their definitions throughout the program.
.TP
\(bu
Conditional compilation. Using special preprocessing directives, you
can include or exclude parts of the program according to various
conditions.
.TP
\(bu
Line control. If you use a program to combine or rearrange source files into
an intermediate file which is then compiled, you can use line control
to inform the compiler of where each source line originally came from.
.PP
C preprocessors vary in some details. For a full explanation of the
GNU C preprocessor, see the
.B info
file `\|\c
.B cpp.info\c
\&\|', or the manual
.I The C Preprocessor\c
\&. Both of these are built from the same documentation source file, `\|\c
.B cpp.texinfo\c
\&\|'. The GNU C
preprocessor provides a superset of the features of ANSI Standard C.
ANSI Standard C requires the rejection of many harmless constructs commonly
used by today's C programs. Such incompatibility would be inconvenient for
users, so the GNU C preprocessor is configured to accept these constructs
by default. Strictly speaking, to get ANSI Standard C, you must use the
options `\|\c
.B \-trigraphs\c
\&\|', `\|\c
.B \-undef\c
\&\|' and `\|\c
.B \-pedantic\c
\&\|', but in
practice the consequences of having strict ANSI Standard C make it
undesirable to do this.
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 individually.
When you call the preprocessor individually, either name
(\c
.B cpp\c
\& or \c
.B cccp\c
\&) will do\(em\&they are completely synonymous.
The C preprocessor expects two file names as arguments, \c
.I infile\c
\& and
\c
.I outfile\c
\&. The preprocessor reads \c
.I infile\c
\& together with any other
files it specifies with `\|\c
.B #include\c
\&\|'. All the output generated by the
combined input files is written in \c
.I outfile\c
\&.
Either \c
.I infile\c
\& or \c
.I outfile\c
\& may be `\|\c
.B \-\c
\&\|', which as \c
.I infile\c
\&
means to read from standard input and as \c
.I outfile\c
\& means to write to
standard output. Also, if \c
.I outfile\c
\& or both file names are omitted,
the standard output and standard input are used for the omitted file names.
.SH OPTIONS
Here is a table of command options accepted by the C preprocessor.
These options can also be given when compiling a C program; they are
passed along automatically to the preprocessor when it is invoked by
the compiler.
.TP
.B \-P
Inhibit generation of `\|\c
.B #\c
\&\|'-lines with line-number information 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
`\|\c
.B #\c
\&\|'-lines.
.TP
.B \-C
Do not discard comments: pass them through to the output file.
Comments appearing in arguments of a macro call will be copied to the
output before the expansion of the macro call.
.TP
.B \-traditional
Try to imitate the behavior of old-fashioned C, as opposed to ANSI C.
.TP
.B \-trigraphs
Process ANSI standard trigraph sequences. These are three-character
sequences, all starting with `\|\c
.B ??\c
\&\|', that are defined by ANSI C to
stand for single characters. For example, `\|\c
.B ??/\c
\&\|' stands for
`\|\c
.BR "\e" "\|',"
so `\|\c
.B '??/n'\c
\&\|' is a character constant for a newline.
Strictly speaking, the GNU C preprocessor does not support all
programs in ANSI Standard C unless `\|\c
.B \-trigraphs\c
\&\|' is used, but if
you ever notice the difference it will be with relief.
You don't want to know any more about trigraphs.
.TP
.B \-pedantic
Issue warnings required by the ANSI C standard in certain cases such
as when text other than a comment follows `\|\c
.B #else\c
\&\|' or `\|\c
.B #endif\c
\&\|'.
.TP
.B \-pedantic\-errors
Like `\|\c
.B \-pedantic\c
\&\|', except that errors are produced rather than
warnings.
.TP
.B \-Wtrigraphs
Warn if any trigraphs are encountered (assuming they are enabled).
.TP
.B \-Wcomment
.TP
.B \-Wcomments
Warn whenever a comment-start sequence `\|\c
.B /*\c
\&\|' appears in a comment.
(Both forms have the same effect).
.TP
.B \-Wall
Requests both `\|\c
.B \-Wtrigraphs\c
\&\|' and `\|\c
.B \-Wcomment\c
\&\|' (but not
`\|\c
.B \-Wtraditional\c
\&\|').
.TP
.B \-Wtraditional
Warn about certain constructs that behave differently in traditional and
ANSI C.
.TP
.BI "\-I " directory\c
\&
Add the directory \c
.I directory\c
\& to the end of the list of
directories to be searched for header files.
This can be used to override a system header file, substituting your
own version, since these directories are searched before the system
header file directories. If you use more than one `\|\c
.B \-I\c
\&\|' option,
the directories are scanned in left-to-right order; the standard
system directories come after.
.TP
.B \-I\-
Any directories specified with `\|\c
.B \-I\c
\&\|' options before the `\|\c
.B \-I\-\c
\&\|'
option are searched only for the case of `\|\c
.B #include "\c
.I file\c
\&"\c
\&\|';
they are not searched for `\|\c
.B #include <\c
.I file\c
\&>\c
\&\|'.
If additional directories are specified with `\|\c
.B \-I\c
\&\|' options after
the `\|\c
.B \-I\-\c
\&\|', these directories are searched for all `\|\c
.B #include\c
\&\|'
directives.
In addition, the `\|\c
.B \-I\-\c
\&\|' option inhibits the use of the current
directory as the first search directory for `\|\c
.B #include "\c
.I file\c
\&"\c
\&\|'.
Therefore, the current directory is searched only if it is requested
explicitly with `\|\c
.B \-I.\c
\&\|'. Specifying both `\|\c
.B \-I\-\c
\&\|' and `\|\c
.B \-I.\c
\&\|'
allows you to control precisely which directories are searched before
the current one and which are searched after.
.TP
.B \-nostdinc
Do not search the standard system directories for header files.
Only the directories you have specified with `\|\c
.B \-I\c
\&\|' options
(and the current directory, if appropriate) are searched.
.TP
.B \-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 libg++.)
.TP
.BI "\-D " "name"\c
\&
Predefine \c
.I name\c
\& as a macro, with definition `\|\c
.B 1\c
\&\|'.
.TP
.BI "\-D " "name" = definition
\&
Predefine \c
.I name\c
\& as a macro, with definition \c
.I definition\c
\&.
There are no restrictions on the contents of \c
.I definition\c
\&, 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 use more than
one `\|\c
.B \-D\c
\&\|' for the same
.I name\c
\&, the rightmost definition takes effect.
.TP
.BI "\-U " "name"\c
\&
Do not predefine \c
.I name\c
\&. If both `\|\c
.B \-U\c
\&\|' and `\|\c
.B \-D\c
\&\|' are
specified for one name, the `\|\c
.B \-U\c
\&\|' beats the `\|\c
.B \-D\c
\&\|' and the name
is not predefined.
.TP
.B \-undef
Do not predefine any nonstandard macros.
.TP
.BI "\-A " "name(" value )
Assert (in the same way as the \c
.B #assert\c
\& directive)
the predicate \c
.I name\c
\& with tokenlist \c
.I value\c
\&. Remember to escape or quote the parentheses on
shell command lines.
You can use `\|\c
.B \-A-\c
\&\|' to disable all predefined assertions; it also
undefines all predefined macros.
.TP
.B \-dM
Instead of outputting the result of preprocessing, output a list of
`\|\c
.B #define\c
\&\|' 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 `\|\c
.B foo.h\c
\&\|', the command
.sp
.br
touch\ foo.h;\ cpp\ \-dM\ foo.h
.br
.sp
will show the values of any predefined macros.
.TP
.B \-dD
Like `\|\c
.B \-dM\c
\&\|' except in two respects: it does \c
.I not\c
\& include the
predefined macros, and it outputs \c
.I both\c
\& the `\|\c
.B #define\c
\&\|'
directives and the result of preprocessing. Both kinds of output go to
the standard output file.
.PP
.TP
.BR \-M\ [ \-MG ]
Instead of outputting the result of preprocessing, output a rule
suitable for \c
.B make\c
\& describing the dependencies of the main
source file. The preprocessor outputs one \c
.B make\c
\& rule containing
the object file name for that source file, a colon, and the names of
all the included files. If there are many included files then the
rule is split into several lines using `\|\c
.B \\\\\c
\&\|'-newline.
`\|\c
.B \-MG\c
\&\|' says to treat missing header files as generated files and assume \c
they live in the same directory as the source file. It must be specified \c
in addition to `\|\c
.B \-M\c
\&\|'.
This feature is used in automatic updating of makefiles.
.TP
.BR \-MM\ [ \-MG ]
Like `\|\c
.B \-M\c
\&\|' but mention only the files included with `\|\c
.B #include
"\c
.I file\c
\&"\c
\&\|'. System header files included with `\|\c
.B #include
<\c
.I file\c
\&>\c
\&\|' are omitted.
.TP
.BI \-MD\ file
Like `\|\c
.B \-M\c
\&\|' but the dependency information is written to `\|\c
.I file\c
\&\|'. This is in addition to compiling the file as
specified\(em\&`\|\c
.B \-MD\c
\&\|' does not inhibit ordinary compilation the way
`\|\c
.B \-M\c
\&\|' does.
When invoking gcc, do not specify the `\|\c
.I file\c
\&\|' argument. Gcc will create file names made by replacing `\|\c
.B .c\c
\&\|' with `\|\c
.B .d\c
\&\|' at the end of the input file names.
In Mach, you can use the utility \c
.B md\c
\& to merge multiple files
into a single dependency file suitable for using with the `\|\c
.B make\c
\&\|'
command.
.TP
.BI \-MMD\ file
Like `\|\c
.B \-MD\c
\&\|' except mention only user header files, not system
header files.
.TP
.B \-H
Print the name of each header file used, in addition to other normal
activities.
.TP
.BI "\-imacros " "file"\c
\&
Process \c
.I file\c
\& as input, discarding the resulting output, before
processing the regular input file. Because the output generated from
\c
.I file\c
\& is discarded, the only effect of `\|\c
.B \-imacros \c
.I file\c
\&\c
\&\|' is to
make the macros defined in \c
.I file\c
\& available for use in the main
input. The preprocessor evaluates any `\|\c
.B \-D\c
\&\|' and `\|\c
.B \-U\c
\&\|' options
on the command line before processing `\|\c
.B \-imacros \c
.I file\c
\&\|' \c
\&.
.TP
.BI "\-include " "file"
Process
.I file
as input, and include all the resulting output,
before processing the regular input file.
.TP
.BI "-idirafter " "dir"\c
\&
Add the directory \c
.I dir\c
\& to the second include path. The directories
on the second include path are searched when a header file is not found
in any of the directories in the main include path (the one that
`\|\c
.B \-I\c
\&\|' adds to).
.TP
.BI "-iprefix " "prefix"\c
\&
Specify \c
.I prefix\c
\& as the prefix for subsequent `\|\c
.B \-iwithprefix\c
\&\|'
options.
.TP
.BI "-iwithprefix " "dir"\c
\&
Add a directory to the second include path. The directory's name is
made by concatenating \c
.I prefix\c
\& and \c
.I dir\c
\&, where \c
.I prefix\c
\&
was specified previously with `\|\c
.B \-iprefix\c
\&\|'.
.TP
.B \-lang-c
.TP
.B \-lang-c++
.TP
.B \-lang-objc
.TP
.B \-lang-objc++
Specify the source language. `\|\c
.B \-lang-c++\c
\&\|' makes the preprocessor
handle C++ comment syntax, and includes extra default include
directories for C++, and `\|\c
.B \-lang-objc\c
\&\|' enables the Objective C
`\|\c
.B #import\c
\&\|' directive. `\|\c
.B \-lang-c\c
\&\|' explicitly turns off both of
these extensions, and `\|\c
.B \-lang-objc++\c
\&\|' enables both.
These options are generated by the compiler driver \c
.B gcc\c
\&, but not
passed from the `\|\c
.B gcc\c
\&\|' command line.
.TP
.B \-lint
Look for commands to the program checker \c
.B lint\c
\& embedded in
comments, and emit them preceded by `\|\c
.B #pragma lint\c
\&\|'. For example,
the comment `\|\c
.B /* NOTREACHED */\c
\&\|' becomes `\|\c
.B #pragma lint
NOTREACHED\c
\&\|'.
This option is available only when you call \c
.B cpp\c
\& directly;
\c
.B gcc\c
\& will not pass it from its command line.
.TP
.B \-$
Forbid the use of `\|\c
.B $\c
\&\|' in identifiers. This was formerly required for strict conformance
to the C Standard before the standard was corrected. \c
This option is available only when you call \c
.B cpp\c
\& directly;
.B gcc\c
\& will not pass it from its command line.
.SH "SEE ALSO"
.RB "`\|" Cpp "\|'"
entry in
.B info\c
\&;
.I The C Preprocessor\c
, Richard M. Stallman.
.br
.BR gcc "(" 1 ");"
.RB "`\|" Gcc "\|'"
entry in
.B info\c
\&;
.I
Using and Porting GNU CC (for version 2.0)\c
, Richard M. Stallman.
.SH COPYING
Copyright (c) 1991, 1992, 1993 Free Software Foundation, Inc.
.PP
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.
.PP
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.
.PP
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.

11313
gcc/cccp.c

File diff suppressed because it is too large Load Diff

2209
gcc/cexp.c

File diff suppressed because it is too large Load Diff

1226
gcc/cexp.y

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,7 @@
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
* ch/lex.c: Remove references to cccp.c.
2000-04-03 Zack Weinberg <zack@wolery.cumb.org>
* lang-specs.h: Pass -fno-show-column to the preprocessor.

View File

@ -619,9 +619,7 @@ const char *chill_tree_code_name[] = {
};
#undef DEFTREECODE
/* Nonzero means `$' can be in an identifier.
See cccp.c for reasons why this breaks some obscure ANSI C programs. */
/* Nonzero means `$' can be in an identifier. */
#ifndef DOLLARS_IN_IDENTIFIERS
#define DOLLARS_IN_IDENTIFIERS 0
#endif

View File

@ -1677,7 +1677,7 @@ check_newline ()
&& getlc (finput) == 't'
&& ((c = getlc (finput)) == ' ' || c == '\t'))
{
/* #ident. The pedantic warning is now in cccp.c. */
/* #ident. The pedantic warning is now in cpp. */
/* Here we have just seen `#ident '.
A string constant should follow. */

View File

@ -491,7 +491,6 @@ extern int target_flags;
#define FLOAT_TYPE_SIZE 32
#define DOUBLE_TYPE_SIZE 64
#define LONG_DOUBLE_TYPE_SIZE 64
/* This prevents cexp.c from depending on LONG_TYPE_SIZE. */
#define MAX_LONG_TYPE_SIZE 64
/* Declare the standard types used by builtins to match convex stddef.h --

View File

@ -179,9 +179,7 @@ extern int target_flags;
#define INT_TYPE_SIZE (TARGET_SHORT ? 16 : 32)
/* Define these to avoid dependence on meaning of `int'.
Note that WCHAR_TYPE_SIZE is used in cexp.y,
where TARGET_SHORT is not available. */
/* Define these to avoid dependence on meaning of `int'. */
#define WCHAR_TYPE "long int"
#define WCHAR_TYPE_SIZE 32

View File

@ -36,7 +36,6 @@ Boston, MA 02111-1307, USA. */
#ifdef __EMX__
#define EMX
#define USG
#define BSTRING
#define HAVE_PUTENV
#define HAVE_VPRINTF
#define HAVE_STRERROR

View File

@ -337,10 +337,8 @@ extern int target_flags;
#define INT_TYPE_SIZE (TARGET_SHORT ? 16 : 32)
/* Define these to avoid dependence on meaning of `int'.
Note that WCHAR_TYPE_SIZE is used in cexp.y,
where TARGET_SHORT is not available. */
/* Define these to avoid dependence on meaning of `int'. */
#define WCHAR_TYPE "long int"
#define WCHAR_TYPE_SIZE 32

View File

@ -70,7 +70,6 @@ INSTALL_LIBGCC = install-multilib
# cse.c (cost functions)
# insn-output.c (possible ifdef changes in tm.h)
# regclass.c (fixed/call used register changes)
# cccp.c (new preprocessor macros, -v version #)
# explow.c (GO_IF_LEGITIMATE_ADDRESS)
# recog.c (GO_IF_LEGITIMATE_ADDRESS)
# reload.c (GO_IF_LEGITIMATE_ADDRESS)
@ -85,7 +84,6 @@ varasm.o: $(CONFIG2_H)
cse.o: $(CONFIG2_H)
insn-output.o: $(CONFIG2_H)
regclass.o: $(CONFIG2_H)
cccp.o: $(CONFIG2_H)
explow.o: $(CONFIG2_H)
recog.o: $(CONFIG2_H)
reload.o: $(CONFIG2_H)

View File

@ -74,7 +74,6 @@ INSTALL_LIBGCC = install-multilib
# cse.c (cost functions)
# insn-output.c (possible ifdef changes in tm.h)
# regclass.c (fixed/call used register changes)
# cccp.c (new preprocessor macros, -v version #)
# explow.c (GO_IF_LEGITIMATE_ADDRESS)
# recog.c (GO_IF_LEGITIMATE_ADDRESS)
# reload.c (GO_IF_LEGITIMATE_ADDRESS)
@ -89,7 +88,6 @@ varasm.o: $(CONFIG2_H)
cse.o: $(CONFIG2_H)
insn-output.o: $(CONFIG2_H)
regclass.o: $(CONFIG2_H)
cccp.o: $(CONFIG2_H)
explow.o: $(CONFIG2_H)
recog.o: $(CONFIG2_H)
reload.o: $(CONFIG2_H)

View File

@ -73,7 +73,6 @@ INSTALL_LIBGCC = install-multilib
# cse.c (cost functions)
# insn-output.c (possible ifdef changes in tm.h)
# regclass.c (fixed/call used register changes)
# cccp.c (new preprocessor macros, -v version #)
# explow.c (GO_IF_LEGITIMATE_ADDRESS)
# recog.c (GO_IF_LEGITIMATE_ADDRESS)
# reload.c (GO_IF_LEGITIMATE_ADDRESS)
@ -88,7 +87,6 @@ varasm.o: $(CONFIG2_H)
cse.o: $(CONFIG2_H)
insn-output.o: $(CONFIG2_H)
regclass.o: $(CONFIG2_H)
cccp.o: $(CONFIG2_H)
explow.o: $(CONFIG2_H)
recog.o: $(CONFIG2_H)
reload.o: $(CONFIG2_H)

View File

@ -147,11 +147,6 @@ extern int target_flags;
/* machine types from ansi */
#define SIZE_TYPE "unsigned int" /* definition of size_t */
/* is used in cexp.y - we don't have target_flags there,
so just give default definition
hope it does not come back to haunt us! */
#define WCHAR_TYPE "int" /* or long int???? */
#define WCHAR_TYPE_SIZE 16

View File

@ -47,8 +47,3 @@ Boston, MA 02111-1307, USA. */
#define bcopy(s,d,l) memcpy(d,s,l)
#define FUNCTION_CONVERSION_BUG
#endif
/* We cannot allow cccp.o to contain a copy of BCOPY as this will
cause multiple definitions since BLT and BCOPY share an object file
in libc.a and the library references BLT. */
#define BSTRING

View File

@ -25,6 +25,3 @@ Boston, MA 02111-1307, USA. */
/* We do have one, but I'd like to use the one come with gcc since
we have been doing that for a long time with USG defined. H.J. */
#undef HAVE_STAB_H
#undef BSTRING
#define BSTRING

477
gcc/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -217,14 +217,6 @@ elif test x$withval != xno; then
cpp_install_dir=$withval
fi])
# Use cpplib+cppmain for the preprocessor, but don't link it with the compiler.
cpp_main=cppmain
AC_ARG_ENABLE(cpplib,
[ --disable-cpplib use the old isolated C preprocessor.],
if test x$enable_cpplib = xno; then
cpp_main=cccp
fi)
dnl Disable this for the moment; the library interface is changing.
dnl # Link cpplib into the compiler proper, for C/C++/ObjC.
dnl AC_ARG_ENABLE(c-cpplib,
@ -234,7 +226,6 @@ dnl if test x$enable_c_cpplib != xno; then
dnl extra_c_objs="${extra_c_objs} libcpp.a"
dnl extra_cxx_objs="${extra_cxx_objs} ../libcpp.a"
dnl extra_c_flags="${extra_c_flags} -DUSE_CPPLIB=1"
dnl cpp_main=cppmain
dnl fi)
# Enable Multibyte Characters for C/C++
@ -4811,7 +4802,6 @@ AC_SUBST(build_xm_file_list)
AC_SUBST(cc_set_by_configure)
AC_SUBST(quoted_cc_set_by_configure)
AC_SUBST(cpp_install_dir)
AC_SUBST(cpp_main)
AC_SUBST(dep_host_xmake_file)
AC_SUBST(dep_tmake_file)
AC_SUBST(extra_c_flags)

View File

@ -1,3 +1,7 @@
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
* lex.c: Remove references to cccp.c.
2000-04-18 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (lang_decl_flags): Remove const_memfunc and

View File

@ -2302,7 +2302,7 @@ check_newline ()
}
else if (!strcmp (name, "ident"))
{
/* #ident. The pedantic warning is now in cccp.c. */
/* #ident. The pedantic warning is now in cpp. */
/* Here we have just seen `#ident '.
A string constant should follow. */

View File

@ -1097,7 +1097,7 @@ hack_vms_include_specification (fullname)
/* The VMS part ends in a `]', and the preceding character is not a `.'.
-> PATH]:/name (basename = '/name', unixname = 'name')
We strip the `]', and then splice the two parts of the name in the
usual way. Given the default locations for include files in cccp.c,
usual way. Given the default locations for include files,
we will only use this code if the user specifies alternate locations
with the /include (-I) switch on the command line. */

View File

@ -135,7 +135,7 @@ struct htab;
/* Values for opts.dump_macros.
dump_only means inhibit output of the preprocessed text
and instead output the definitions of all user-defined
macros in a form suitable for use as input to cccp.
macros in a form suitable for use as input to cpp.
dump_names means pass #define and the macro name through to output.
dump_definitions means pass the whole definition (plus #define) through
*/

View File

@ -1,6 +1,11 @@
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
* lex.c: Remove references to cccp.c.
* g77install.texi: Remove references to cexp.c/cexp.y.
2000-04-15 David Edelsohn <edelsohn@gnu.org>
* f/target.h (FFETARGET_32bit_longs): Define for 64-bit PowerPC
* target.h (FFETARGET_32bit_longs): Define for 64-bit PowerPC
as well.
Wed Apr 12 15:15:26 2000 Mark Mitchell <mark@codesourcery.com>

View File

@ -1992,7 +1992,7 @@ type these commands:
@example
sh# @kbd{cd gcc}
sh# @kbd{touch bi-parser.c bi-parser.h c-parse.c c-parse.h cexp.c}
sh# @kbd{touch bi-parser.c bi-parser.h c-parse.c c-parse.h}
sh# @kbd{touch cp/parse.c cp/parse.h objc-parse.c}
sh# @kbd{cd ..}
sh#

View File

@ -1224,7 +1224,7 @@ ffelex_hash_ (FILE *finput)
&& getc (finput) == 't'
&& ((c = getc (finput)) == ' ' || c == '\t'))
{
/* #ident. The pedantic warning is now in cccp.c. */
/* #ident. The pedantic warning is now in cpp. */
/* Here we have just seen `#ident '.
A string constant should follow. */

View File

@ -53,10 +53,9 @@ On a System V release 4 system, make sure @file{/usr/bin} precedes
@cindex Bison parser generator
@cindex parser generator, Bison
@item
Make sure the Bison parser generator is installed. (This is
unnecessary if the Bison output files @file{c-parse.c} and
@file{cexp.c} are more recent than @file{c-parse.y} and @file{cexp.y}
and you do not plan to change the @samp{.y} files.)
Make sure the Bison parser generator is installed. (This is unnecessary
if the Bison output file @file{c-parse.c} is more recent than
@file{c-parse.y},and you do not plan to change the @samp{.y} file.)
Bison versions older than Sept 8, 1988 will produce incorrect output
for @file{c-parse.c}.
@ -396,9 +395,8 @@ Ignore any warnings you may see about ``statement not reached'' in
escape sequence'' are normal in @file{genopinit.c} and perhaps some
other files. Likewise, you should ignore warnings about ``constant is
so large that it is unsigned'' in @file{insn-emit.c} and
@file{insn-recog.c}, a warning about a comparison always being zero
in @file{enquire.o}, and warnings about shift counts exceeding type
widths in @file{cexp.y}. Any other compilation errors may represent bugs in
@file{insn-recog.c}, and a warning about a comparison always being zero
in @file{enquire.o}. Any other compilation errors may represent bugs in
the port to your machine or operating system, and
@ifclear INSTALLONLY
should be investigated and reported (@pxref{Bugs}).
@ -1260,47 +1258,11 @@ You will also a patched version of @file{/bin/ld} there that
raises some of the arbitrary limits found in the original.
@item m68k-att-sysv
AT&T 3b1, a.k.a. 7300 PC. Special procedures are needed to compile GNU
CC with this machine's standard C compiler, due to bugs in that
compiler. You can bootstrap it more easily with
previous versions of GNU CC if you have them.
Installing GNU CC on the 3b1 is difficult if you do not already have
GNU CC running, due to bugs in the installed C compiler. However,
the following procedure might work. We are unable to test it.
@enumerate
@item
Comment out the @samp{#include "config.h"} line near the start of
@file{cccp.c} and do @samp{make cpp}. This makes a preliminary version
of GNU cpp.
@item
Save the old @file{/lib/cpp} and copy the preliminary GNU cpp to that
file name.
@item
Undo your change in @file{cccp.c}, or reinstall the original version,
and do @samp{make cpp} again.
@item
Copy this final version of GNU cpp into @file{/lib/cpp}.
@findex obstack_free
@item
Replace every occurrence of @code{obstack_free} in the file
@file{tree.c} with @code{_obstack_free}.
@item
Run @code{make} to get the first-stage GNU CC.
@item
Reinstall the original version of @file{/lib/cpp}.
@item
Now you can compile GNU CC with itself and install it in the normal
fashion.
@end enumerate
AT&T 3b1, a.k.a. 7300 PC. This version of GNU CC cannot
be compiled with the system C compiler, which is too buggy.
You will need to get a previous version of GCC and use it to
bootstrap. Binaries are available from the OSU-CIS archive, at
@url{ftp://archive.cis.ohio-state.edu/pub/att7300/}.
@item m68k-bull-sysv
Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. GNU CC works

View File

@ -939,7 +939,7 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan,
/* ??? This is disabled in genconfig, as this simple-minded
transformation can incredibly lengthen register lifetimes.
Consider this example from cexp.c's yyparse:
Consider this example:
234 (set (pc)
(if_then_else (ne (reg:DI 149) (const_int 0 [0x0]))

View File

@ -1,3 +1,8 @@
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
* POTFILES.in: Remove cccp.c and cexp.c. Comment out
alpha/vms-tramp.asm.
2000-04-05 Geoff Keating <geoffk@cygnus.com>
* POTFILES.in: Remove config/rs6000/eabi-ctors.c, which was

View File

@ -68,8 +68,6 @@ c-tree.h
c-typeck.c
caller-save.c
calls.c
cccp.c
cexp.c
../libiberty/choose-temp.c
collect2.c
combine.c
@ -94,7 +92,7 @@ config/alpha/openbsd.h
config/alpha/osf.h
config/alpha/osf12.h
config/alpha/osf2or3.h
config/alpha/vms-tramp.asm
#config/alpha/vms-tramp.asm is part of the GCC library
config/alpha/vms.h
config/alpha/vxworks.h
config/alpha/win-nt.h

View File

@ -192,7 +192,7 @@ static const unexpansion unexpansions[] = {
static const int hash_mask = (HASH_TABLE_SIZE - 1);
/* Make a table of default system include directories
just as it is done in cccp.c. */
just as it is done in cpp. */
#ifndef STANDARD_INCLUDE_DIR
#define STANDARD_INCLUDE_DIR "/usr/include"