Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
3496c0be
Commit
3496c0be
authored
Dec 15, 1997
by
Jason Merrill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
From-SVN: r17110
parent
4bfc4dda
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
172 additions
and
81 deletions
+172
-81
gcc/cp/g++FAQ.texi
+172
-81
No files found.
gcc/cp/g++FAQ.texi
View file @
3496c0be
...
...
@@ -3,7 +3,7 @@
@setfilename
g
++
FAQ
.
info
@settitle
Frequently
asked
questions
about
the
GNU
C
++
compiler
@setchapternewpage
off
@c
version
:
@
(
#
)
g
++
FAQ
.
texi
1
.
5
6
09
/
15
/
97
@c
version
:
@
(
#
)
g
++
FAQ
.
texi
1
.
5
7
12
/
14
/
97
@c
%**
end
of
header
@iftex
...
...
@@ -12,7 +12,7 @@
@titlepage
@title
G
++
FAQ
@subtitle
Frequently
asked
questions
about
the
GNU
C
++
compiler
@subtitle
Sept
ember
14
,
1997
@subtitle
Dec
ember
14
,
1997
@sp
1
@author
Joe
Buck
@page
...
...
@@ -35,15 +35,14 @@ all those who sent suggestions for improvements. Thanks to Marcus Speh
for
doing
the
index
.
A
hypertext
version
is
available
on
the
World
Wide
Web
at
@file
{
http
:
//www.cygnus.com/misc/g++FAQ_toc.html}.
This
document
has
just
been
reorganized
a
bit
.
There
is
some
new
information
about
upcoming
g
++
releases
and
egcs
;
more
needs
to
be
done
but
that
will
need
to
wait
for
next
time
.
A
diff
would
look
misleadingly
large
,
since
I
blew
away
and
rebuilt
the
texinfo
menus
.
@strong
{
News
flash
}
:
egcs
has
been
released
,
and
the
2
.
8
.
0
release
is
expected
very
soon
!
Please
send
updates
and
corrections
to
the
FAQ
to
@code
{
jbuck
@@synopsys
.
com
}.
Please
do
@emph
{
not
}
use
me
as
a
resource
to
get
your
questions
answered
;
that
'
s
what
@file
{
gnu
.
g
++
.
help
}
is
for
and
I
don
'
t
have
the
time
to
support
the
net
'
s
use
of
g
++
.
don
'
t
have
the
time
to
support
the
net
'
s
use
of
g
++
.
If
you
ignore
this
request
your
message
to
me
may
be
deleted
without
a
reply
.
Sorry
.
Many
FAQs
,
including
this
one
,
are
available
on
the
archive
site
``
rtfm
.
mit
.
edu
''
;
see
@
*
...
...
@@ -64,6 +63,7 @@ or in HTML form at @file{http://www.cerfnet.com/~mpcline/On-Line-C++-FAQs/}.
@menu
*
basics
::
What
is
g
++
?
How
do
I
get
it
?
*
egcs
and
2
.
8
.
0
::
The
next
generation
(
s
)
of
g
++
*
installation
::
How
to
install
,
installation
problems
*
evolution
::
The
Evolution
of
g
++
*
User
Problems
::
Commonly
reported
problems
and
bugs
...
...
@@ -81,6 +81,14 @@ The basics: what is g++?
*
g
++
for
other
platforms
::
*
1
.
x
vs
2
.
x
versions
::
The
Next
Generation
(
s
)
of
g
++
*
egcs
-
intro
::
What
is
egcs
?
*
egcs
-
whats
-
new
:
:
What
'
s
new
in
egcs
vs
2
.
7
.
2
?
*
egcs
-
run
-
both
:
:
How
can
I
run
both
egcs
and
an
FSF
release
?
*
egcs
-
vs
-
2
.
8
.
0
:
:
How
will
egcs
affect
2
.
8
.
0
?
*
egcs
-
robustness
:
:
How
robust
is
egcs
-
1
.
0
?
Installation
Issues
and
Problems
*
gcc
-
2
+
g
++-
1
:
:
...
...
@@ -102,11 +110,8 @@ Installation Issues and Problems
The
Evolution
of
g
++
*
version
2
.
7
.
x
::
*
version
2
.
7
.
x
::
What
'
s
changed
in
2
.
7
.
x
from
earlier
versions
*
libstdc
++::
*
new
work
::
*
egcs
::
*
When
?:
:
User
Problems
...
...
@@ -138,7 +143,7 @@ User Problems
*
assignment
to
streams
::
@end
menu
@node
basics
,
installation
,
Top
,
Top
@node
basics
,
egcs
and
2
.
8
.
0
,
Top
,
Top
@chapter
The
basics
:
what
is
g
++
?
@cindex
Free
Software
Foundation
...
...
@@ -167,6 +172,11 @@ or GPL (@pxref{legalities}).
@node
latest
versions
,
g
++
for
Unix
,
basics
,
basics
@section
What
is
the
latest
version
of
gcc
,
g
++
,
and
libg
++
?
@cindex
egcs
release
The
egcs
project
(
on
the
Web
:
@file
{
http
:
//www.cygnus.com/egcs/}) has
now
released
egcs
-
1
.
0
as
of
December
3
,
1997
.
@cindex
gcc
/
g
++
,
version
date
The
current
version
of
gcc
/
g
++
is
2
.
7
.
2
.
3
,
released
August
20
,
1997
.
Although
that
looks
very
recent
,
the
only
change
is
a
minor
patch
to
...
...
@@ -436,7 +446,144 @@ install the C++ compiler as well.
One
could
argue
that
we
shouldn
'
t
even
refer
to
"g++-2.x.y"
but
it
'
s
a
convention
.
It
means
``
the
C
++
compiler
included
with
gcc
-
2
.
x
.
y
.
''
@node
installation
,
evolution
,
basics
,
Top
@node
egcs
and
2
.
8
.
0
,
installation
,
basics
,
Top
@chapter
The
Next
Generation
(
s
)
of
g
++
@menu
*
egcs
-
intro
:
:
What
is
egcs
?
*
egcs
-
whats
-
new
:
:
What
'
s
new
in
egcs
vs
2
.
7
.
2
?
*
egcs
-
run
-
both
:
:
How
can
I
run
both
egcs
and
an
FSF
release
?
*
egcs
-
vs
-
2
.
8
.
0
:
:
How
will
egcs
affect
2
.
8
.
0
?
*
egcs
-
robustness
:
:
How
robust
is
egcs
-
1
.
0
?
@end
menu
@node
egcs
-
intro
,
egcs
-
whats
-
new
,
egcs
and
2
.
8
.
0
,
egcs
and
2
.
8
.
0
@section
What
is
egcs
?
egcs
is
the
Experimental
GNU
compiler
system
(
see
@file{
http
:
//www.cygnus.com/egcs} on the Web). It is an effort to
accelerate
development
of
new
gcc
features
by
providing
a
more
open
development
model
than
gcc
has
traditionally
used
.
The
first
egcs
release
,
egcs
-
1
.
0
,
came
out
on
December
3
,
1997
.
Questions
not
addressed
here
may
be
answered
in
the
egcs
FAQ
(
@file{
http
:
//www.cygnus.com/egcs/faq.html}).
@node
egcs
-
whats
-
new
,
egcs
-
run
-
both
,
egcs
-
intro
,
egcs
and
2
.
8
.
0
@section
What
new
C
++
features
are
in
egcs
?
@strong{
Note
}
:
unless
indicated
otherwise
,
these
features
are
expected
to
be
present
in
g
++
2
.
8
.
0
when
released
.
@itemize
@bullet
@item
@cindex
integrated
libstdc
++
The
standard
C
++
classes
are
integrated
with
the
egcs
release
(
this
is
@emph
{
not
}
expected
to
be
true
of
gcc
-
2
.
8
.
0
).
libg
++
is
not
being
supported
,
though
a
version
that
will
work
with
egcs
has
been
contributed
(
FIXME
:
pointer
?).
The
compiler
and
library
are
configured
and
built
in
one
step
.
@item
@cindex
new
template
implementation
A
completely
new
template
implementation
,
much
closer
to
the
draft
standard
.
Limitations
in
2
.
7
.
2
.
x
concerning
inlining
template
functions
will
be
eliminated
.
Static
template
data
members
,
template
class
member
functions
,
partial
specification
,
and
default
template
arguments
will
be
supported
.
An
instantiation
method
resembling
that
used
in
Borland
C
++
(
instantiating
functions
possibly
in
multiple
.
o
files
and
using
weak
symbols
to
link
correctly
)
is
provided
,
in
addition
to
other
options
.
The
SGI
version
of
STL
is
shipped
verbatim
with
libstdc
++
.
@item
@cindex
redundant
template
elimination
@cindex
templates
:
removing
redundancy
On
ELF
platforms
(
Linux
/
ELF
,
Solaris
,
SVR4
),
if
the
GNU
linker
is
used
,
duplicated
template
functions
and
virtual
function
tables
are
eliminated
at
link
time
.
@item
@cindex
repository
@cindex
-
frepo
The
@code
{
-
frepo
}
flag
is
supported
in
egcs
(
it
will
not
be
in
2
.
8
.
0
).
However
,
because
of
the
previous
item
,
I
don
'
t
recommend
its
use
on
ELF
systems
.
@item
@cindex
new
exception
implementation
Exception
handling
has
been
re
-
worked
;
exceptions
will
work
together
with
optimization
.
Actually
,
there
are
two
separate
implementations
:
one
based
on
setjmp
/
longjmp
and
designed
to
be
highly
portable
,
and
one
designed
to
be
more
efficient
but
requiring
more
processor
-
specific
support
(
getting
exceptions
right
has
proven
to
be
extremely
difficult
and
has
been
the
chief
obstacle
to
getting
a
new
release
out
).
@item
@cindex
RTTI
RTTI
has
been
re
-
done
to
work
correctly
and
is
on
by
default
.
@item
@cindex
overloading
Overloading
has
been
re
-
worked
to
conform
to
the
latest
draft
of
the
standard
.
@item
There
are
many
more
changes
:
see
@file
{
http
:
//www.cygnus.com/egcs/c++features.html} for a list.
@end
itemize
Features
that
are
still
missing
include
namespaces
and
templates
as
template
arguments
.
@node
egcs
-
run
-
both
,
egcs
-
vs
-
2
.
8
.
0
,
egcs
-
whats
-
new
,
egcs
and
2
.
8
.
0
@section
How
can
I
run
both
egcs
and
an
FSF
release
of
g
++
on
the
same
machine
?
The
recommended
approach
is
to
provide
a
different
argument
to
the
@code{
--
prefix
}
flag
when
you
configure
egcs
.
For
example
,
say
@code{
--
prefix
=/
usr
/
local
/
egcs
}
and
then
,
after
installation
,
you
can
make
symbolic
links
from
@file{
/
usr
/
local
/
egcs
/
bin
}
to
whereever
you
want
,
for
example
@example
ln
-
s
/
usr
/
local
/
egcs
/
bin
/
gcc
/
usr
/
local
/
bin
/
egcc
ln
-
s
/
usr
/
local
/
egcs
/
bin
/
g
++
/
usr
/
local
/
bin
/
eg
++
@end
example
@node
egcs
-
vs
-
2
.
8
.
0
,
egcs
-
robustness
,
egcs
-
run
-
both
,
egcs
and
2
.
8
.
0
@section
What
about
2
.
8
.
0
?
How
does
egcs
affect
the
2
.
8
.
x
development
?
2
.
8
.
0
is
expected
Real
Soon
Now
(
I
would
guess
by
the
end
of
1997
,
but
that
is
only
a
guess
).
The
C
++
front
end
should
be
essentially
the
same
.
Bug
fixes
generated
in
egcs
will
be
passed
to
the
2
.
8
.
x
releases
for
inclusion
;
the
reverse
is
also
taking
place
,
though
a
bug
fix
may
appear
in
one
before
it
does
in
the
other
.
@node
egcs
-
robustness
,
,
egcs
-
vs
-
2
.
8
.
0
,
egcs
and
2
.
8
.
0
@section
How
solid
is
egcs
-
1
.
0
?
While
the
'e'
stands
for
'
experimental
'
,
egcs
has
been
tested
thoroughly
and
should
be
of
high
quality
.
There
are
a
few
glitches
which
should
be
fixed
shortly
(
in
a
1
.
0
.
1
release
,
probably
in
early
January
):
@itemize
@bullet
@item
Deeply
nested
templates
sometimes
lead
to
a
very
large
memory
requirement
if
the
@code{
-
Wreturn
-
type
}
option
is
on
(
note
:
this
flag
is
implicitly
turned
on
by
@code{
-
W
}
or
@code{
-
Wall
}
.
A
workaround
is
to
give
the
flag
@code{
-
Wno
-
return
-
type
}
if
you
use
@code{
-
Wall
}
.
@item
On
Red
Hat
5
.
0
,
it
may
be
necessary
to
link
all
C
++
programs
with
@code{
-
lpthread
}
to
work
around
an
undefined
symbol
problem
.
@item
A
patch
is
needed
to
fix
egcs
on
Solaris
/
X86
.
It
is
in
the
egcs
FAQ
(
see
above
).
@end
itemize
@node
installation
,
evolution
,
egcs
and
2
.
8
.
0
,
Top
@chapter
Installation
Issues
and
Problems
@menu
...
...
@@ -554,6 +701,11 @@ debug format (e.g. Suns running SunOS 4.x), the GNU linker compresses
the
debug
symbol
table
considerably
.
The
2
.
7
version
adds
some
symbol
table
compression
for
ELF
and
Solaris
targets
.
Users
of
egcs
or
2
.
8
.
0
(
when
released
)
on
ELF
systems
should
definitely
use
GNU
ld
(
2
.
8
or
later
),
as
it
will
automatically
remove
duplicate
instantiations
of
templates
,
virtual
function
tables
,
or
``
outlined
''
copies
of
inline
functions
.
@cindex
collect
linker
,
advantages
Advantages
of
collect
:
...
...
@@ -951,10 +1103,7 @@ in the future.
@menu
*
version
2
.
7
.
x
::
What
'
s
changed
in
2
.
7
.
x
from
earlier
versions
*
libstdc
++
::
The
GNU
C
++
standard
library
*
new
work
::
What
'
s
been
done
since
2
.
7
.
x
*
egcs
:
:
The
Experimental
GNU
Compiler
System
*
When
?:
:
When
can
I
get
all
this
new
stuff
?
*
libstdc
++
::
@end
menu
@node
version
2
.
7
.
x
,
libstdc
++
,
evolution
,
evolution
...
...
@@ -1086,7 +1235,7 @@ though they are not needed).
@end
itemize
@node
libstdc
++
,
new
work
,
version
2
.
7
.
x
,
evolution
@node
libstdc
++
,
,
version
2
.
7
.
x
,
evolution
@section
The
GNU
Standard
C
++
Library
The
GNU
Standard
C
++
Library
(
also
called
the
``
GNU
ANSI
C
++
Library
''
...
...
@@ -1112,67 +1261,6 @@ The maintainers of libg++ have de-emphasized work on the older libg++ classes
in
favor
of
enhancing
libstdc
++
to
cover
the
full
language
,
so
while
libg
++
will
always
be
available
,
enhancements
to
it
should
not
be
expected
.
@node
new
work
,
egcs
,
libstdc
++
,
evolution
@section
What
can
we
expect
in
future
gcc
releases
?
A
great
deal
of
work
has
gone
into
enhancements
to
the
C
++
front
end
,
as
well
as
to
other
aspects
of
the
compiler
.
The
next
major
release
(
s
)
of
gcc
/
g
++
can
be
expected
to
have
the
following
features:
@itemize
@bullet
@cindex
new
template
implementation
@item
A
completely
new
template
implementation
,
much
closer
to
the
draft
standard
.
Limitations
in
2
.
7
.
2
.
x
concerning
inlining
template
functions
will
be
eliminated
.
Static
template
data
members
,
template
class
member
functions
,
partial
specification
,
and
default
template
arguments
will
be
supported
.
An
instantiation
method
resembling
that
used
in
Borland
C
++
(
instantiating
functions
possibly
in
multiple
.
o
files
and
using
weak
symbols
to
link
correctly
)
will
be
provided
,
in
addition
to
other
options
.
The
SGI
version
of
STL
will
be
shipped
with
libstdc
++
and
will
compile
unchanged
.
@item
@cindex
new
exception
implementation
Exception
handling
has
been
re
-
worked
;
exceptions
will
work
together
with
optimization
.
Actually
,
there
are
two
separate
implementations
:
one
based
on
setjmp
/
longjmp
and
designed
to
be
highly
portable
,
and
one
designed
to
be
more
efficient
but
requiring
more
processor
-
specific
support
(
getting
exceptions
right
has
proven
to
be
extremely
difficult
and
has
been
the
chief
obstacle
to
getting
a
new
release
out
).
@item
@cindex
RTTI
RTTI
has
been
re
-
done
to
work
correctly
and
is
on
by
default
.
@item
@cindex
overloading
Overloading
has
been
re
-
worked
to
conform
to
the
latest
draft
of
the
standard
.
@end
itemize
Features
that
are
still
missing
include
namespaces
and
templates
as
template
arguments
.
@node
egcs
,
When
?,
new
work
,
evolution
@section
What
'
s
this
I
hear
about
egcs
?
The
egcs
effort
is
a
new
effort
to
merge
several
threads
of
gcc
development
and
to
provide
a
faster
development
process
.
For
more
information
see
@file{
http
:
//www.cygnus.com/egcs/}.
@node
When
?,
,
egcs
,
evolution
@section
OK
,
when
can
I
get
this
stuff
?
The
FSF
has
a
policy
of
never
announcing
release
dates
in
advance
.
I
'
m
sure
this
is
frustrating
to
a
lot
of
people
,
since
it
'
s
taken
so
long
,
and
this
frustration
was
one
of
the
reasons
the
egcs
effort
was
created
.
An
egcs
release
should
be
expected
to
occur
in
the
very
near
future
.
[
More
on
this
next
time
].
@node
User
Problems
,
legalities
,
evolution
,
Top
@chapter
User
Problems
...
...
@@ -1620,8 +1708,11 @@ another manual @file{libio/iostream.texi} describing the iostreams
implementation
.
@item
While
there
is
no
libg
++-
specific
document
describing
the
STL
implementation
,
SGI
'
s
web
site
,
at
@file{
http
:
//www.sgi.com/Technology/STL/},
is
an
excellent
resource
.
implementation
,
SGI
'
s
web
site
,
at
@file{
http
:
//www.sgi.com/Technology/STL/}, is an excellent resource.
Note
that
the
SGI
version
of
STL
is
the
one
that
is
included
with
the
egcs
and
2
.
8
.
0
(
when
it
occurs
)
releases
of
g
++
.
@end
itemize
@node
templates
,
undefined
templates
,
documentation
,
User
Problems
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment