configopts.html: Minor updates and typo fixes.
2001-02-15 Phil Edwards <pme@sources.redhat.com> * docs/html/configopts.html: Minor updates and typo fixes. * docs/html/faq/index.html: Updates of the "not really bugs" list. * docs/html/faq/index.txt: Regenerated. From-SVN: r39727
This commit is contained in:
parent
6472877ae0
commit
777c951742
|
@ -1,3 +1,9 @@
|
||||||
|
2001-02-15 Phil Edwards <pme@sources.redhat.com>
|
||||||
|
|
||||||
|
* docs/html/configopts.html: Minor updates and typo fixes.
|
||||||
|
* docs/html/faq/index.html: Updates of the "not really bugs" list.
|
||||||
|
* docs/html/faq/index.txt: Regenerated.
|
||||||
|
|
||||||
2001-02-15 Gabriel Dos Reis <gdr@codesourcery.com>
|
2001-02-15 Gabriel Dos Reis <gdr@codesourcery.com>
|
||||||
|
|
||||||
* testsuite/lib/libstdc++.exp: Lift, temporarily, out of
|
* testsuite/lib/libstdc++.exp: Lift, temporarily, out of
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<META NAME="GENERATOR" CONTENT="vi and eight fingers">
|
<META NAME="GENERATOR" CONTENT="vi and eight fingers">
|
||||||
<TITLE>libstdc++-v3 configure options</TITLE>
|
<TITLE>libstdc++-v3 configure options</TITLE>
|
||||||
<LINK REL=StyleSheet HREF="lib3styles.css">
|
<LINK REL=StyleSheet HREF="lib3styles.css">
|
||||||
<!-- $Id: configopts.html,v 1.5 2001/01/30 09:18:50 bkoz Exp $ -->
|
<!-- $Id: configopts.html,v 1.6 2001/02/07 00:03:20 pme Exp $ -->
|
||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY>
|
<BODY>
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ options</A></H1>
|
||||||
I/O package (from
|
I/O package (from
|
||||||
<A HREF="http://sources.redhat.com/glibc/">glibc</A>, the
|
<A HREF="http://sources.redhat.com/glibc/">glibc</A>, the
|
||||||
GNU C library), or 'stdio' to use a generic "C"
|
GNU C library), or 'stdio' to use a generic "C"
|
||||||
abstraction. The default is 'stdio'.
|
abstraction. The default is 'stdio'.
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<DT><TT>--enable-clocale </TT>
|
<DT><TT>--enable-clocale </TT>
|
||||||
|
@ -81,7 +81,7 @@ options</A></H1>
|
||||||
HREF="http://sources.redhat.com/glibc/">glibc</A>, the GNU C
|
HREF="http://sources.redhat.com/glibc/">glibc</A>, the GNU C
|
||||||
library), or 'generic' to use a generic "C"
|
library), or 'generic' to use a generic "C"
|
||||||
abstraction which consists of "C" locale info.
|
abstraction which consists of "C" locale info.
|
||||||
The default is 'generic'.
|
The default is 'generic'.
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<DT><TT>--enable-long-long </TT>
|
<DT><TT>--enable-long-long </TT>
|
||||||
|
@ -98,10 +98,9 @@ options</A></H1>
|
||||||
|
|
||||||
<DT><TT>--enable-cheaders=OPTION </TT>
|
<DT><TT>--enable-cheaders=OPTION </TT>
|
||||||
<DD><P>This allows the user to define what kind of C headers are
|
<DD><P>This allows the user to define what kind of C headers are
|
||||||
used. Options are: c, c_std, and c_shadow. These correspond
|
used. Options are: c, c_std, and c_shadow. These correspond
|
||||||
to the source directory's include/c, include/c_std, and
|
to the source directory's include/c, include/c_std, and
|
||||||
include/c_shadow directories.
|
include/c_shadow directories. The default is c_std.
|
||||||
The default is c_std.
|
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<DT><TT>--enable-threads </TT>
|
<DT><TT>--enable-threads </TT>
|
||||||
|
@ -151,25 +150,24 @@ options</A></H1>
|
||||||
flags to the compiler to use when building libstdc++. FLAGS
|
flags to the compiler to use when building libstdc++. FLAGS
|
||||||
is a quoted string of options, like
|
is a quoted string of options, like
|
||||||
<PRE>
|
<PRE>
|
||||||
--enable-cxx-flags='-fsquangle -fvtable-gc -ansi'</PRE>
|
--enable-cxx-flags='-fvtable-gc -fomit-frame-pointer -ansi'</PRE>
|
||||||
Note that the flags don't necessarily have to all be -f flags,
|
Note that the flags don't necessarily have to all be -f flags,
|
||||||
as shown, but usually those are the ones that will make sense
|
as shown, but usually those are the ones that will make sense
|
||||||
for experimentation and configure-time overriding.
|
for experimentation and configure-time overriding.
|
||||||
</P>
|
</P>
|
||||||
<P>The advantage of --enable-cxx-flags over setting CXXFLAGS in
|
<P>The advantage of --enable-cxx-flags over setting CXXFLAGS in
|
||||||
the 'make' environment is that, if libgcc is automatically
|
the 'make' environment is that, if files are automatically
|
||||||
rebuilt, the same flags will be used when compiling those files
|
rebuilt, the same flags will be used when compiling those files
|
||||||
as well, so that everything matches.
|
as well, so that everything matches.
|
||||||
</P>
|
</P>
|
||||||
<P>Fun flags to try might include combinations of
|
<P>Fun flags to try might include combinations of
|
||||||
<PRE>
|
<PRE>
|
||||||
-fstrict-aliasing
|
-fstrict-aliasing
|
||||||
-fnew-abi
|
-fno-exceptions
|
||||||
-fnew-exceptions
|
|
||||||
-ffunction-sections
|
-ffunction-sections
|
||||||
-fvtable-gc</PRE>
|
-fvtable-gc</PRE>
|
||||||
and -fno- forms of the same. Tell us (the mailing list) if
|
and opposite forms (-fno-) of the same. Tell us (the mailing
|
||||||
you discover more!
|
list) if you discover more!
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<DT><TT>--enable-c-mbchar </TT>[default]
|
<DT><TT>--enable-c-mbchar </TT>[default]
|
||||||
|
@ -178,7 +176,7 @@ options</A></H1>
|
||||||
changing rapidly, and can cause problems on new platforms.
|
changing rapidly, and can cause problems on new platforms.
|
||||||
Disabling wide character specializations is useful for initial
|
Disabling wide character specializations is useful for initial
|
||||||
porting steps, but builds only a subset of what is required by
|
porting steps, but builds only a subset of what is required by
|
||||||
ISO. Default is on, but the <TT>--enable-c_stdio=stdio </TT>
|
ISO. Default is on, but the <TT>--enable-cstdio=stdio </TT>
|
||||||
option currently turns it off.
|
option currently turns it off.
|
||||||
</P>
|
</P>
|
||||||
</DL>
|
</DL>
|
||||||
|
@ -192,7 +190,7 @@ options</A></H1>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<P CLASS="fineprint"><EM>
|
<P CLASS="fineprint"><EM>
|
||||||
$Id: configopts.html,v 1.5 2001/01/30 09:18:50 bkoz Exp $
|
$Id: configopts.html,v 1.6 2001/02/07 00:03:20 pme Exp $
|
||||||
</EM></P>
|
</EM></P>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
** Locations of "the most recent snapshot is the Nth" text are
|
** Locations of "the most recent snapshot is the Nth" text are
|
||||||
** answers 1_1, 1_4, 4_1, 5_6.
|
** answers 1_1, 1_4, 4_1, 5_6.
|
||||||
-->
|
-->
|
||||||
<!-- $Id: index.html,v 1.1 2000/12/10 04:04:56 pme Exp $ -->
|
<!-- $Id: index.html,v 1.2 2001/01/23 17:02:27 pme Exp $ -->
|
||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY>
|
<BODY>
|
||||||
|
|
||||||
|
@ -62,8 +62,14 @@ http://gcc.gnu.org/onlinedocs/libstdc++/faq/</A>.</P>
|
||||||
<LI><A HREF="#4_2">Bugs in gcc/g++ (not libstdc++-v3)</A>
|
<LI><A HREF="#4_2">Bugs in gcc/g++ (not libstdc++-v3)</A>
|
||||||
<LI><A HREF="#4_3">Bugs in the C++ language/lib specification</A>
|
<LI><A HREF="#4_3">Bugs in the C++ language/lib specification</A>
|
||||||
<LI><A HREF="#4_4">Things in libstdc++ that look like bugs</A>
|
<LI><A HREF="#4_4">Things in libstdc++ that look like bugs</A>
|
||||||
<BR><A HREF="#4_4_interface">The g++-3 headers are
|
<UL>
|
||||||
<STRONG>not ours</STRONG></A>
|
<LI><A HREF="#4_4_Weff">-Weffc++ complains too much</A>
|
||||||
|
<LI><A HREF="#4_4_rel_ops">"ambiguous overloads"
|
||||||
|
after including an old-style header</A>
|
||||||
|
<LI><A HREF="#4_4_interface">The g++-3 headers are
|
||||||
|
<STRONG>not ours</STRONG></A>
|
||||||
|
<LI><A HREF="#4_4_glibc">compilation errors from streambuf.h</A>
|
||||||
|
</UL>
|
||||||
<LI><A HREF="#4_5">Aw, that's easy to fix!</A>
|
<LI><A HREF="#4_5">Aw, that's easy to fix!</A>
|
||||||
</OL>
|
</OL>
|
||||||
|
|
||||||
|
@ -489,44 +495,66 @@ to the list</A>, Nathan Myers announced that he has started a list of
|
||||||
<H2><A NAME="4_4">4.4 Things in libstdc++ that look like bugs</A></H2>
|
<H2><A NAME="4_4">4.4 Things in libstdc++ that look like bugs</A></H2>
|
||||||
<P>There are things which are not bugs in the compiler (4.2) nor
|
<P>There are things which are not bugs in the compiler (4.2) nor
|
||||||
the language specification (4.3), but aren't really bugs in
|
the language specification (4.3), but aren't really bugs in
|
||||||
libstdc++, either. Really!
|
libstdc++, either. Really! Please do not report these as bugs.
|
||||||
</P>
|
</P>
|
||||||
<P>The biggest of these is the quadzillions of warnings about the
|
<A NAME="4_4_Weff">
|
||||||
library headers emitted when <TT>-Weffc++</TT> is used. Making
|
<P>The biggest of these is the quadzillions of warnings about the
|
||||||
libstdc++ "-Weffc++-clean" is not a goal of the project,
|
library headers emitted when <TT>-Weffc++</TT> is used. Making
|
||||||
for a few reasons. Mainly, that option tries to enforce
|
libstdc++ "-Weffc++-clean" is not a goal of the project,
|
||||||
object-oriented programming, while the Standard Library isn't
|
for a few reasons. Mainly, that option tries to enforce
|
||||||
necessarily trying to be OO. There are multiple solutions
|
object-oriented programming, while the Standard Library isn't
|
||||||
under discussion.
|
necessarily trying to be OO. There are multiple solutions
|
||||||
</P>
|
under discussion.
|
||||||
<P>Another is the <TT>rel_ops</TT> namespace and the template
|
</P>
|
||||||
comparison operator functions contained therein. If they become
|
</A>
|
||||||
visible in the same namespace as other comparison functions
|
<A NAME="4_4_rel_ops">
|
||||||
(e.g., '<TT>using</TT>' them and the <iterator> header),
|
<P>Another is the <TT>rel_ops</TT> namespace and the template
|
||||||
then you will suddenly be faced with huge numbers of ambiguity
|
comparison operator functions contained therein. If they become
|
||||||
errors. This was discussed on the -v3 list; Nathan Myers
|
visible in the same namespace as other comparison functions
|
||||||
<A HREF="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html">sums
|
(e.g., '<TT>using</TT>' them and the <iterator> header),
|
||||||
things up here</A>.
|
then you will suddenly be faced with huge numbers of ambiguity
|
||||||
</P>
|
errors. This was discussed on the -v3 list; Nathan Myers
|
||||||
<H3><A NAME="4_4_interface">The g++-3 headers are
|
<A HREF="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html">sums
|
||||||
<EM>not ours</EM></A></H3>
|
things up here</A>.
|
||||||
<P>If you have found an extremely broken header file which is
|
</P>
|
||||||
causing problems for you, look carefully before submitting a
|
</A>
|
||||||
"high" priority bug report (which you probably shouldn't
|
<A NAME="4_4_interface"><H3>The g++-3 headers are
|
||||||
do anyhow; see the last paragraph of the page describing
|
<EM>not ours</EM></H3>
|
||||||
|
<P>If you have found an extremely broken header file which is
|
||||||
|
causing problems for you, look carefully before submitting a
|
||||||
|
"high" priority bug report (which you probably shouldn't
|
||||||
|
do anyhow; see the last paragraph of the page describing
|
||||||
<A HREF="http://gcc.gnu.org/gnatswrite.html">the GCC bug database</A>).
|
<A HREF="http://gcc.gnu.org/gnatswrite.html">the GCC bug database</A>).
|
||||||
</P>
|
</P>
|
||||||
<P>If the headers are in <CODE>${prefix}/include/g++-3</CODE>, then
|
<P>If the headers are in <CODE>${prefix}/include/g++-3</CODE>, then
|
||||||
you are using the old libstdc++-v2 library, which is nonstandard
|
you are using the old libstdc++-v2 library, which is nonstandard
|
||||||
and unmaintained. Do not report problems with -v2 to the -v3
|
and unmaintained. Do not report problems with -v2 to the -v3
|
||||||
mailing list.
|
mailing list.
|
||||||
</P>
|
</P>
|
||||||
<P>Currently our header files are installed in
|
<P>Currently our header files are installed in
|
||||||
<CODE>${prefix}/include/g++-v3</CODE> (see the 'v'?). This may
|
<CODE>${prefix}/include/g++-v3</CODE> (see the 'v'?). This may
|
||||||
change with the next release of GCC, as it may be too confusing,
|
change with the next release of GCC, as it may be too confusing,
|
||||||
but <A HREF="http://gcc.gnu.org/ml/gcc/2000-10/msg00732.html">the
|
but <A HREF="http://gcc.gnu.org/ml/gcc/2000-10/msg00732.html">the
|
||||||
question has not yet been decided</A>.
|
question has not yet been decided</A>.
|
||||||
</P>
|
</P>
|
||||||
|
</A>
|
||||||
|
<A NAME="4_4_glibc">
|
||||||
|
<P>If you're on a GNU/Linux system and have just upgraded to
|
||||||
|
glibc 2.2, but are still using gcc 2.95.2, then you should have
|
||||||
|
read the glibc FAQ, specifically 2.34:
|
||||||
|
<PRE>
|
||||||
|
2.34. When compiling C++ programs, I get a compilation error in streambuf.h.
|
||||||
|
|
||||||
|
{BH} You are using g++ 2.95.2? After upgrading to glibc 2.2, you need to
|
||||||
|
apply a patch to the include files in /usr/include/g++, because the fpos_t
|
||||||
|
type has changed in glibc 2.2. The patch is at
|
||||||
|
http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
|
||||||
|
</PRE>
|
||||||
|
Note that 2.95.x shipped with the
|
||||||
|
<A HREF="#4_4_interface">old v2 library</A> which is no longer
|
||||||
|
maintained.
|
||||||
|
</P>
|
||||||
|
</A>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<H2><A NAME="4_5">4.5 Aw, that's easy to fix!</A></H2>
|
<H2><A NAME="4_5">4.5 Aw, that's easy to fix!</A></H2>
|
||||||
|
@ -534,8 +562,8 @@ to the list</A>, Nathan Myers announced that he has started a list of
|
||||||
a working fix, then send it in! The main GCC site has a page
|
a working fix, then send it in! The main GCC site has a page
|
||||||
on <A HREF="http://gcc.gnu.org/contribute.html">submitting
|
on <A HREF="http://gcc.gnu.org/contribute.html">submitting
|
||||||
patches</A> that covers the procedure, but for libstdc++ you
|
patches</A> that covers the procedure, but for libstdc++ you
|
||||||
should of course send the patch to our mailing list, not the
|
should also send the patch to our mailing list in addition to
|
||||||
GCC mailing list. The libstdc++
|
the GCC patches mailing list. The libstdc++
|
||||||
<A HREF="../17_intro/contribute.html">contributors' page</A>
|
<A HREF="../17_intro/contribute.html">contributors' page</A>
|
||||||
also talks about how to submit patches.
|
also talks about how to submit patches.
|
||||||
</P>
|
</P>
|
||||||
|
@ -678,7 +706,7 @@ HREF="http://gcc.gnu.org/ml/libstdc++/1999/msg00084.html">speculation</A>.
|
||||||
Comments and suggestions are welcome, and may be sent to
|
Comments and suggestions are welcome, and may be sent to
|
||||||
<A HREF="mailto:pme@sources.redhat.com">Phil Edwards</A> or
|
<A HREF="mailto:pme@sources.redhat.com">Phil Edwards</A> or
|
||||||
<A HREF="mailto:gdr@gcc.gnu.org">Gabriel Dos Reis</A>.
|
<A HREF="mailto:gdr@gcc.gnu.org">Gabriel Dos Reis</A>.
|
||||||
<BR> $Id: index.html,v 1.1 2000/12/10 04:04:56 pme Exp $
|
<BR> $Id: index.html,v 1.2 2001/01/23 17:02:27 pme Exp $
|
||||||
</EM></P>
|
</EM></P>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -33,17 +33,21 @@
|
||||||
2. [23]Bugs in gcc/g++ (not libstdc++-v3)
|
2. [23]Bugs in gcc/g++ (not libstdc++-v3)
|
||||||
3. [24]Bugs in the C++ language/lib specification
|
3. [24]Bugs in the C++ language/lib specification
|
||||||
4. [25]Things in libstdc++ that look like bugs
|
4. [25]Things in libstdc++ that look like bugs
|
||||||
[26]The g++-3 headers are not ours
|
o [26]-Weffc++ complains too much
|
||||||
5. [27]Aw, that's easy to fix!
|
o [27]"ambiguous overloads" after including an old-style
|
||||||
5. [28]Miscellaneous
|
header
|
||||||
1. [29]string::iterator is not char*; vector<T>::iterator is not
|
o [28]The g++-3 headers are not ours
|
||||||
|
o [29]compilation errors from streambuf.h
|
||||||
|
5. [30]Aw, that's easy to fix!
|
||||||
|
5. [31]Miscellaneous
|
||||||
|
1. [32]string::iterator is not char*; vector<T>::iterator is not
|
||||||
T*
|
T*
|
||||||
2. [30]What's next after libstdc++-v3?
|
2. [33]What's next after libstdc++-v3?
|
||||||
3. [31]What about the STL from SGI?
|
3. [34]What about the STL from SGI?
|
||||||
4. [32]Extensions and Backward Compatibility
|
4. [35]Extensions and Backward Compatibility
|
||||||
5. [33]Compiling with "-fnew-abi"
|
5. [36]Compiling with "-fnew-abi"
|
||||||
6. [34]Is libstdc++-v3 thread-safe?
|
6. [37]Is libstdc++-v3 thread-safe?
|
||||||
7. [35]How do I get a copy of the ISO C++ Standard?
|
7. [38]How do I get a copy of the ISO C++ Standard?
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
1.0 General Information
|
1.0 General Information
|
||||||
|
@ -54,13 +58,13 @@
|
||||||
ongoing project to implement the ISO 14882 Standard C++ library as
|
ongoing project to implement the ISO 14882 Standard C++ library as
|
||||||
described in chapters 17 through 27 and annex D. As the library
|
described in chapters 17 through 27 and annex D. As the library
|
||||||
reaches stable plateaus, it is captured in a snapshot and released.
|
reaches stable plateaus, it is captured in a snapshot and released.
|
||||||
The current release is [36]the tenth snapshot. For those who want to
|
The current release is [39]the tenth snapshot. For those who want to
|
||||||
see exactly how far the project has come, or just want the latest
|
see exactly how far the project has come, or just want the latest
|
||||||
bleeding-edge code, the up-to-date source is available over anonymous
|
bleeding-edge code, the up-to-date source is available over anonymous
|
||||||
CVS, and can even be browsed over the Web (see below).
|
CVS, and can even be browsed over the Web (see below).
|
||||||
|
|
||||||
A more formal description of the V3 goals can be found in the official
|
A more formal description of the V3 goals can be found in the official
|
||||||
[37]design document.
|
[40]design document.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
1.2 Why should I use libstdc++?
|
1.2 Why should I use libstdc++?
|
||||||
|
@ -73,8 +77,8 @@
|
||||||
|
|
||||||
The GNU C/C++/FORTRAN/<pick-a-language> compiler (gcc, g++, etc) is
|
The GNU C/C++/FORTRAN/<pick-a-language> compiler (gcc, g++, etc) is
|
||||||
widely considered to be one of the leading compilers in the world. Its
|
widely considered to be one of the leading compilers in the world. Its
|
||||||
development has recently been taken over by the [38]GCC team. All of
|
development has recently been taken over by the [41]GCC team. All of
|
||||||
the rapid development and near-legendary [39]portability that are the
|
the rapid development and near-legendary [42]portability that are the
|
||||||
hallmarks of an open-source project are being applied to libstdc++.
|
hallmarks of an open-source project are being applied to libstdc++.
|
||||||
|
|
||||||
That means that all of the Standard classes and functions (such as
|
That means that all of the Standard classes and functions (such as
|
||||||
|
@ -92,16 +96,16 @@
|
||||||
|
|
||||||
Development and discussion is held on the libstdc++ mailing list.
|
Development and discussion is held on the libstdc++ mailing list.
|
||||||
Subscribing to the list, or searching the list archives, is open to
|
Subscribing to the list, or searching the list archives, is open to
|
||||||
everyone. You can read instructions for doing so on the [40]homepage.
|
everyone. You can read instructions for doing so on the [43]homepage.
|
||||||
If you have questions, ideas, code, or are just curious, sign up!
|
If you have questions, ideas, code, or are just curious, sign up!
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
1.4 How do I get libstdc++?
|
1.4 How do I get libstdc++?
|
||||||
|
|
||||||
The tenth (and latest) snapshot of libstdc++-v3 is [41]available via
|
The tenth (and latest) snapshot of libstdc++-v3 is [44]available via
|
||||||
ftp.
|
ftp.
|
||||||
|
|
||||||
The [42]homepage has instructions for retrieving the latest CVS
|
The [45]homepage has instructions for retrieving the latest CVS
|
||||||
sources, and for browsing the CVS sources over the web.
|
sources, and for browsing the CVS sources over the web.
|
||||||
|
|
||||||
The subset commonly known as the Standard Template Library (chapters
|
The subset commonly known as the Standard Template Library (chapters
|
||||||
|
@ -117,7 +121,7 @@
|
||||||
|
|
||||||
1.6 How do I contribute to the effort?
|
1.6 How do I contribute to the effort?
|
||||||
|
|
||||||
Here is [43]a page devoted to this topic. Subscribing to the mailing
|
Here is [46]a page devoted to this topic. Subscribing to the mailing
|
||||||
list (see above, or the homepage) is a very good idea if you have
|
list (see above, or the homepage) is a very good idea if you have
|
||||||
something to contribute, or if you have spare time and want to help.
|
something to contribute, or if you have spare time and want to help.
|
||||||
Contributions don't have to be in the form of source code; anybody who
|
Contributions don't have to be in the form of source code; anybody who
|
||||||
|
@ -152,11 +156,11 @@
|
||||||
extracted into an updated utilities library, but nobody has stated
|
extracted into an updated utilities library, but nobody has stated
|
||||||
such a project yet.
|
such a project yet.
|
||||||
|
|
||||||
(The [44]Boost site houses free C++ libraries that do varying things,
|
(The [47]Boost site houses free C++ libraries that do varying things,
|
||||||
and happened to be started by members of the Standards Committee.
|
and happened to be started by members of the Standards Committee.
|
||||||
Certain "useful stuff" classes will probably migrate there.)
|
Certain "useful stuff" classes will probably migrate there.)
|
||||||
|
|
||||||
For the bold and/or desperate, the [45]GCC FAQ describes where to find
|
For the bold and/or desperate, the [48]GCC FAQ describes where to find
|
||||||
the last libg++ source.
|
the last libg++ source.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
|
@ -166,11 +170,11 @@
|
||||||
remains unanswered, then just ask the mailing list. At present, you do
|
remains unanswered, then just ask the mailing list. At present, you do
|
||||||
not need to be subscribed to the list to send a message to it. More
|
not need to be subscribed to the list to send a message to it. More
|
||||||
information is available on the homepage (including how to browse the
|
information is available on the homepage (including how to browse the
|
||||||
list archives); to send to the list, use [46]libstdc++@gcc.gnu.org.
|
list archives); to send to the list, use [49]libstdc++@gcc.gnu.org.
|
||||||
|
|
||||||
If you have a question that you think should be included here, or if
|
If you have a question that you think should be included here, or if
|
||||||
you have a question about a question/answer here, contact [47]Phil
|
you have a question about a question/answer here, contact [50]Phil
|
||||||
Edwards or [48]Gabriel Dos Reis.
|
Edwards or [51]Gabriel Dos Reis.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
2.0 Installation
|
2.0 Installation
|
||||||
|
@ -184,15 +188,15 @@
|
||||||
GCC is much easier and more automated than building the GCC 2.[78]
|
GCC is much easier and more automated than building the GCC 2.[78]
|
||||||
series was.
|
series was.
|
||||||
* If you plan on hacking around with the makefiles, you will need
|
* If you plan on hacking around with the makefiles, you will need
|
||||||
the tools [49]autoconfand [50]automake.
|
the tools [52]autoconfand [53]automake.
|
||||||
* GNU Make is the only make that supports these makefiles.
|
* GNU Make is the only make that supports these makefiles.
|
||||||
|
|
||||||
The file [51]documentation.html provides a good overview of the steps
|
The file [54]documentation.html provides a good overview of the steps
|
||||||
necessary to build, install, and use the library. Instructions for
|
necessary to build, install, and use the library. Instructions for
|
||||||
configuring the library with new flags such as --enable-threads are
|
configuring the library with new flags such as --enable-threads are
|
||||||
there also.
|
there also.
|
||||||
|
|
||||||
The top-level install.html and [52]RELEASE-NOTES files contain the
|
The top-level install.html and [55]RELEASE-NOTES files contain the
|
||||||
exact build and installation instructions. You may wish to browse
|
exact build and installation instructions. You may wish to browse
|
||||||
those files over CVSweb ahead of time to get a feel for what's
|
those files over CVSweb ahead of time to get a feel for what's
|
||||||
required. RELEASE-NOTES is located in the ".../docs/17_intro/"
|
required. RELEASE-NOTES is located in the ".../docs/17_intro/"
|
||||||
|
@ -210,8 +214,8 @@
|
||||||
|
|
||||||
The Concurrent Versions System is one of several revision control
|
The Concurrent Versions System is one of several revision control
|
||||||
packages. It was selected for GNU projects because it's free (speech),
|
packages. It was selected for GNU projects because it's free (speech),
|
||||||
free (beer), and very high quality. The [53]CVS entry in the GNU
|
free (beer), and very high quality. The [56]CVS entry in the GNU
|
||||||
software catalogue has a better description as well as a [54]link to
|
software catalogue has a better description as well as a [57]link to
|
||||||
the makers of CVS.
|
the makers of CVS.
|
||||||
|
|
||||||
The "anonymous client checkout" feature of CVS is similar to anonymous
|
The "anonymous client checkout" feature of CVS is similar to anonymous
|
||||||
|
@ -281,9 +285,9 @@
|
||||||
doesn't prevent hanging elsewhere.
|
doesn't prevent hanging elsewhere.
|
||||||
|
|
||||||
You have two options. You can get a newer cygwin1.dll (see the Cygwin
|
You have two options. You can get a newer cygwin1.dll (see the Cygwin
|
||||||
paragraph in the [55]installation instructions). Or you can get a
|
paragraph in the [58]installation instructions). Or you can get a
|
||||||
prebuilt set of bits/std_limits.h and src/limitsMEMBERS.cc files from
|
prebuilt set of bits/std_limits.h and src/limitsMEMBERS.cc files from
|
||||||
Mumit Khan's [56]Cygwin-related website.
|
Mumit Khan's [59]Cygwin-related website.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
3.3 Building DEC OSF kills the assembler
|
3.3 Building DEC OSF kills the assembler
|
||||||
|
@ -294,7 +298,7 @@
|
||||||
install GNU as and arrange for the GCC build to use it (or merge the
|
install GNU as and arrange for the GCC build to use it (or merge the
|
||||||
sources and build it during the bootstrap).
|
sources and build it during the bootstrap).
|
||||||
|
|
||||||
Anyone who [57]knows the DEC assembler well enough to provide the
|
Anyone who [60]knows the DEC assembler well enough to provide the
|
||||||
equivalent of these two pseudos would win praise and accolades from
|
equivalent of these two pseudos would win praise and accolades from
|
||||||
many.
|
many.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
@ -374,23 +378,23 @@ New:
|
||||||
|
|
||||||
4.3 Bugs in the C++ language/lib specification
|
4.3 Bugs in the C++ language/lib specification
|
||||||
|
|
||||||
Yes, unfortunately, there are some. In a [58]message to the list,
|
Yes, unfortunately, there are some. In a [61]message to the list,
|
||||||
Nathan Myers announced that he has started a list of problems in the
|
Nathan Myers announced that he has started a list of problems in the
|
||||||
ISO C++ Standard itself, especially with regard to the chapters that
|
ISO C++ Standard itself, especially with regard to the chapters that
|
||||||
concern the library. The list itself is [59]posted on his website.
|
concern the library. The list itself is [62]posted on his website.
|
||||||
Developers who are having problems interpreting the Standard may wish
|
Developers who are having problems interpreting the Standard may wish
|
||||||
to consult his notes.
|
to consult his notes.
|
||||||
|
|
||||||
For those people who are not part of the ISO Library Group (i.e.,
|
For those people who are not part of the ISO Library Group (i.e.,
|
||||||
nearly all of us needing to read this page in the first place :-), a
|
nearly all of us needing to read this page in the first place :-), a
|
||||||
public list of the library defects is occasionally published [60]here.
|
public list of the library defects is occasionally published [63]here.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
4.4 Things in libstdc++ that look like bugs
|
4.4 Things in libstdc++ that look like bugs
|
||||||
|
|
||||||
There are things which are not bugs in the compiler (4.2) nor the
|
There are things which are not bugs in the compiler (4.2) nor the
|
||||||
language specification (4.3), but aren't really bugs in libstdc++,
|
language specification (4.3), but aren't really bugs in libstdc++,
|
||||||
either. Really!
|
either. Really! Please do not report these as bugs.
|
||||||
|
|
||||||
The biggest of these is the quadzillions of warnings about the library
|
The biggest of these is the quadzillions of warnings about the library
|
||||||
headers emitted when -Weffc++ is used. Making libstdc++
|
headers emitted when -Weffc++ is used. Making libstdc++
|
||||||
|
@ -404,14 +408,14 @@ New:
|
||||||
namespace as other comparison functions (e.g., 'using' them and the
|
namespace as other comparison functions (e.g., 'using' them and the
|
||||||
<iterator> header), then you will suddenly be faced with huge numbers
|
<iterator> header), then you will suddenly be faced with huge numbers
|
||||||
of ambiguity errors. This was discussed on the -v3 list; Nathan Myers
|
of ambiguity errors. This was discussed on the -v3 list; Nathan Myers
|
||||||
[61]sums things up here.
|
[64]sums things up here.
|
||||||
|
|
||||||
The g++-3 headers are not ours
|
The g++-3 headers are not ours
|
||||||
|
|
||||||
If you have found an extremely broken header file which is causing
|
If you have found an extremely broken header file which is causing
|
||||||
problems for you, look carefully before submitting a "high" priority
|
problems for you, look carefully before submitting a "high" priority
|
||||||
bug report (which you probably shouldn't do anyhow; see the last
|
bug report (which you probably shouldn't do anyhow; see the last
|
||||||
paragraph of the page describing [62]the GCC bug database).
|
paragraph of the page describing [65]the GCC bug database).
|
||||||
|
|
||||||
If the headers are in ${prefix}/include/g++-3, then you are using the
|
If the headers are in ${prefix}/include/g++-3, then you are using the
|
||||||
old libstdc++-v2 library, which is nonstandard and unmaintained. Do
|
old libstdc++-v2 library, which is nonstandard and unmaintained. Do
|
||||||
|
@ -419,23 +423,37 @@ New:
|
||||||
|
|
||||||
Currently our header files are installed in ${prefix}/include/g++-v3
|
Currently our header files are installed in ${prefix}/include/g++-v3
|
||||||
(see the 'v'?). This may change with the next release of GCC, as it
|
(see the 'v'?). This may change with the next release of GCC, as it
|
||||||
may be too confusing, but [63]the question has not yet been decided.
|
may be too confusing, but [66]the question has not yet been decided.
|
||||||
|
|
||||||
|
If you're on a GNU/Linux system and have just upgraded to glibc 2.2,
|
||||||
|
but are still using gcc 2.95.2, then you should have read the glibc
|
||||||
|
FAQ, specifically 2.34:
|
||||||
|
2.34. When compiling C++ programs, I get a compilation error in streambuf.h.
|
||||||
|
|
||||||
|
{BH} You are using g++ 2.95.2? After upgrading to glibc 2.2, you need to
|
||||||
|
apply a patch to the include files in /usr/include/g++, because the fpos_t
|
||||||
|
type has changed in glibc 2.2. The patch is at
|
||||||
|
http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
|
||||||
|
|
||||||
|
|
||||||
|
Note that 2.95.x shipped with the [67]old v2 library which is no
|
||||||
|
longer maintained.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
4.5 Aw, that's easy to fix!
|
4.5 Aw, that's easy to fix!
|
||||||
|
|
||||||
If you have found a bug in the library and you think you have a
|
If you have found a bug in the library and you think you have a
|
||||||
working fix, then send it in! The main GCC site has a page on
|
working fix, then send it in! The main GCC site has a page on
|
||||||
[64]submitting patches that covers the procedure, but for libstdc++
|
[68]submitting patches that covers the procedure, but for libstdc++
|
||||||
you should of course send the patch to our mailing list, not the GCC
|
you should also send the patch to our mailing list in addition to the
|
||||||
mailing list. The libstdc++ [65]contributors' page also talks about
|
GCC patches mailing list. The libstdc++ [69]contributors' page also
|
||||||
how to submit patches.
|
talks about how to submit patches.
|
||||||
|
|
||||||
In addition to the description, the patch, and the ChangeLog entry, it
|
In addition to the description, the patch, and the ChangeLog entry, it
|
||||||
is a Good Thing if you can additionally create a small test program to
|
is a Good Thing if you can additionally create a small test program to
|
||||||
test for the presence of the bug that your patch fixes. Bugs have a
|
test for the presence of the bug that your patch fixes. Bugs have a
|
||||||
way of being reintroduced; if an old bug creeps back in, it will be
|
way of being reintroduced; if an old bug creeps back in, it will be
|
||||||
caught immediately by the [66]testsuite -- but only if such a test
|
caught immediately by the [70]testsuite -- but only if such a test
|
||||||
exists.
|
exists.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
|
@ -473,13 +491,13 @@ New:
|
||||||
Bugfixes and rewrites (to improve or fix thread safety, for instance)
|
Bugfixes and rewrites (to improve or fix thread safety, for instance)
|
||||||
will of course be a continuing task.
|
will of course be a continuing task.
|
||||||
|
|
||||||
[67]This question about the next libstdc++ prompted some brief but
|
[71]This question about the next libstdc++ prompted some brief but
|
||||||
interesting [68]speculation.
|
interesting [72]speculation.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
5.3 What about the STL from SGI?
|
5.3 What about the STL from SGI?
|
||||||
|
|
||||||
The [69]STL from SGI is merged into libstdc++-v3 with changes as
|
The [73]STL from SGI is merged into libstdc++-v3 with changes as
|
||||||
necessary. Currently release 3.3 is being used. Changes in the STL
|
necessary. Currently release 3.3 is being used. Changes in the STL
|
||||||
usually produce some weird bugs and lots of changes in the rest of the
|
usually produce some weird bugs and lots of changes in the rest of the
|
||||||
libstdc++ source as we scramble to keep up. :-)
|
libstdc++ source as we scramble to keep up. :-)
|
||||||
|
@ -500,13 +518,13 @@ New:
|
||||||
#include <ext/hash_map>
|
#include <ext/hash_map>
|
||||||
|
|
||||||
|
|
||||||
Extensions to the library have [70]their own page.
|
Extensions to the library have [74]their own page.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
5.5 Compiling with "-fnew-abi"
|
5.5 Compiling with "-fnew-abi"
|
||||||
|
|
||||||
Towards the end of July 1999, this subject was brought up again on the
|
Towards the end of July 1999, this subject was brought up again on the
|
||||||
mailing list under a different name. The related [71]thread (by the
|
mailing list under a different name. The related [75]thread (by the
|
||||||
name HOWTO-honor-std) is very instructive. More info is at the end of
|
name HOWTO-honor-std) is very instructive. More info is at the end of
|
||||||
RELEASE-NOTES.
|
RELEASE-NOTES.
|
||||||
|
|
||||||
|
@ -520,8 +538,8 @@ New:
|
||||||
|
|
||||||
This is assuming that your idea of "multithreaded" is the same as
|
This is assuming that your idea of "multithreaded" is the same as
|
||||||
ours... The general question of multithreading and libstdc++-v3 is
|
ours... The general question of multithreading and libstdc++-v3 is
|
||||||
addressed in the chapter-specific advice for [72]Library Introduction.
|
addressed in the chapter-specific advice for [76]Library Introduction.
|
||||||
Threadsafe containers are covered in more detail in [73]the Received
|
Threadsafe containers are covered in more detail in [77]the Received
|
||||||
Wisdom section on containers.
|
Wisdom section on containers.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
|
@ -533,17 +551,17 @@ New:
|
||||||
their two-meeting commitment for voting rights, may get a copy of the
|
their two-meeting commitment for voting rights, may get a copy of the
|
||||||
standard from their respective national standards organization. In the
|
standard from their respective national standards organization. In the
|
||||||
USA, this national standards organization is ANSI and their website is
|
USA, this national standards organization is ANSI and their website is
|
||||||
right [74]here. (And if you've already registered with them, clicking
|
right [78]here. (And if you've already registered with them, clicking
|
||||||
this link will take you to directly to the place where you can [75]buy
|
this link will take you to directly to the place where you can [79]buy
|
||||||
the standard on-line.
|
the standard on-line.
|
||||||
|
|
||||||
Who is your country's member body? Visit the [76]ISO homepage and find
|
Who is your country's member body? Visit the [80]ISO homepage and find
|
||||||
out!
|
out!
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Comments and suggestions are welcome, and may be sent to [77]Phil
|
Comments and suggestions are welcome, and may be sent to [81]Phil
|
||||||
Edwards or [78]Gabriel Dos Reis.
|
Edwards or [82]Gabriel Dos Reis.
|
||||||
$Id: index.html,v 1.1 2000/12/10 04:04:56 pme Exp $
|
$Id: index.html,v 1.2 2001/01/23 17:02:27 pme Exp $
|
||||||
|
|
||||||
References
|
References
|
||||||
|
|
||||||
|
@ -572,56 +590,60 @@ References
|
||||||
23. ../faq/index.html#4_2
|
23. ../faq/index.html#4_2
|
||||||
24. ../faq/index.html#4_3
|
24. ../faq/index.html#4_3
|
||||||
25. ../faq/index.html#4_4
|
25. ../faq/index.html#4_4
|
||||||
26. ../faq/index.html#4_4_interface
|
26. ../faq/index.html#4_4_Weff
|
||||||
27. ../faq/index.html#4_5
|
27. ../faq/index.html#4_4_rel_ops
|
||||||
28. ../faq/index.html#5_0
|
28. ../faq/index.html#4_4_interface
|
||||||
29. ../faq/index.html#5_1
|
29. ../faq/index.html#4_4_glibc
|
||||||
30. ../faq/index.html#5_2
|
30. ../faq/index.html#4_5
|
||||||
31. ../faq/index.html#5_3
|
31. ../faq/index.html#5_0
|
||||||
32. ../faq/index.html#5_4
|
32. ../faq/index.html#5_1
|
||||||
33. ../faq/index.html#5_5
|
33. ../faq/index.html#5_2
|
||||||
34. ../faq/index.html#5_6
|
34. ../faq/index.html#5_3
|
||||||
35. ../faq/index.html#5_7
|
35. ../faq/index.html#5_4
|
||||||
36. ftp://gcc.gnu.org/pub/libstdc++/libstdc++-2.91.tar.gz
|
36. ../faq/index.html#5_5
|
||||||
37. ../17_intro/DESIGN
|
37. ../faq/index.html#5_6
|
||||||
38. http://gcc.gnu.org/
|
38. ../faq/index.html#5_7
|
||||||
39. http://gcc.gnu.org/gcc-2.95/buildstat.html
|
39. ftp://gcc.gnu.org/pub/libstdc++/libstdc++-2.91.tar.gz
|
||||||
40. http://gcc.gnu.org/libstdc++/
|
40. ../17_intro/DESIGN
|
||||||
41. ftp://gcc.gnu.org/pub/libstdc++/libstdc++-2.91.tar.gz
|
41. http://gcc.gnu.org/
|
||||||
42. http://gcc.gnu.org/libstdc++/
|
42. http://gcc.gnu.org/gcc-2.95/buildstat.html
|
||||||
43. ../17_intro/contribute.html
|
43. http://gcc.gnu.org/libstdc++/
|
||||||
44. http://www.boost.org/
|
44. ftp://gcc.gnu.org/pub/libstdc++/libstdc++-2.91.tar.gz
|
||||||
45. http://gcc.gnu.org/fom_serv/cache/33.html
|
45. http://gcc.gnu.org/libstdc++/
|
||||||
46. mailto:libstdc++@gcc.gnu.org
|
46. ../17_intro/contribute.html
|
||||||
47. mailto:pme@sources.redhat.com
|
47. http://www.boost.org/
|
||||||
48. mailto:gdr@gcc.gnu.org
|
48. http://gcc.gnu.org/fom_serv/cache/33.html
|
||||||
49. http://sources.redhat.com/autoconf/
|
49. mailto:libstdc++@gcc.gnu.org
|
||||||
50. http://sources.redhat.com/automake/
|
50. mailto:pme@sources.redhat.com
|
||||||
51. ../documentation.html
|
51. mailto:gdr@gcc.gnu.org
|
||||||
52. ../17_intro/RELEASE-NOTES
|
52. http://sources.redhat.com/autoconf/
|
||||||
53. http://www.gnu.org/software/cvs/cvs.html
|
53. http://sources.redhat.com/automake/
|
||||||
54. http://www.cyclic.com/
|
54. ../documentation.html
|
||||||
55. ../install.html
|
55. ../17_intro/RELEASE-NOTES
|
||||||
56. http://www.xraylith.wisc.edu/~khan/software/gnu-win32/libstdc++-v3.html
|
56. http://www.gnu.org/software/cvs/cvs.html
|
||||||
57. http://gcc.gnu.org/ml/libstdc++/2000-12/msg00279.html
|
57. http://www.cyclic.com/
|
||||||
58. http://gcc.gnu.org/ml/libstdc++/1998/msg00006.html
|
58. ../install.html
|
||||||
59. http://www.cantrip.org/draft-bugs.txt
|
59. http://www.xraylith.wisc.edu/~khan/software/gnu-win32/libstdc++-v3.html
|
||||||
60. http://anubis.dkuug.dk/jtc1/sc22/wg21/
|
60. http://gcc.gnu.org/ml/libstdc++/2000-12/msg00279.html
|
||||||
61. http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html
|
61. http://gcc.gnu.org/ml/libstdc++/1998/msg00006.html
|
||||||
62. http://gcc.gnu.org/gnatswrite.html
|
62. http://www.cantrip.org/draft-bugs.txt
|
||||||
63. http://gcc.gnu.org/ml/gcc/2000-10/msg00732.html
|
63. http://anubis.dkuug.dk/jtc1/sc22/wg21/
|
||||||
64. http://gcc.gnu.org/contribute.html
|
64. http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html
|
||||||
65. ../17_intro/contribute.html
|
65. http://gcc.gnu.org/gnatswrite.html
|
||||||
66. ../faq/index.html#2_4
|
66. http://gcc.gnu.org/ml/gcc/2000-10/msg00732.html
|
||||||
67. http://gcc.gnu.org/ml/libstdc++/1999/msg00080.html
|
67. ../faq/index.html#4_4_interface
|
||||||
68. http://gcc.gnu.org/ml/libstdc++/1999/msg00084.html
|
68. http://gcc.gnu.org/contribute.html
|
||||||
69. http://www.sgi.com/Technology/STL/
|
69. ../17_intro/contribute.html
|
||||||
70. ../ext/howto.html
|
70. ../faq/index.html#2_4
|
||||||
71. http://gcc.gnu.org/ml/libstdc++/1999-q3/msg00066.html
|
71. http://gcc.gnu.org/ml/libstdc++/1999/msg00080.html
|
||||||
72. http://gcc.gnu.org/libstdc++/17_intro/howto.html#3
|
72. http://gcc.gnu.org/ml/libstdc++/1999/msg00084.html
|
||||||
73. http://gcc.gnu.org/libstdc++/23_containers/howto.html
|
73. http://www.sgi.com/Technology/STL/
|
||||||
74. http://www.ansi.org/
|
74. ../ext/howto.html
|
||||||
75. http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998
|
75. http://gcc.gnu.org/ml/libstdc++/1999-q3/msg00066.html
|
||||||
76. http://www.iso.ch/
|
76. http://gcc.gnu.org/libstdc++/17_intro/howto.html#3
|
||||||
77. mailto:pme@sources.redhat.com
|
77. http://gcc.gnu.org/libstdc++/23_containers/howto.html
|
||||||
78. mailto:gdr@gcc.gnu.org
|
78. http://www.ansi.org/
|
||||||
|
79. http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998
|
||||||
|
80. http://www.iso.ch/
|
||||||
|
81. mailto:pme@sources.redhat.com
|
||||||
|
82. mailto:gdr@gcc.gnu.org
|
||||||
|
|
Loading…
Reference in New Issue