Info file gcc.info, produced by Makeinfo, -*- Text -*- from input file gcc.texinfo. This file documents the use and the internals of the GNU compiler. Copyright (C) 1988, 1989, 1990 Free Software Foundation, Inc. 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. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the sections entitled "GNU General Public License" and "Protect Your Freedom--Fight `Look And Feel'" are included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that the sections entitled "GNU General Public License" and "Protect Your Freedom--Fight `Look And Feel'" and this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.  File: gcc.info, Node: Config, Prev: Machine Macros, Up: Top The Configuration File ********************** The configuration file `xm-MACHINE.h' contains macro definitions that describe the machine and system on which the compiler is running. Most of the values in it are actually the same on all machines that GNU CC runs on, so large parts of all configuration files are identical. But there are some macros that vary: `FAILURE_EXIT_CODE' A C expression for the status code to be returned when the compiler exits after serious errors. `SUCCESS_EXIT_CODE' A C expression for the status code to be returned when the compiler exits without serious errors. `USE_C_ALLOCA' Define this macro to indicate that the compiler is running with the `alloca' implemented in C. This version of `alloca' can be found in the file `alloca.c'; to use it, you must also alter the `Makefile' variable `ALLOCA'. This macro, unlike most, describes the machine that the compiler is running on, rather than the one the compiler is compiling for. Therefore, it should be set in the `xm-MACHINE.h' file rather than in the `tm-MACHINE.h' file. If you do define this macro, you should probably do it as follows: #ifndef __GNUC__ #define USE_C_ALLOCA #else #define alloca __builtin_alloca #endif so that when the compiler is compiled with GNU CC it uses the more efficient built-in `alloca' function. In addition, configuration files for system V define `bcopy', `bzero' and `bcmp' as aliases. Some files define `alloca' as a macro when compiled with GNU CC, in order to take advantage of the benefit of GNU CC's built-in `alloca'.