Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
redox-os
gcc
Commits
f8a17e3c
Commit
f8a17e3c
authored
Jul 15, 2013
by
Jason Merrill
Browse files
Import gcc-2.8.1.tar.bz2
parent
03725bf0
Changes
132
Expand all
Hide whitespace changes
Inline
Side-by-side
gcc/ChangeLog
View file @
f8a17e3c
This diff is collapsed.
Click to expand it.
gcc/ChangeLog.lib
View file @
f8a17e3c
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.
...
...
gcc/INSTALL
View file @
f8a17e3c
...
...
@@ -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
@
c
s
.
utah
.
edu
' to get binaries of GNU CC for bootstrapping.
`
law
@
c
ygnus
.
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
...
...
gcc/Makefile.in
View file @
f8a17e3c
...
...
@@ -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
...
...
gcc/SERVICE
View file @
f8a17e3c
...
...
@@ -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: 199
7
-0
5-24
Updated: 199
8
-0
2-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 **
gcc/bi-parser.c
View file @
f8a17e3c
/* 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 021
11-1307
, USA. */
Foundation, Inc.,
675 Mass Ave, Cambridge
, MA 021
39
, 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 19
6
"/usr/share/
misc/
bison.simple"
#line 19
2
"/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
*
)
yyss
1
,
size
*
sizeof
(
*
yyssp
));
__yy_memcpy
((
char
*
)
yyss
1
,
(
char
*
)
yyss
,
size
*
sizeof
(
*
yyssp
));
yyvs
=
(
YYSTYPE
*
)
alloca
(
yystacksize
*
sizeof
(
*
yyvsp
));
__yy_memcpy
((
char
*
)
yyvs
,
(
char
*
)
yyvs
1
,
size
*
sizeof
(
*
yyvsp
));
__yy_memcpy
((
char
*
)
yyvs
1
,
(
char
*
)
yyvs
,
size
*
sizeof
(
*
yyvsp
));
#ifdef YYLSP_NEEDED
yyls
=
(
YYLTYPE
*
)
alloca
(
yystacksize
*
sizeof
(
*
yylsp
));
__yy_memcpy
((
char
*
)
yyls
,
(
char
*
)
yyls
1
,
size
*
sizeof
(
*
yylsp
));
__yy_memcpy
((
char
*
)
yyls
1
,
(
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 4
9
8 "/usr/share/
misc/
bison.simple"
#line 48
7
"/usr/share/bison.simple"
yyvsp
-=
yylen
;
yyssp
-=
yylen
;
...
...
gcc/c-parse.c
View file @
f8a17e3c
/* 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 021
11-1307
, USA. */
Foundation, Inc.,
675 Mass Ave, Cambridge
, MA 021
39
, 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 19
6
"/usr/share/
misc/
bison.simple"
#line 19
2
"/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
*
)
yyss
1
,
size
*
sizeof
(
*
yyssp
));
__yy_memcpy
((
char
*
)
yyss
1
,
(
char
*
)
yyss
,
size
*
sizeof
(
*
yyssp
));
yyvs
=
(
YYSTYPE
*
)
alloca
(
yystacksize
*
sizeof
(
*
yyvsp
));
__yy_memcpy
((
char
*
)
yyvs
,
(
char
*
)
yyvs
1
,
size
*
sizeof
(
*
yyvsp
));
__yy_memcpy
((
char
*
)
yyvs
1
,
(
char
*
)
yyvs
,
size
*
sizeof
(
*
yyvsp
));
#ifdef YYLSP_NEEDED
yyls
=
(
YYLTYPE
*
)
alloca
(
yystacksize
*
sizeof
(
*
yylsp
));
__yy_memcpy
((
char
*
)
yyls
,
(
char
*
)
yyls
1
,
size
*
sizeof
(
*
yylsp
));
__yy_memcpy
((
char
*
)
yyls
1
,
(
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 4
9
8 "/usr/share/
misc/
bison.simple"
#line 48
7
"/usr/share/bison.simple"
yyvsp
-=
yylen
;
yyssp
-=
yylen
;
...
...
gcc/c-typeck.c
View file @
f8a17e3c
/* Build expressions with type checking for C compiler.
Copyright (C) 1987, 88, 91-
9
7, 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
s
tr
uct
init_nod
e
*
constructor_pending_elts
;
static
tr
e
e
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
;
s
tr
uct
init_nod
e
*
pending_elts
;
tr
e
e
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
;