Commit f8a17e3c authored by Jason Merrill's avatar Jason Merrill
Browse files

Import gcc-2.8.1.tar.bz2

parent 03725bf0
This diff is collapsed.
1998-02-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* config.sub: Add PentiumII (i786). Add '7' to all i[3456]
entries. Add AMD and Cyrix names for P5 and P6.
1998-02-03 Philip Blundell <pb@nexus.co.uk>
* config.guess: Add support for Linux/ARM.
1998-02-03 Paul Eggert <eggert@twinsun.com>
* obstack.h (PTR_INT_TYPE): Use __PTRDIFF_TYPE__ if available.
1998-01-28 Ian Lance Taylor <ian@cygnus.com>
* config.guess: Use ${UNAME_MACHINE} rather than i386 for cygwin32
and mingw32.
Wed Jan 1 17:54:47 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
* pexecute.c (pexecute, [_WIN32]): Yes, mask termstat for mingw32.
......
......@@ -45,8 +45,8 @@ and includes all the necessary compilation tools and libraries.
what your configuration is or guesses wrong.
In those cases, specify the build machine's "configuration name"
with the `--build' option; the host and target will default to be
the same as the build machine. (If you are building a
with the `--host' option; the host and target will default to be
the same as the host machine. (If you are building a
cross-compiler, see *Note Cross-Compiler::.)
Here is an example:
......@@ -422,12 +422,12 @@ and includes all the necessary compilation tools and libraries.
This copies the files `cc1', `cpp' and `libgcc.a' to files `cc1',
`cpp' and `libgcc.a' in the directory
`/usr/local/lib/gcc-lib/TARGET/VERSION', which is where the
compiler driver program looks for them. Here TARGET is the target
machine type specified when you ran `configure', and VERSION is
the version number of GNU CC. This naming scheme permits various
versions and/or cross-compilers to coexist. It also copies the
executables for compilers for other languages (e.g., `cc1plus' for
C++) to the same directory.
compiler driver program looks for them. Here TARGET is the
canonicalized form of target machine type specified when you ran
`configure', and VERSION is the version number of GNU CC. This
naming scheme permits various versions and/or cross-compilers to
coexist. It also copies the executables for compilers for other
languages (e.g., `cc1plus' for C++) to the same directory.
This also copies the driver program `xgcc' into
`/usr/local/bin/gcc', so that it appears in typical execution
......@@ -454,8 +454,13 @@ and includes all the necessary compilation tools and libraries.
library. All I/O functionality, special class libraries, etc., are
provided by the C++ runtime library.
Here's one way to build and install a C++ runtime library for GNU
CC:
The standard C++ runtime library for GNU CC is called `libstdc++'.
An obsolescent library `libg++' may also be available, but it's
necessary only for older software that hasn't been converted yet;
if you don't know whether you need `libg++' then you probably don't
need it.
Here's one way to build and install `libstdc++' for GNU CC:
* Build and install GNU CC, so that invoking `gcc' obtains the
GNU CC that was just built.
......@@ -731,9 +736,10 @@ special things you must know:
AMD Am29050 used in a system running a variant of BSD Unix.
`decstation-*'
DECstations can support three different personalities: Ultrix, DEC
OSF/1, and OSF/rose. To configure GCC for these platforms use the
following configurations:
MIPS-based DECstations can support three different personalities:
Ultrix, DEC OSF/1, and OSF/rose. (Alpha-based DECstation products
have a configuration name beginning with `alpha-dec'.) To
configure GCC for these platforms use the following configurations:
`decstation-ultrix'
Ultrix configuration.
......@@ -825,16 +831,12 @@ special things you must know:
Use this for the SCO OpenServer Release family including 5.0.0,
5.0.2, 5.0.4, Internet FastStart 1.0, and Internet FastStart 1.1.
GNU CC can generate ELF binaries (if you specify `-melf') or COFF
binaries (the default). If you are going to build your compiler
in ELF mode (once you have bootstrapped the first stage compiler)
you *must* specify `-melf' as part of `CC', *not* `CFLAGS', for
example as `CC="stage1/xgcc -melf -Bstage1/" '. If you do not do
this, the bootstrap will generate incorrect versions of `libgcc.a'.
GNU CC can generate either ELF or COFF binaries. ELF is the
default. To get COFF output, you must specify `-mcoff' on the
command line.
You must have TLS597 (from ftp.sco.com/TLS) installed for ELF
binaries to work correctly. Note that Open Server 5.0.2 *does*
need TLS597 installed.
For 5.0.0 and 5.0.2, you must install TLS597 from ftp.sco.com/TLS.
5.0.4 and later do not require this patch.
*NOTE:* You must follow the instructions about invoking `make
bootstrap' because the native OpenServer compiler builds a
......@@ -943,7 +945,7 @@ special things you must know:
`m68000-hp-bsd'
HP 9000 series 200 running BSD. Note that the C compiler that
comes with this system cannot compile GNU CC; contact
`law@cs.utah.edu' to get binaries of GNU CC for bootstrapping.
`law@cygnus.com' to get binaries of GNU CC for bootstrapping.
`m68k-altos'
Altos 3068. You must use the GNU assembler, linker and debugger.
......@@ -1237,13 +1239,15 @@ special things you must know:
xlc-1.2.1.8, xlc-1.3.0.0 (distributed with AIX 3.2.5), and
xlc-1.3.0.19. Both xlc-1.2.1.28 and xlc-1.3.0.24 (PTF 432238) are
known to produce working versions of GNU CC, but most other recent
releases correctly bootstrap GNU CC. Also, releases of AIX prior
to AIX 3.2.4 include a version of the IBM assembler which does not
accept debugging directives: assembler updates are available as
PTFs. Also, if you are using AIX 3.2.5 or greater and the GNU
assembler, you must have a version modified after October 16th,
1995 in order for the GNU C compiler to build. See the file
`README.RS6000' for more details on of these problems.
releases correctly bootstrap GNU CC.
Release 4.3.0 of AIX and ones prior to AIX 3.2.4 include a version
of the IBM assembler which does not accept debugging directives:
assembler updates are available as PTFs. Also, if you are using
AIX 3.2.5 or greater and the GNU assembler, you must have a
version modified after October 16th, 1995 in order for the GNU C
compiler to build. See the file `README.RS6000' for more details
on any of these problems.
GNU CC does not yet support the 64-bit PowerPC instructions.
......@@ -1734,8 +1738,13 @@ must specify a 68030 as the host when you configure it.
Installing GNU CC on the Sun
============================
On Solaris (version 2.1), do not use the linker or other tools in
`/usr/ucb' to build GNU CC. Use `/usr/ccs/bin'.
On Solaris, do not use the linker or other tools in `/usr/ucb' to
build GNU CC. Use `/usr/ccs/bin'.
If the assembler reports `Error: misaligned data' when bootstrapping,
you are probably using an obsolete version of the GNU assembler.
Upgrade to the latest version of GNU `binutils', or use the Solaris
assembler.
Make sure the environment variable `FLOAT_OPTION' is not set when
you compile `libgcc.a'. If this option were set to `f68881' when
......
......@@ -1279,7 +1279,7 @@ stor-layout.o : stor-layout.c $(CONFIG_H) $(TREE_H) flags.h function.h
fold-const.o : fold-const.c $(CONFIG_H) $(TREE_H) flags.h
toplev.o : toplev.c $(CONFIG_H) $(TREE_H) $(RTL_H) bytecode.h bc-emit.h \
flags.h input.h insn-attr.h insn-codes.h insn-config.h recog.h xcoffout.h \
defaults.h output.h Makefile \
defaults.h output.h \
$(lang_options_files)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(MAYBE_USE_COLLECT2) \
-DTARGET_NAME=\"$(target_alias)\" \
......@@ -2120,7 +2120,7 @@ extraclean: distclean lang.extraclean
-rm -f *.dvi *.ps *.oaux *.d *.[zZ] *.gz
-rm -f *.tar *.xtar *diff *.diff.* *.tar.* *.xtar.* *diffs
-rm -f *lose config/*lose config/*/*lose
-rm -f *.s *.s[0-9] *.i config/ChangeLog
-rm -f *.s *.s[0-9] *.i install1.texi config/ChangeLog
-rm -f */=* */"#"* */*~*
-rm -f */patch* */*.orig */*.rej
-rm -f */*.dvi */*.oaux */*.d */*.[zZ] */*.gz
......
......@@ -35,7 +35,7 @@ have nothing to go by. Please put each e-mail address inside "<>".
Please put nothing else inside "<>". Thanks!
For a current copy of this directory, or to have yourself listed, ask:
gnu@prep.ai.mit.edu
gnu@gnu.org
** Please keep the entries in this file alphabetical **

......@@ -746,7 +746,7 @@ Crows Nest, NSW 2065
AUSTRALIA
+61 411250024
* The human face behind the bug-g++@prep.ai.mit.edu mailing list - known
* The human face behind the bug-g++@gnu.org mailing list - known
in the past as <rjl@iassf.easams.com.au> and <rjl@ot.com.au> - now
known as <rjl@wr.com.au>.
......@@ -898,6 +898,32 @@ Rates: $90-$150 / hour, negotiable, depending on many variables.
Updated: 1997-05-07

Mark P. Mitchell <mmitchell@usa.net>
3421 El Camino Real #35
Atherton, CA 94027
(650) 364-5360
http://home.earthlink.net/~mbmitchell/consulting.html
Experience
----------
I am an experienced software engineer, with particular expertise in
the field of programming tools. I am responsible for the
implementation of member templates in currently available versions of
G++ as well as many other G++ bug-fixes, and continue to work actively on
improving G++.
I am willing to work on any and all projects involving free software.
Please see my resume at the above URL for further information on
my experience and qualifications.
Rates
-----
My standard rate is $125/hr, but I am willing to negotiate flat fees, and
discounts for deserving organizations.
Updated: 1998-02-13
Erik Naggum <erik@naggum.no>
P.O. Box 1570 Vika http://www.naggum.no
0118 OSLO phone: +47 8800 8879
......@@ -1291,7 +1317,7 @@ non-profit organizations.
Updated: 1997-05-19

Leonard H. Tower Jr. <tower@prep.ai.mit.edu>
Leonard H. Tower Jr. <tower@ai.mit.edu>
36 Porter Street
Somerville, MA 02143
USA
......@@ -1300,13 +1326,14 @@ USA
Will work on most GNU software.
Installation, handholding, trouble shooting, extensions, teaching.
Rates: $ 150.00/hour + travel expenses. Negotiable for non-profits.
Rates: $ 150.00/hour + travel expenses. Fixed fee quotes available.
Negotiable for non-profits.
Experience: Have hacked on over a dozen architectures in many languages. Have
system mothered too many varieties of Unixes. Assisted rms with the front end
of gcc and its back-end support. Resume available on request.
Updated: 1997-05-24
Updated: 1998-02-10

noris network GmbH
Matthias Urlichs
......@@ -1415,6 +1442,6 @@ Updated: 1996-12-04

For a current copy of this directory, or to have yourself listed, ask:
gnu@prep.ai.mit.edu
gnu@gnu.org
** Please keep the entries in this file alphabetical **
/* A Bison parser, made from bi-parser.y
by GNU Bison version 1.25
by Bison version A2.5 (Andrew Consortium)
*/
#define YYBISON 1 /* Identify Bison output. */
......@@ -109,7 +109,7 @@ static const short yyrline[] = { 0,
#endif
#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
#if YYDEBUG != 0
static const char * const yytname[] = { "$","error","$undefined.","DEFOP",
"STRING","'('","','","')'","top","defs","def","variations","variation","opt_string",
......@@ -167,7 +167,7 @@ static const short yycheck[] = { 27,
-1, 12, -1, -1, 16
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/misc/bison.simple"
#line 3 "/usr/share/bison.simple"
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
......@@ -184,7 +184,7 @@ static const short yycheck[] = { 27,
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction.
......@@ -322,16 +322,16 @@ int yyparse (void);
#endif
#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
#define __yy_memcpy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
#else /* not GNU C or C++ */
#ifndef __cplusplus
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
__yy_memcpy (to, from, count)
char *to;
__yy_memcpy (from, to, count)
char *from;
char *to;
int count;
{
register char *f = from;
......@@ -347,7 +347,7 @@ __yy_memcpy (to, from, count)
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
__yy_memcpy (char *to, char *from, int count)
__yy_memcpy (char *from, char *to, int count)
{
register char *f = from;
register char *t = to;
......@@ -360,7 +360,7 @@ __yy_memcpy (char *to, char *from, int count)
#endif
#endif
#line 196 "/usr/share/misc/bison.simple"
#line 192 "/usr/share/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
......@@ -369,20 +369,14 @@ __yy_memcpy (char *to, char *from, int count)
to the proper pointer type. */
#ifdef YYPARSE_PARAM
#ifdef __cplusplus
#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
#define YYPARSE_PARAM_DECL
#else /* not __cplusplus */
#define YYPARSE_PARAM_ARG YYPARSE_PARAM
#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
#endif /* not __cplusplus */
#else /* not YYPARSE_PARAM */
#define YYPARSE_PARAM_ARG
#else
#define YYPARSE_PARAM
#define YYPARSE_PARAM_DECL
#endif /* not YYPARSE_PARAM */
#endif
int
yyparse(YYPARSE_PARAM_ARG)
yyparse(YYPARSE_PARAM)
YYPARSE_PARAM_DECL
{
register int yystate;
......@@ -499,12 +493,12 @@ yynewstate:
if (yystacksize > YYMAXDEPTH)
yystacksize = YYMAXDEPTH;
yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
__yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
__yy_memcpy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
__yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
__yy_memcpy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
#ifdef YYLSP_NEEDED
yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
__yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
__yy_memcpy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
#endif
#endif /* no yyoverflow */
......@@ -722,7 +716,7 @@ case 17:
break;}
}
/* the action file gets copied in in place of this dollarsign */
#line 498 "/usr/share/misc/bison.simple"
#line 487 "/usr/share/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
......
/* A Bison parser, made from c-parse.y
by GNU Bison version 1.25
by Bison version A2.5 (Andrew Consortium)
*/
#define YYBISON 1 /* Identify Bison output. */
......@@ -404,7 +404,7 @@ static const short yyrline[] = { 0,
#endif
#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
#if YYDEBUG != 0
static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
"TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
......@@ -1170,7 +1170,7 @@ static const short yycheck[] = { 40,
48, 49, 50, 51, 52
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/misc/bison.simple"
#line 3 "/usr/share/bison.simple"
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
......@@ -1187,7 +1187,7 @@ static const short yycheck[] = { 40,
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction.
......@@ -1325,16 +1325,16 @@ int yyparse (void);
#endif
#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
#define __yy_memcpy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
#else /* not GNU C or C++ */
#ifndef __cplusplus
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
__yy_memcpy (to, from, count)
char *to;
__yy_memcpy (from, to, count)
char *from;
char *to;
int count;
{
register char *f = from;
......@@ -1350,7 +1350,7 @@ __yy_memcpy (to, from, count)
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
__yy_memcpy (char *to, char *from, int count)
__yy_memcpy (char *from, char *to, int count)
{
register char *f = from;
register char *t = to;
......@@ -1363,7 +1363,7 @@ __yy_memcpy (char *to, char *from, int count)
#endif
#endif
#line 196 "/usr/share/misc/bison.simple"
#line 192 "/usr/share/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
......@@ -1372,20 +1372,14 @@ __yy_memcpy (char *to, char *from, int count)
to the proper pointer type. */
#ifdef YYPARSE_PARAM
#ifdef __cplusplus
#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
#define YYPARSE_PARAM_DECL
#else /* not __cplusplus */
#define YYPARSE_PARAM_ARG YYPARSE_PARAM
#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
#endif /* not __cplusplus */
#else /* not YYPARSE_PARAM */
#define YYPARSE_PARAM_ARG
#else
#define YYPARSE_PARAM
#define YYPARSE_PARAM_DECL
#endif /* not YYPARSE_PARAM */
#endif
int
yyparse(YYPARSE_PARAM_ARG)
yyparse(YYPARSE_PARAM)
YYPARSE_PARAM_DECL
{
register int yystate;
......@@ -1502,12 +1496,12 @@ yynewstate:
if (yystacksize > YYMAXDEPTH)
yystacksize = YYMAXDEPTH;
yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
__yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
__yy_memcpy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
__yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
__yy_memcpy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
#ifdef YYLSP_NEEDED
yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
__yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
__yy_memcpy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
#endif
#endif /* no yyoverflow */
......@@ -3652,7 +3646,7 @@ case 395:
break;}
}
/* the action file gets copied in in place of this dollarsign */
#line 498 "/usr/share/misc/bison.simple"
#line 487 "/usr/share/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
......
/* Build expressions with type checking for C compiler.
Copyright (C) 1987, 88, 91-97, 1998 Free Software Foundation, Inc.
Copyright (C) 1987, 88, 91-7, 1998 Free Software Foundation, Inc.
This file is part of GNU CC.
......@@ -88,8 +88,6 @@ static tree digest_init PROTO((tree, tree, int, int));
static void check_init_type_bitfields PROTO((tree));
static void output_init_element PROTO((tree, tree, tree, int));
static void output_pending_init_elements PROTO((int));
static void add_pending_init PROTO((tree, tree));
static int pending_init_member PROTO((tree));
/* Do `exp = require_complete_type (exp);' to make sure exp
does not have an incomplete type. (That includes void types.) */
......@@ -5096,23 +5094,11 @@ static int constructor_erroneous;
/* 1 if have called defer_addressed_constants. */
static int constructor_subconstants_deferred;
/* Structure for managing pending initializer elements, organized as an
AVL tree. */
struct init_node
{
struct init_node *left, *right;
struct init_node *parent;
int balance;
tree purpose;
tree value;
};
/* Tree of pending elements at this constructor level.
/* List of pending elements at this constructor level.
These are elements encountered out of order
which belong at places we haven't reached yet in actually
writing the output. */
static struct init_node *constructor_pending_elts;
static tree constructor_pending_elts;
/* The SPELLING_DEPTH of this constructor. */
static int constructor_depth;
......@@ -5162,7 +5148,7 @@ struct constructor_stack
tree bit_index;
tree elements;
int offset;
struct init_node *pending_elts;
tree pending_elts;
int depth;
/* If nonzero, this value should replace the entire
constructor at this level. */
......@@ -5899,251 +5885,6 @@ set_init_label (fieldname)
}
}
/* Add a new initializer to the tree of pending initializers. PURPOSE
indentifies the initializer, either array index or field in a structure.
VALUE is the value of that index or field. */
static void
add_pending_init (purpose, value)
tree purpose, value;
{
struct init_node *p, **q, *r;
q = &constructor_pending_elts;
p = 0;
if (TREE_CODE (constructor_type) == ARRAY_TYPE)
{
while (*q != 0)
{
p = *q;
if (tree_int_cst_lt (purpose, p->purpose))
q = &p->left;
else if (tree_int_cst_lt (p->purpose, purpose))
q = &p->right;
else
abort ();
}
}
else
{
while (*q != NULL)
{
p = *q;
if (tree_int_cst_lt (DECL_FIELD_BITPOS (purpose),
DECL_FIELD_BITPOS (p->purpose)))
q = &p->left;
else if (tree_int_cst_lt (DECL_FIELD_BITPOS (p->purpose),
DECL_FIELD_BITPOS (purpose)))
q = &p->right;
else
abort ();
}
}
r = (struct init_node *) oballoc (sizeof (struct init_node));
r->purpose = purpose;
r->value = value;
*q = r;
r->parent = p;
r->left = 0;
r->right = 0;
r->balance = 0;
while (p)
{
struct init_node *s;
if (r == p->left)
{
if (p->balance == 0)
p->balance = -1;
else if (p->balance < 0)
{
if (r->balance < 0)
{
/* L rotation. */
p->left = r->right;
if (p->left)
p->left->parent = p;
r->right = p;
p->balance = 0;
r->balance = 0;
s = p->parent;
p->parent = r;
r->parent = s;
if (s)
{
if (s->left == p)
s->left = r;
else
s->right = r;
}
else
constructor_pending_elts = r;
}
else
{
/* LR rotation. */
struct init_node *t = r->right;