Sync with the documentation from wwwdocs.

2000-11-29  Phil Edwards  <pme@sources.redhat.com>

	Sync with the documentation from wwwdocs.
	* docs/Makefile:  New file (rebuilds FAQ text version).
	* docs/configopts.html:  Update.
	* docs/documentation.html:  Update.
	* docs/download.html:  Update.
	* docs/index.html:  Update.
	* docs/install.html:  Update.
	* docs/links.html:  Update.
	* docs/mail.html:  Update.
	* docs/status.html:  Update.
	* docs/thanks.html:  Update.
	* docs/27_io/howto.html:  Update.
	* docs/faq/index.html:  Update for 2.91.
	* docs/faq/index.txt:  Update for 2.91.
	* docs/footer.html:  Removed.
	* docs/footer.ihtml:  New file.
	* docs/gccrebuild.html:  Removed.
	* docs/header.html:  Removed.
	* docs/header.ihtml:  New file.

From-SVN: r37855
This commit is contained in:
Phil Edwards 2000-11-29 20:37:02 +00:00
parent 78cd99d0ab
commit 58884590a0
18 changed files with 474 additions and 550 deletions

View File

@ -1,3 +1,25 @@
2000-11-29 Phil Edwards <pme@sources.redhat.com>
Sync with the documentation from wwwdocs.
* docs/Makefile: New file (rebuilds FAQ text version).
* docs/configopts.html: Update.
* docs/documentation.html: Update.
* docs/download.html: Update.
* docs/index.html: Update.
* docs/install.html: Update.
* docs/links.html: Update.
* docs/mail.html: Update.
* docs/status.html: Update.
* docs/thanks.html: Update.
* docs/27_io/howto.html: Update.
* docs/faq/index.html: Update for 2.91.
* docs/faq/index.txt: Update for 2.91.
* docs/footer.html: Removed.
* docs/footer.ihtml: New file.
* docs/gccrebuild.html: Removed.
* docs/header.html: Removed.
* docs/header.ihtml: New file.
2000-11-29 Loren J. Rittle <ljrittle@acm.org>
* tests_flags.in: Correct typo.

View File

@ -9,7 +9,7 @@
<TITLE>libstdc++-v3 HOWTO: Chapter 27</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/docs/27_io/">
<LINK REL=StyleSheet HREF="../lib3styles.css">
<!-- $Id: howto.html,v 1.2 2000/07/11 21:45:08 pme Exp $ -->
<!-- $Id: howto.html,v 1.4 2000/11/10 00:28:21 gerald Exp $ -->
</HEAD>
<BODY>
@ -336,7 +336,7 @@
Comments and suggestions are welcome, and may be sent to
<A HREF="mailto:pme@sources.redhat.com">Phil Edwards</A> or
<A HREF="mailto:gdr@gcc.gnu.org">Gabriel Dos Reis</A>.
<BR> $Id: howto.html,v 1.2 2000/07/11 21:45:08 pme Exp $
<BR> $Id: howto.html,v 1.4 2000/11/10 00:28:21 gerald Exp $
</EM></P>

View File

@ -0,0 +1,5 @@
faq/index.txt: faq/index.html
lynx -dump faq/index.html | sed "s%file://localhost`pwd`%..%" > $@

View File

@ -1,7 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="AUTHOR" CONTENT="pme@sources.redhat.com (Phil Edwards)">
<META NAME="KEYWORDS" CONTENT="libstdc++, libstdc++-v3, GCC, g++">
<META NAME="DESCRIPTION" CONTENT="Configuration options for libstdc++-v3.">
@ -9,7 +8,7 @@
<TITLE>libstdc++-v3 configure options</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: configopts.html,v 1.15 2000/10/26 14:56:04 bkoz Exp $ -->
<!-- $Id: configopts.html,v 1.18 2000/11/16 22:19:52 gerald Exp $ -->
</HEAD>
<BODY>
@ -77,19 +76,6 @@ options</A></H1>
templates and the like).
</P>
<DT><TT>--enable-namespaces </TT>[default]
<DD><P>By default, g++ currently ignores namespace <TT>std</TT> for
backwards compatibility. It can be turned on with the
<TT> -fhonor-std </TT> flag to the compiler. As of libstdc++-v3
snapshot 2.90.8, that flag is passed to g++ when building the
library. (In g++ 2.96 and later, this flag is on by default if
libstdc++-v3 is used.) The --disable variant will put all std::
symbols into the global namespace.
</P>
<P>This option has been removed in current sources; disabling
namespaces is just not possible.
</P>
<DT><TT>--enable-cshadow-headers </TT>
<DD><P>This turns on the code to construct shadowed C headers, and to
use c headers in the std:: namespace. Very experimental as of
@ -182,7 +168,7 @@ options</A></H1>
<HR>
<P CLASS="fineprint"><EM>
$Id: configopts.html,v 1.15 2000/10/26 14:56:04 bkoz Exp $
$Id: configopts.html,v 1.18 2000/11/16 22:19:52 gerald Exp $
</EM></P>

View File

@ -1,14 +1,25 @@
<HTML>
<HEAD>
<META NAME="KEYWORDS" CONTENT="libstdc++, homepage, home, g++, libg++, STL">
<TITLE>Standard C++ Library v3</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: documentation.html,v 1.8 2000/11/19 02:52:01 gerald Exp $ -->
</HEAD>
<BODY>
<!--#include virtual="/libstdc++/header.html"-->
<!--#include virtual="/libstdc++/header.ihtml"-->
<P><B>All of these documents</B> (in fact, this entire homepage set) are
bundled with the library source, under the <TT>docs</TT> subdirectory.
bundled with the library source, under the <TT>docs</TT> subdirectory,
for releases and snapshots.
</P>
<H2><A NAME="1">Introductory notes for libstdc++</A></H2>
<P>This is a short list of text files pertaining to this
implementation of ISO 14882. A brief description follows the name
of the file.
</P>
<UL>
<LI><A HREF="17_intro/BADNAMES">BADNAMES</A>
- names to avoid because of potential collisions
@ -35,14 +46,12 @@
<LI><A HREF="17_intro/contribute.html">Contributor checklist</A>
<LI><A HREF="17_intro/libstdc++-assign.txt">Copyright assignment form for libstdc++-v3</A>
</UL>
</P>
<HR>
<H2><A NAME="2">Configuring, Building, Installing</A></H2>
<UL>
<A HREF="configopts.html">Configure options</A><BR>
<A HREF="install.html">Getting started: configure, build, install</A><BR>
<A HREF="gccrebuild.html">Rebuilding libgcc for ABI-breaking flags</A><BR>
<LI><A HREF="configopts.html">Configure options</A>
<LI><A HREF="install.html">Getting started: configure, build, install</A><BR>
</UL>
<HR>
@ -63,5 +72,6 @@
</OL>
<!--#include virtual="/libstdc++/footer.html"-->
<!--#include virtual="/libstdc++/footer.ihtml"-->
</BODY>
</HTML>

View File

@ -1,5 +1,14 @@
<HTML>
<HEAD>
<META NAME="KEYWORDS" CONTENT="libstdc++, homepage, home, g++, libg++, STL">
<TITLE>Standard C++ Library v3</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: download.html,v 1.11 2000/11/19 02:52:01 gerald Exp $ -->
</HEAD>
<BODY>
<!--#include virtual="/libstdc++/header.html"-->
<!--#include virtual="/libstdc++/header.ihtml"-->
<H3>Getting the sources by FTP or CVS</H3>
@ -19,6 +28,7 @@
the current libstdc++-v3 development sources. To check out
libstdc++-v3 only, use <TT>libstdc++-v3</TT> instead of <TT>gcc</TT>
as the module.
</P>
<UL>
<LI>Read-only CVS repository is available by anonymous CVS. Directions
are <A HREF="http://gcc.gnu.org/cvs.html">here</A>. You can also
@ -26,9 +36,8 @@
<LI>Read-write CVS repository is available by authorized CVS via SSH.
Directions are <A HREF="http://gcc.gnu.org/cvswrite.html">here</A>.
</UL>
</P>
<P>Once you have the GCC sources checked out over CVS, you can use the
<TT>contrib/gcc_update</TT> script to retrieve the latest changes, and
<CODE>contrib/gcc_update</CODE> script to retrieve the latest changes, and
automatically update the timestamps of certain files. With the
timestamps updated, you won't need autoconf or the other tools (unless
you make changes, obviously).
@ -40,5 +49,6 @@
</P>
<!--#include virtual="/libstdc++/footer.html"-->
<!--#include virtual="/libstdc++/footer.ihtml"-->
</BODY>
</HTML>

View File

@ -1,11 +1,8 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="AUTHOR" CONTENT="pme@sources.redhat.com (Phil Edwards)">
<META NAME="KEYWORDS" CONTENT="libstdc++, libstdc++-v3, GCC, g++, libg++, STL">
<META NAME="DESCRIPTION" CONTENT="FAQ for the GNU libstdc++ effort.">
<META NAME="GENERATOR" CONTENT="vi and eight fingers">
<TITLE>libstdc++-v3 FAQ</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="../lib3styles.css">
@ -13,7 +10,7 @@
** Locations of "the most recent snapshot is the Nth" text are
** answers 1_1, 1_4, 4_1, 5_6.
-->
<!-- $Id: index.html,v 1.7 2000/10/21 00:51:50 jsm28 Exp $ -->
<!-- $Id: index.html,v 1.12 2000/11/21 00:18:07 pme Exp $ -->
</HEAD>
<BODY>
@ -65,6 +62,8 @@ http://sources.redhat.com/libstdc++/faq/</A>.</P>
<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_4">Things in libstdc++ that look like bugs</A>
<BR><A HREF="#4_4_interface">The g++-3 headers are
<STRONG>not ours</STRONG></A>
<LI><A HREF="#4_5">Aw, that's easy to fix!</A>
</OL>
@ -89,13 +88,13 @@ http://sources.redhat.com/libstdc++/faq/</A>.</P>
<H1><A NAME="1_0">1.0 General Information</A></H1>
<!-- I suspect these will mostly be links to/into existing documents. -->
<H2><A NAME="1_1">1.1 What is libstdc++-v3?</A></H2>
<P>The GNU Standard C++ Library v3, or libstdc++-2.90.x, is an
<P>The GNU Standard C++ Library v3, or libstdc++-2.90.x/2.9x, is an
ongoing project to implement the ISO 14882 Standard C++ library
as described in chapters 17 through 27 and annex D. As the
library reaches stable plateaus, it is captured in a snapshot
and released. The current release is <A
HREF="ftp://sources.redhat.com/pub/libstdc++/libstdc++-2.90.8.tar.gz">the
ninth snapshot</A>. For those who want to see exactly how
HREF="ftp://sources.redhat.com/pub/libstdc++/libstdc++-2.91.tar.gz">the
tenth snapshot</A>. For those who want to 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 CVS, and can even be browsed over the Web (see below).
@ -135,7 +134,7 @@ HREF="http://gcc.gnu.org/gcc-2.95/buildstat.html">portability</A>
<H2><A NAME="1_3">1.3 Who's in charge of it?</A></H2>
<P>The libstdc++ project is contributed to by several developers
all over the world, in the same way as GCC or Linux.
Benjamin Kosnik, Gabriel Dos Reis, Nathan Myers, and Ulrich
Benjamin Kosnik, Gabriel Dos Reis, Phil Edwards, and Ulrich
Drepper are the lead maintainers of the CVS archive.
</P>
<P>Development and discussion is held on the libstdc++ mailing
@ -147,8 +146,8 @@ HREF="http://gcc.gnu.org/gcc-2.95/buildstat.html">portability</A>
<HR>
<H2><A NAME="1_4">1.4 How do I get libstdc++?</A></H2>
<P>The ninth (and latest) snapshot of libstdc++-v3 is <A
HREF="ftp://sources.redhat.com/pub/libstdc++/libstdc++-2.90.8.tar.gz">
<P>The tenth (and latest) snapshot of libstdc++-v3 is <A
HREF="ftp://sources.redhat.com/pub/libstdc++/libstdc++-2.91.tar.gz">
available via ftp</A>.
</P>
<P>The <A HREF="../index.html">homepage</A>
@ -167,8 +166,8 @@ HREF="ftp://sources.redhat.com/pub/libstdc++/libstdc++-2.90.8.tar.gz">
HREF="http://www.deja.com/getdoc.xp?AN=469581698&fmt=text">a
Usenet article</A>.</P>
which is no longer available, thanks deja...-->
<P>Nathan Myers gave the best of all possible answers in a
Usenet article asking this question: Sooner, if you help.
<P>Nathan Myers gave the best of all possible answers, responding
to a Usenet article asking this question: Sooner, if you help.
</P>
@ -245,6 +244,7 @@ which is no longer available, thanks deja...-->
<H2><A NAME="2_1">2.1 How do I install libstdc++-v3?</A></H2>
<P>Complete instructions are not given here (this is a FAQ, not
an installation document), but the tools required are few:
</P>
<UL>
<LI> A release of libstdc++.
<LI> A recent release of GCC (version 2.95 works). Note
@ -256,7 +256,6 @@ HREF="http://sources.redhat.com/autoconf/">autoconf</A>and <A
HREF="http://sources.redhat.com/automake/">automake</A>.
<LI> GNU Make is the only make that supports these makefiles.
</UL>
</P>
<P>The file <A HREF="../documentation.html">documentation.html</A>
provides a good overview of the steps necessary to build, install,
and use the library. Instructions for configuring the library
@ -273,16 +272,9 @@ HREF="http://sources.redhat.com/automake/">automake</A>.
<HR>
<H2><A NAME="2_2">2.2 Is this a drop-in replacement for the
libstdc++ that's shipped with g++?</A></H2>
<P>Yes, as of 2.90.8, it is intended as such.</P>
<P>The installation instructions cover this in more detail, but
replacing the older library requires rebuilding some of the
code that comes with g++. You will need sources for the 2.95.2
compiler in order to build this snapshot. Building the library
on its own and then using -I/-L will no longer work.
</P>
<P>After the 2.90.8 snapshot, the library sources were integrated
into the compiler sources. Future releases of the compiler will
ship with libstdc++-v3.
<P>Yes, as of 2.90.8, it is intended as such. And as of 2.91,
libstdc++-v3 <EM>is</EM> the library that's shipped with
g++, so much of this answer has become moot.
</P>
<HR>
@ -309,7 +301,8 @@ HREF="http://sources.redhat.com/automake/">automake</A>.
<H2><A NAME="2_4">2.4 How do I know if it works?</A></H2>
<P>libstdc++-v3 comes with its own testsuite. You do not need
to actually install the library (&quot;<TT>gmake
install</TT>&quot;) to run the testsuite.
install</TT>&quot;) to run the testsuite. Note that 2.91 does
not use DejaGNU yet.
</P>
<P>To run the testsuite on the library after building it, use
&quot;gmake check&quot; while in your build directory. To run
@ -324,11 +317,6 @@ HREF="http://sources.redhat.com/automake/">automake</A>.
building the test programs, and a list of the tests to be run,
respectively.
</P>
<P>If you are using the libgcc.a-rebuilding method to enable std::
you might find that the testsuite starts dying with nasty linker
errors. This is symptomatic of the rebuilt libgcc.a not being
installed; the previous one is still in use.
</P>
<P>If you find bugs in the testsuite programs themselves, or if
you think of a new test program that should be added to the
suite, <B>please</B> write up your idea and send it to the list!
@ -398,30 +386,55 @@ HREF="http://sources.redhat.com/automake/">automake</A>.
<pre>
New:
---
- MT safe string. Supported CPUs are alpha, powerpc, x86, sparc32 and sparc64.
- Configure support for --enable-threads=posix, as well as initial IO
locking implementation.
- Support for native building on Solaris 2.5.1, Solaris 2.6, Solaris
2.7, cygwin, [alpha, powerpc, x86]-linux, and preliminary support for
Irix and Aix4.2, Aix 4.3 hosts.
- --enable-namespaces is on by default.
- Configure and Makefile support for "drop-in" replacement to
libstdc++-v2 completed. It is now possible to bootstrap g++, and
have g++ find libstdc++-v3 headers and libraries by default.
- Synched with CVS egcs libio.
- Cygwin native compiling supported.
- Cross compiling and embedded targets (newlib) with multilibs support added.
- SGI's strstream implementation has been added.
- Copyright on all sources assigned to the FSF.
- Configure, build and install documentation has been added.
- Support to enable long long has been added.
- More valarray improvements.
- Extractors and inserters for std::complex have been added.
- Extractors and inserters for void* have been fixed.
- autoconf macros are now in _GLIBCPP_ namespace.
- group checking for num_get implemented.
- namespace std:: is now on by default.
- choice of "C" include strategies, including the shadow header work,
or generic global to std mapping of required "C" types.
- cpu/atomicity.h tweaks, additions of ia64 and arm support.
- abstraction of atomicity.h header to support notion of os/atomicity.h files.
- addition of backward header bits
- use of system_header pragma
- Conditional use of -Werror
- preliminary support for new g++ diagnostics capabilities, including
-fdiagnostics-show-location=once
- pedantic and shadow argument warning fixes
- Ugly, yet correct mechanism for dealing with "C" math adopted,
including the use of builtins.
- updates and configure/build work to support new libtool
- addition of strstream
- valarray work
- complex work
- update to SGI STL 3.3
- libio sync between glibc/libstdc++-v3. Some divergence since initial
merge, but sources remain quite close.
- IO fixes for alpha
- wide character work for IO when using libio
- addition of c_io_stdio and "C" IO abstraction layer.
- auto_ptr fixes, testsuite additions
- Attempts to use -ffunction-sections -fdata-sections and
--gc-sections, depending on use of GNU ld and specific features. As of
late, --gc-sections has been disabled due to problems with it throwing
away initialization sections. This work is ongoing.
- long double support
- sub directory removal, coherent organization of cpu and os-specific
files, consolidation of include directories, integration of the C++
support bits for operator new/delete,exceptions, etc. All includes
are now either in the include/* hierarchy or in libsupc++'s sub directory.
- Support for more platforms, including irix and bsd variants.
- filebuf tweaks to deal with variable-size buffers.
- filebuf implementation for putbackc, etc. al.
- ctype rewritten. Includes ctype<char>, ctype<wchar_t>, and others.
- codecvt rewritten. Includes codecvt<char, char, mbstate_t>,
codecvt<wchar_t, char, mbstate_t>. In addition,
implementation-defined conversions using iconv are now supported with
the __enc_traits partial-specialization of the State template
parameter of the codecvt class. In this manner, conversions between
encodings such as UCS4, USC2, UNICODE, UNICODEBIG, UNICODELITTLE, etc
can be performed.
- preliminary work on named locales
- preliminary documentation for locale implementation has been established.
- Many, many bug fixes.
- Many, many testsuite additions and consistent VERIFY usage.
- work on mkcheck to make it more flexible, use libtool, etc.
</pre>
@ -434,28 +447,8 @@ New:
the GCC mailing lists.
</P>
<UL>
<LI>When using associative containers (like <TT>map</TT>), and
compiling with <TT>-O3</TT> (or <TT>-finline-functions</TT>)
and <TT>-Winline</TT>, I get a zillion errors like:
<!-- Careful, the leading spaces in PRE show up directly. -->
<PRE>
.../include/g++/stl_tree.h: In function `int __black_count(struct __rb_tree_node_base *, struct __rb_tree_node_base *)':
.../include/g++/stl_tree.h:1045: warning: can't inline call to `int __black_count(struct __rb_tree_node_base *, struct __rb_tree_node_base *)'
.../include/g++/stl_tree.h:1053: warning: called from here
</PRE>
<P>This has been discussed a number of times; the problem
is that __black_count is marked inline but is also a
recursive function. As of 12 July 1999, it has been
rewritten into an optimized non-recursive form, so
fresh checkouts/releases should no longer see this warning.
(The compiler can usually figure out how to make that
transformation on its own.)
</P>
<LI>The reason that EGCS 1.1.2 cannot be used to build the
library is that lookups do not work properly, and so the
compiler will ICE when building the locale-related source
files. This has been fixed in GCC 2.95.
<LI>As of 2.91, these bugs have all been fixed. We look forward
to new ones, well, not exactly...
</UL>
<HR>
@ -490,6 +483,25 @@ to the list</A>, Nathan Myers announced that he has started a list of
necessarily trying to be OO. There are multiple solutions
under discussion.
</P>
<H3><A NAME="4_4_interface">The g++-3 headers are
<EM>not ours</EM></A></H3>
<P>If you have found an extremely broken header file which is
causing problems for you, look carefully before submitting a
&quot;high&quot; 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>).
</P>
<P>If the headers are in <CODE>${prefix}/include/g++-3</CODE>, then
you are using the old libstdc++-v2 library, which is nonstandard
and unmaintained. Do not report problems with -v2 to the -v3
mailing list.
</P>
<P>Currently our header files are installed in
<CODE>${prefix}/include/g++-v3</CODE> (see the 'v'?). This may
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
question has not yet been decided</A>.
</P>
<HR>
<H2><A NAME="4_5">4.5 Aw, that's easy to fix!</A></H2>
@ -578,29 +590,16 @@ HREF="http://sources.redhat.com/ml/libstdc++/1999/msg00084.html">speculation</A>
preprocessor search the g++-v3/ext and /backward directories,
it is better to refer to files there by their path, as in:
<!-- Careful, the leading spaces in PRE show up directly. -->
</P>
<PRE>
#include &lt;ext/hash_map&gt;
</PRE>
</P>
<P>Extensions to the library have
<A HREF="../ext/howto.html">their own page</A>.
</P>
<HR>
<H2><A NAME="5_5">5.5 Compiling with &quot;-fnew-abi&quot;</A></H2>
<P>The library mostly works if you compile it (and programs you
link with it) using &quot;-fnew-abi -fno-honor-std&quot; on a
vanilla GCC compiler. However, some features, such as RTTI
and error handlers, might not link properly with a vanilla
libgcc built in GCC under the old ABI. If you rebuild libgcc
using the &quot;-f&quot; flags above, you can get both complete
language support and full benefits of -fnew-abi -- short
mangled symbol names, far more efficient exception handling,
and empty base optimization, to name a few. (Note that the
new ABI may change from one GCC snapshot to the next, so you
would have to rebuild all your libraries each time you get a
new compiler snapshot.)
</P>
<P>Towards the end of July 1999, this subject was brought up again
on the mailing list under a different name. The related
<A HREF="http://sources.redhat.com/ml/libstdc++/1999-q3/msg00066.html">thread</A>
@ -612,7 +611,7 @@ HREF="http://sources.redhat.com/ml/libstdc++/1999/msg00084.html">speculation</A>
<HR>
<H2><A NAME="5_6">5.6 Is libstdc++-v3 thread-safe?</A></H2>
<P>Quick answer: no, as of 2.90.8 (ninth snapshot), the
<P>Quick answer: no, as of 2.91 (tenth snapshot), the
library is not appropriate for multithreaded access. The
string class is MT-safe.
</P>
@ -654,7 +653,7 @@ HREF="http://sources.redhat.com/ml/libstdc++/1999/msg00084.html">speculation</A>
Comments and suggestions are welcome, and may be sent to
<A HREF="mailto:pme@sources.redhat.com">Phil Edwards</A> or
<A HREF="mailto:gdr@gcc.gnu.org">Gabriel Dos Reis</A>.
<BR> $Id: index.html,v 1.7 2000/10/21 00:51:50 jsm28 Exp $
<BR> $Id: index.html,v 1.12 2000/11/21 00:18:07 pme Exp $
</EM></P>

View File

@ -34,33 +34,34 @@
2. [23]Bugs in gcc/g++ (not libstdc++-v3)
3. [24]Bugs in the C++ language/lib specification
4. [25]Things in libstdc++ that look like bugs
5. [26]Aw, that's easy to fix!
5. [27]Miscellaneous
1. [28]string::iterator is not char*; vector<T>::iterator is not
[26]The g++-3 headers are not ours
5. [27]Aw, that's easy to fix!
5. [28]Miscellaneous
1. [29]string::iterator is not char*; vector<T>::iterator is not
T*
2. [29]What's next after libstdc++-v3?
3. [30]What about the STL from SGI?
4. [31]Extensions and Backward Compatibility
5. [32]Compiling with "-fnew-abi"
6. [33]Is libstdc++-v3 thread-safe?
7. [34]How do I get a copy of the ISO C++ Standard?
2. [30]What's next after libstdc++-v3?
3. [31]What about the STL from SGI?
4. [32]Extensions and Backward Compatibility
5. [33]Compiling with "-fnew-abi"
6. [34]Is libstdc++-v3 thread-safe?
7. [35]How do I get a copy of the ISO C++ Standard?
_________________________________________________________________
1.0 General Information
1.1 What is libstdc++-v3?
The GNU Standard C++ Library v3, or libstdc++-2.90.x, is an ongoing
project to implement the ISO 14882 Standard C++ library as described
in chapters 17 through 27 and annex D. As the library reaches stable
plateaus, it is captured in a snapshot and released. The current
release is [35]the ninth snapshot. For those who want to 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 CVS, and can
even be browsed over the Web (see below).
The GNU Standard C++ Library v3, or libstdc++-2.90.x/2.9x, is an
ongoing project to implement the ISO 14882 Standard C++ library as
described in chapters 17 through 27 and annex D. As the library
reaches stable plateaus, it is captured in a snapshot and released.
The current release is [36]the tenth snapshot. For those who want to
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
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
[36]design document.
[37]design document.
_________________________________________________________________
1.2 Why should I use libstdc++?
@ -73,8 +74,8 @@
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
development has recently been taken over by the [37]GCC team. All of
the rapid development and near-legendary [38]portability that are the
development has recently been taken over by the [38]GCC team. All of
the rapid development and near-legendary [39]portability that are the
hallmarks of an open-source project are being applied to libstdc++.
That means that all of the Standard classes and functions (such as
@ -87,21 +88,21 @@
The libstdc++ project is contributed to by several developers all over
the world, in the same way as GCC or Linux. Benjamin Kosnik, Gabriel
Dos Reis, Nathan Myers, and Ulrich Drepper are the lead maintainers of
Dos Reis, Phil Edwards, and Ulrich Drepper are the lead maintainers of
the CVS archive.
Development and discussion is held on the libstdc++ mailing list.
Subscribing to the list, or searching the list archives, is open to
everyone. You can read instructions for doing so on the [39]homepage.
everyone. You can read instructions for doing so on the [40]homepage.
If you have questions, ideas, code, or are just curious, sign up!
_________________________________________________________________
1.4 How do I get libstdc++?
The ninth (and latest) snapshot of libstdc++-v3 is [40]available via
The tenth (and latest) snapshot of libstdc++-v3 is [41]available via
ftp.
The [41]homepage has instructions for retrieving the latest CVS
The [42]homepage has instructions for retrieving the latest CVS
sources, and for browsing the CVS sources over the web.
The subset commonly known as the Standard Template Library (chapters
@ -111,13 +112,13 @@
1.5 When is libstdc++ going to be finished?
Nathan Myers gave the best of all possible answers in a Usenet article
asking this question: Sooner, if you help.
Nathan Myers gave the best of all possible answers, responding to a
Usenet article asking this question: Sooner, if you help.
_________________________________________________________________
1.6 How do I contribute to the effort?
Here is [42]a page devoted to this topic. Subscribing to the mailing
Here is [43]a page devoted to this topic. Subscribing to the mailing
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.
Contributions don't have to be in the form of source code; anybody who
@ -152,11 +153,11 @@
extracted into an updated utilities library, but nobody has stated
such a project yet.
(The [43]Boost site houses free C++ libraries that do varying things,
(The [44]Boost site houses free C++ libraries that do varying things,
and happened to be started by members of the Standards Committee.
Certain "useful stuff" classes will probably migrate there.)
For the bold and/or desperate, the [44]GCC FAQ describes where to find
For the bold and/or desperate, the [45]GCC FAQ describes where to find
the last libg++ source.
_________________________________________________________________
@ -167,11 +168,11 @@
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
list archives); to send to the list, use
[45]libstdc++@sources.redhat.com.
[46]libstdc++@sources.redhat.com.
If you have a question that you think should be included here, or if
you have a question about a question/answer here, contact [46]Phil
Edwards or [47]Gabriel Dos Reis.
you have a question about a question/answer here, contact [47]Phil
Edwards or [48]Gabriel Dos Reis.
_________________________________________________________________
2.0 Installation
@ -185,15 +186,15 @@
GCC is much easier and more automated than building the GCC 2.[78]
series was.
* If you plan on hacking around with the makefiles, you will need
the tools [48]autoconfand [49]automake.
the tools [49]autoconfand [50]automake.
* GNU Make is the only make that supports these makefiles.
The file [50]documentation.html provides a good overview of the steps
The file [51]documentation.html provides a good overview of the steps
necessary to build, install, and use the library. Instructions for
configuring the library with new flags such as --enable-threads are
there also.
The top-level install.html and [51]RELEASE-NOTES files contain the
The top-level install.html and [52]RELEASE-NOTES files contain the
exact build and installation instructions. You may wish to browse
those files over CVSweb ahead of time to get a feel for what's
required. RELEASE-NOTES is located in the ".../docs/17_intro/"
@ -202,25 +203,17 @@
2.2 Is this a drop-in replacement for the libstdc++ that's shipped with g++?
Yes, as of 2.90.8, it is intended as such.
The installation instructions cover this in more detail, but replacing
the older library requires rebuilding some of the code that comes with
g++. You will need sources for the 2.95.2 compiler in order to build
this snapshot. Building the library on its own and then using -I/-L
will no longer work.
After the 2.90.8 snapshot, the library sources were integrated into
the compiler sources. Future releases of the compiler will ship with
libstdc++-v3.
Yes, as of 2.90.8, it is intended as such. And as of 2.91,
libstdc++-v3 is the library that's shipped with g++, so much of this
answer has become moot.
_________________________________________________________________
2.3 What is this CVS thing that you keep mentioning?
The Concurrent Versions System is one of several revision control
packages. It was selected for GNU projects because it's free (speech),
free (beer), and very high quality. The [52]CVS entry in the GNU
software catalogue has a better description as well as a [53]link to
free (beer), and very high quality. The [53]CVS entry in the GNU
software catalogue has a better description as well as a [54]link to
the makers of CVS.
The "anonymous client checkout" feature of CVS is similar to anonymous
@ -233,7 +226,8 @@
2.4 How do I know if it works?
libstdc++-v3 comes with its own testsuite. You do not need to actually
install the library ("gmake install") to run the testsuite.
install the library ("gmake install") to run the testsuite. Note that
2.91 does not use DejaGNU yet.
To run the testsuite on the library after building it, use "gmake
check" while in your build directory. To run the testsuite on the
@ -247,11 +241,6 @@
-mkcheckfiles.txt) contain messages from the compiler while building
the test programs, and a list of the tests to be run, respectively.
If you are using the libgcc.a-rebuilding method to enable std:: you
might find that the testsuite starts dying with nasty linker errors.
This is symptomatic of the rebuilt libgcc.a not being installed; the
previous one is still in use.
If you find bugs in the testsuite programs themselves, or if you think
of a new test program that should be added to the suite, please write
up your idea and send it to the list!
@ -294,9 +283,9 @@
doesn't prevent hanging elsewhere.
You have two options. You can get a newer cygwin1.dll (see the Cygwin
paragraph in the [54]installation instructions). Or you can get a
paragraph in the [55]installation instructions). Or you can get a
prebuilt set of bits/std_limits.h and src/limitsMEMBERS.cc files from
Mumit Khan's [55]Cygwin-related website.
Mumit Khan's [56]Cygwin-related website.
_________________________________________________________________
4.0 Known Bugs and Non-Bugs
@ -311,30 +300,55 @@
This is a verbatim clip from the "Status" section of the RELEASE-NOTES
for the latest snapshot.
New:
---
- MT safe string. Supported CPUs are alpha, powerpc, x86, sparc32 and sparc64.
- Configure support for --enable-threads=posix, as well as initial IO
locking implementation.
- Support for native building on Solaris 2.5.1, Solaris 2.6, Solaris
2.7, cygwin, [alpha, powerpc, x86]-linux, and preliminary support for
Irix and Aix4.2, Aix 4.3 hosts.
- --enable-namespaces is on by default.
- Configure and Makefile support for "drop-in" replacement to
libstdc++-v2 completed. It is now possible to bootstrap g++, and
have g++ find libstdc++-v3 headers and libraries by default.
- Synched with CVS egcs libio.
- Cygwin native compiling supported.
- Cross compiling and embedded targets (newlib) with multilibs support added.
- SGI's strstream implementation has been added.
- Copyright on all sources assigned to the FSF.
- Configure, build and install documentation has been added.
- Support to enable long long has been added.
- More valarray improvements.
- Extractors and inserters for std::complex have been added.
- Extractors and inserters for void* have been fixed.
- autoconf macros are now in _GLIBCPP_ namespace.
- group checking for num_get implemented.
- namespace std:: is now on by default.
- choice of "C" include strategies, including the shadow header work,
or generic global to std mapping of required "C" types.
- cpu/atomicity.h tweaks, additions of ia64 and arm support.
- abstraction of atomicity.h header to support notion of os/atomicity.h files.
- addition of backward header bits
- use of system_header pragma
- Conditional use of -Werror
- preliminary support for new g++ diagnostics capabilities, including
-fdiagnostics-show-location=once
- pedantic and shadow argument warning fixes
- Ugly, yet correct mechanism for dealing with "C" math adopted,
including the use of builtins.
- updates and configure/build work to support new libtool
- addition of strstream
- valarray work
- complex work
- update to SGI STL 3.3
- libio sync between glibc/libstdc++-v3. Some divergence since initial
merge, but sources remain quite close.
- IO fixes for alpha
- wide character work for IO when using libio
- addition of c_io_stdio and "C" IO abstraction layer.
- auto_ptr fixes, testsuite additions
- Attempts to use -ffunction-sections -fdata-sections and
--gc-sections, depending on use of GNU ld and specific features. As of
late, --gc-sections has been disabled due to problems with it throwing
away initialization sections. This work is ongoing.
- long double support
- sub directory removal, coherent organization of cpu and os-specific
files, consolidation of include directories, integration of the C++
support bits for operator new/delete,exceptions, etc. All includes
are now either in the include/* hierarchy or in libsupc++'s sub directory.
- Support for more platforms, including irix and bsd variants.
- filebuf tweaks to deal with variable-size buffers.
- filebuf implementation for putbackc, etc. al.
- ctype rewritten. Includes ctype, ctype, and others.
- codecvt rewritten. Includes codecvt,
codecvt. In addition,
implementation-defined conversions using iconv are now supported with
the __enc_traits partial-specialization of the State template
parameter of the codecvt class. In this manner, conversions between
encodings such as UCS4, USC2, UNICODE, UNICODEBIG, UNICODELITTLE, etc
can be performed.
- preliminary work on named locales
- preliminary documentation for locale implementation has been established.
- Many, many bug fixes.
- Many, many testsuite additions and consistent VERIFY usage.
- work on mkcheck to make it more flexible, use libtool, etc.
_________________________________________________________________
4.2 Bugs in gcc/g++ (not libstdc++-v3)
@ -343,39 +357,22 @@ New:
some problems that users may encounter when building or using
libstdc++. If you are experiencing one of these problems, you can find
more information on the libstdc++ and the GCC mailing lists.
* When using associative containers (like map), and compiling with
-O3 (or -finline-functions) and -Winline, I get a zillion errors
like:
.../include/g++/stl_tree.h: In function `int __black_count(struct __rb_tree_
node_base *, struct __rb_tree_node_base *)':
.../include/g++/stl_tree.h:1045: warning: can't inline call to `int __black_
count(struct __rb_tree_node_base *, struct __rb_tree_node_base *)'
.../include/g++/stl_tree.h:1053: warning: called from here
This has been discussed a number of times; the problem is that
__black_count is marked inline but is also a recursive function.
As of 12 July 1999, it has been rewritten into an optimized
non-recursive form, so fresh checkouts/releases should no longer
see this warning. (The compiler can usually figure out how to make
that transformation on its own.)
* The reason that EGCS 1.1.2 cannot be used to build the library is
that lookups do not work properly, and so the compiler will ICE
when building the locale-related source files. This has been fixed
in GCC 2.95.
* As of 2.91, these bugs have all been fixed. We look forward to new
ones, well, not exactly...
_________________________________________________________________
4.3 Bugs in the C++ language/lib specification
Yes, unfortunately, there are some. In a [56]message to the list,
Yes, unfortunately, there are some. In a [57]message to the list,
Nathan Myers announced that he has started a list of problems in the
ISO C++ Standard itself, especially with regard to the chapters that
concern the library. The list itself is [57]posted on his website.
concern the library. The list itself is [58]posted on his website.
Developers who are having problems interpreting the Standard may wish
to consult his notes.
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
public list of the library defects is occasionally published [58]here.
public list of the library defects is occasionally published [59]here.
_________________________________________________________________
4.4 Things in libstdc++ that look like bugs
@ -390,22 +387,37 @@ count(struct __rb_tree_node_base *, struct __rb_tree_node_base *)'
Mainly, that option tries to enforce object-oriented programming,
while the Standard Library isn't necessarily trying to be OO. There
are multiple solutions under discussion.
The g++-3 headers are not ours
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 [60]the GCC bug database).
If the headers are in ${prefix}/include/g++-3, then you are using the
old libstdc++-v2 library, which is nonstandard and unmaintained. Do
not report problems with -v2 to the -v3 mailing list.
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
may be too confusing, but [61]the question has not yet been decided.
_________________________________________________________________
4.5 Aw, that's easy to fix!
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
[59]submitting patches that covers the procedure, but for libstdc++
[62]submitting patches that covers the procedure, but for libstdc++
you should of course send the patch to our mailing list, not the GCC
mailing list. The libstdc++ [60]contributors' page also talks about
mailing list. The libstdc++ [63]contributors' page also talks about
how to submit patches.
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
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
caught immediately by the [61]testsuite -- but only if such a test
caught immediately by the [64]testsuite -- but only if such a test
exists.
_________________________________________________________________
@ -443,13 +455,13 @@ count(struct __rb_tree_node_base *, struct __rb_tree_node_base *)'
Bugfixes and rewrites (to improve or fix thread safety, for instance)
will of course be a continuing task.
[62]This question about the next libstdc++ prompted some brief but
interesting [63]speculation.
[65]This question about the next libstdc++ prompted some brief but
interesting [66]speculation.
_________________________________________________________________
5.3 What about the STL from SGI?
The [64]STL from SGI is merged into libstdc++-v3 with changes as
The [67]STL from SGI is merged into libstdc++-v3 with changes as
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
libstd++ source as we scramble to keep up. :-)
@ -470,24 +482,13 @@ count(struct __rb_tree_node_base *, struct __rb_tree_node_base *)'
#include <ext/hash_map>
Extensions to the library have [65]their own page.
Extensions to the library have [68]their own page.
_________________________________________________________________
5.5 Compiling with "-fnew-abi"
The library mostly works if you compile it (and programs you link with
it) using "-fnew-abi -fno-honor-std" on a vanilla GCC compiler.
However, some features, such as RTTI and error handlers, might not
link properly with a vanilla libgcc built in GCC under the old ABI. If
you rebuild libgcc using the "-f" flags above, you can get both
complete language support and full benefits of -fnew-abi -- short
mangled symbol names, far more efficient exception handling, and empty
base optimization, to name a few. (Note that the new ABI may change
from one GCC snapshot to the next, so you would have to rebuild all
your libraries each time you get a new compiler snapshot.)
Towards the end of July 1999, this subject was brought up again on the
mailing list under a different name. The related [66]thread (by the
mailing list under a different name. The related [69]thread (by the
name HOWTO-honor-std) is very instructive. More info is at the end of
RELEASE-NOTES.
@ -496,13 +497,13 @@ count(struct __rb_tree_node_base *, struct __rb_tree_node_base *)'
5.6 Is libstdc++-v3 thread-safe?
Quick answer: no, as of 2.90.8 (ninth snapshot), the library is not
Quick answer: no, as of 2.91 (tenth snapshot), the library is not
appropriate for multithreaded access. The string class is MT-safe.
This is assuming that your idea of "multithreaded" is the same as
ours... The general question of multithreading and libstdc++-v3 is
addressed in the chapter-specific advice for [67]Library Introduction.
Threadsafe containers are covered in more detail in [68]the Received
addressed in the chapter-specific advice for [70]Library Introduction.
Threadsafe containers are covered in more detail in [71]the Received
Wisdom section on containers.
_________________________________________________________________
@ -514,17 +515,17 @@ count(struct __rb_tree_node_base *, struct __rb_tree_node_base *)'
their two-meeting commitment for voting rights, may get a copy of the
standard from their respective national standards organization. In the
USA, this national standards organization is ANSI and their website is
right [69]here. (And if you've already registered with them, clicking
this link will take you to directly to the place where you can [70]buy
right [72]here. (And if you've already registered with them, clicking
this link will take you to directly to the place where you can [73]buy
the standard on-line.
Who is your country's member body? Visit the [71]ISO homepage and find
Who is your country's member body? Visit the [74]ISO homepage and find
out!
_________________________________________________________________
Comments and suggestions are welcome, and may be sent to [72]Phil
Edwards or [73]Gabriel Dos Reis.
$Id: index.html,v 1.7 2000/10/21 00:51:50 jsm28 Exp $
Comments and suggestions are welcome, and may be sent to [75]Phil
Edwards or [76]Gabriel Dos Reis.
$Id: index.html,v 1.12 2000/11/21 00:18:07 pme Exp $
References
@ -553,51 +554,54 @@ References
23. ../faq/index.html#4_2
24. ../faq/index.html#4_3
25. ../faq/index.html#4_4
26. ../faq/index.html#4_5
27. ../faq/index.html#5_0
28. ../faq/index.html#5_1
29. ../faq/index.html#5_2
30. ../faq/index.html#5_3
31. ../faq/index.html#5_4
32. ../faq/index.html#5_5
33. ../faq/index.html#5_6
34. ../faq/index.html#5_7
35. ftp://sources.redhat.com/pub/libstdc++/libstdc++-2.90.8.tar.gz
36. ../17_intro/DESIGN
37. http://gcc.gnu.org/
38. http://gcc.gnu.org/gcc-2.95/buildstat.html
39. ../index.html
40. ftp://sources.redhat.com/pub/libstdc++/libstdc++-2.90.8.tar.gz
41. ../index.html
42. ../17_intro/contribute.html
43. http://www.boost.org/
44. http://gcc.gnu.org/fom_serv/cache/33.html
45. mailto:libstdc++@sources.redhat.com
46. mailto:pme@sources.redhat.com
47. mailto:gdr@gcc.gnu.org
48. http://sources.redhat.com/autoconf/
49. http://sources.redhat.com/automake/
50. ../documentation.html
51. ../17_intro/RELEASE-NOTES
52. http://www.gnu.org/software/cvs/cvs.html
53. http://www.cyclic.com/
54. ../install.html
55. http://www.xraylith.wisc.edu/~khan/software/gnu-win32/libstdc++-v3.html
56. http://sources.redhat.com/ml/libstdc++/1998/msg00006.html
57. http://www.cantrip.org/draft-bugs.txt
58. http://anubis.dkuug.dk/jtc1/sc22/wg21/
59. http://gcc.gnu.org/contribute.html
60. ../17_intro/contribute.html
61. ../faq/index.html#2_4
62. http://sources.redhat.com/ml/libstdc++/1999/msg00080.html
63. http://sources.redhat.com/ml/libstdc++/1999/msg00084.html
64. http://www.sgi.com/Technology/STL/
65. ../ext/howto.html
66. http://sources.redhat.com/ml/libstdc++/1999-q3/msg00066.html
67. http://sources.redhat.com/libstdc++/17_intro/howto.html#3
68. http://sources.redhat.com/libstdc++/23_containers/howto.html
69. http://www.ansi.org/
70. http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998
71. http://www.iso.ch/
72. mailto:pme@sources.redhat.com
73. mailto:gdr@gcc.gnu.org
26. ../faq/index.html#4_4_interface
27. ../faq/index.html#4_5
28. ../faq/index.html#5_0
29. ../faq/index.html#5_1
30. ../faq/index.html#5_2
31. ../faq/index.html#5_3
32. ../faq/index.html#5_4
33. ../faq/index.html#5_5
34. ../faq/index.html#5_6
35. ../faq/index.html#5_7
36. ftp://sources.redhat.com/pub/libstdc++/libstdc++-2.91.tar.gz
37. ../17_intro/DESIGN
38. http://gcc.gnu.org/
39. http://gcc.gnu.org/gcc-2.95/buildstat.html
40. ../index.html
41. ftp://sources.redhat.com/pub/libstdc++/libstdc++-2.91.tar.gz
42. ../index.html
43. ../17_intro/contribute.html
44. http://www.boost.org/
45. http://gcc.gnu.org/fom_serv/cache/33.html
46. mailto:libstdc++@sources.redhat.com
47. mailto:pme@sources.redhat.com
48. mailto:gdr@gcc.gnu.org
49. http://sources.redhat.com/autoconf/
50. http://sources.redhat.com/automake/
51. ../documentation.html
52. ../17_intro/RELEASE-NOTES
53. http://www.gnu.org/software/cvs/cvs.html
54. http://www.cyclic.com/
55. ../install.html
56. http://www.xraylith.wisc.edu/~khan/software/gnu-win32/libstdc++-v3.html
57. http://sources.redhat.com/ml/libstdc++/1998/msg00006.html
58. http://www.cantrip.org/draft-bugs.txt
59. http://anubis.dkuug.dk/jtc1/sc22/wg21/
60. http://gcc.gnu.org/gnatswrite.html
61. http://gcc.gnu.org/ml/gcc/2000-10/msg00732.html
62. http://gcc.gnu.org/contribute.html
63. ../17_intro/contribute.html
64. ../faq/index.html#2_4
65. http://sources.redhat.com/ml/libstdc++/1999/msg00080.html
66. http://sources.redhat.com/ml/libstdc++/1999/msg00084.html
67. http://www.sgi.com/Technology/STL/
68. ../ext/howto.html
69. http://sources.redhat.com/ml/libstdc++/1999-q3/msg00066.html
70. http://sources.redhat.com/libstdc++/17_intro/howto.html#3
71. http://sources.redhat.com/libstdc++/23_containers/howto.html
72. http://www.ansi.org/
73. http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998
74. http://www.iso.ch/
75. mailto:pme@sources.redhat.com
76. mailto:gdr@gcc.gnu.org

View File

@ -10,9 +10,9 @@ These pages are stoically maintained by
<A HREF="mailto:pme@sources.redhat.com">Phil Edwards</a>, who might now
actually be able to maintain them as the directory structure is slowly
congealing into some kind of permanent structure, and were last modified on
2000-11-03.
2000-11-16.
</EM></P>
<!-- And this closes everything out. -->
<!--#include virtual="/include/footer-subpages.html"-->
<!-- ####################################################### -->

View File

@ -1,130 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="AUTHOR" CONTENT="pme@sources.redhat.com (Phil Edwards)">
<META NAME="KEYWORDS" CONTENT="libgcc.a, rebuild">
<META NAME="DESCRIPTION" CONTENT="How to automatically rebuild libgcc.a.">
<META NAME="GENERATOR" CONTENT="vi and eight fingers">
<TITLE>How to automatically rebuild libgcc.a.</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: gccrebuild.html,v 1.4 2000/07/07 21:13:27 pme Exp $ -->
</HEAD>
<BODY>
<H2 CLASS="centered"><TT>--enable-libgcc-rebuild</TT></H2>
<P><B>NOTA BENE</B>: If using the <TT>--enable-libstdcxx-v3</TT> approach
to configuring, the std namespace will be turned on for you, without
going this route. Only use this flag if you'd like to experiment
with yet more binary incompatibilities, as discussed below.
</P>
<HR>
<P>If you build libstdc++ using certain flags (e.g., -fnew-abi), then
programs that use some of the new C++ language features (like namespace
std and RTTI) will only link if the compiler's libgcc is built using
the same flags. Other extralinguistic flags (like -fsquangle to change
the name mangling algorithm) will have the same effect.
</P>
<P>Passing --enable-libgcc-rebuild to libstdc++'s configure script
means that when you type 'make' next, after libstdc++ is built,
then libgcc will also be rebuilt. If you've given other
--enable/--with switches to libstdc++ that would require a core
library rebuild, then those compiler options will be automatically
used when compiling libgcc, such that both libraries will always be
built with the same options.
</P>
<P>The argument to this enable switch is the path to the GCC build
directory. The GCC configuration documentation refers to this directory
as <EM>objdir</EM>; here it will be called <EM>GCCobjdir</EM>.
</P>
<P>This was required for a few busy months of development, but was
always acknowledged a kludge. After the library sources were merged into
the compiler sources, this was commented out. If you must re-enable
it, you amy do so by uncommenting the GLIBCPP_ENABLE_RELIBGCC line in
configure.in and regenerating.
</P>
<HR>
<H3>If you kept your <EM>GCCobjdir</EM></H3>
<P>Easy as pi, er, pie. Just pass the pathname to the --enable switch
(absolute pathnames are best), and build libstdc++ as you normally
would. When it is finished, 'make' will go over to <EM>GCCobjdir</EM>
and build a new libgcc.a for you.
</P>
<P>Once that's done, skip down to &quot;Installing the new libgcc.a.&quot;
</P>
<H3>If you deleted your <EM>GCCobjdir</EM>, or never had one</H3>
<P>Aaargggghhh, you had to make things difficult. Okay, note for future
reference: if you plan on experimenting with weird features, you'll want
to keep your build directories around. If you're having to re-unpack
the GCC source for this step, the same thing applies.
</P>
<P>We don't put a whole lot of effort into supporting this, so you might
just have to go the long way 'round if you run into difficulties.
</P>
<P>You'll have to trick the configure script into believing that libgcc.a
has been previously built. You'll also have to build the libraries that
libgcc.a needs. The steps are these:
<OL>
<LI>Unpack the GCC sources. Call this directory <EM>GCCsrcdir</EM>.
<LI>&quot;<TT>mkdir <EM>GCCobjdir</EM> && cd <EM>GCCobjdir</EM> &&
<EM>GCCsrcdir</EM>/configure --whatever</TT>&quot;
<BR>Configure GCC like you normally would. See
<A HREF="http://gcc.gnu.org/install/configure.html">the GCC
configuration instructions</A> for all the possible values
of <TT>--whatever</TT>.
<LI>&quot;<TT>cd libiberty && make</TT>&quot;
<LI>&quot;<TT>cd ../gcc; touch libgcc2.ready</TT>&quot;
</OL>
Now go back to &quot;If you kept your GCCobjdir&quot; and proceed from there.
</P>
<H3>Installing the new libgcc.a</H3>
<P>The reckless method is
<PRE>
cd GCCobjdir/gcc
make install-libgcc</PRE>
This will copy in the new libgcc.a on top of the old one.
</P>
<P>The wiser method is to keep the old one around under a different name,
and install the new one under another different name, and then make
libgcc.a be a hard or soft link to one of the two real libraries. Or
copy one of them by a new name into a directory searched by the linker,
and use -l (dash ell) to pick it up before finding the default
<EM>other</EM> library.
</P>
<HR>
<P>If you're <B>really</B> interested in using a particular flag (say,
-fhonor-std) under <B>all</B> conditions, then you can edit
<EM>GCCsrcdir</EM>/gcc/cp/decl2.c and change the initialization of the
appropriate <TT>flag_</TT> variable to 1. This will turn that flag
on by default, which means that libgcc.a, libstdc++.a, libstdc++.so,
and everything else you ever do will be built with that feature
unless you specifically turn it <EM>off</EM>.
</P>
<!-- ####################################################### -->
<HR>
<P CLASS="fineprint"><EM>
$Id: gccrebuild.html,v 1.4 2000/07/07 21:13:27 pme Exp $
</EM></P>
</BODY>
</HTML>

View File

@ -1,69 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="AUTHOR" CONTENT="pme@sources.redhat.com (Phil Edwards)">
<META NAME="KEYWORDS" CONTENT="libstdc++, homepage, home, g++, libg++, STL">
<META NAME="DESCRIPTION" CONTENT="GNU libstdc++-v3 homepage.">
<META NAME="GENERATOR" CONTENT="vi and eight fingers">
<TITLE>Standard C++ Library v3</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: header.html,v 1.1 2000/04/21 20:33:30 bkoz Exp $ -->
</HEAD>
<!-- This does the BODY tag and that funky imagemap. -->
<!--#include virtual="/include/header-subpages.html"-->
<!-- Encloses everything. :-( First row is the sigil; second row
is the rest of the page (which is another table, blech). That
second row contains two elements; the first is the TOC (in gray)
and the second is another table (hork). That second table
contains the actual "text" of the page.
-->
<TABLE>
<TR><TD VALIGN="TOP" ALIGN="LEFT">
<P><SPAN CLASS="tocheader">libstdc++</SPAN> v3</P>
</TD></TR><TR><TD VALIGN="TOP" bgcolor=#EEEEEE>
<!-- TOC (Navigation bar thingy) -->
<TABLE CELLSPACING=10>
<TR><TD COLSPAN=2></TD></TR>
<TR><TD COLSPAN=2>
<A HREF="index.html">Home</A><BR>
<A HREF="status.html">Status</A><BR>
<A HREF="download.html">Downloading</A><BR>
<A HREF="faq/index.html">FAQ</A> (<A HREF="faq/index.txt">text</A>)<BR>
<A HREF="documentation.html">Documentation</A><BR>
<A HREF="mail.html">Mailing Lists</A><BR>
<A HREF="/cgi-bin/gnatsweb.pl?database=libstdc%2b%2b&user=guest&password=guest&cmd=login">Report a Bug</A><BR>
<A HREF="thanks.html">Contributors</A><BR>
<A HREF="links.html">Links</A><BR>
</TD></TR>
<!--
<TR><TD COLSPAN=2></TD></TR>
<TR><TD COLSPAN=2><B>Get announcements:</B><BR><SMALL>
<FORM METHOD="get" ACTION="/cgi-bin/ml-request">
<INPUT TYPE="hidden" NAME="digest" VALUE="off">
<INPUT TYPE="hidden" NAME="operation" VALUE="subscribe">
<INPUT TYPE="hidden" NAME="listname" VALUE="libstdc++-announce">
<INPUT TYPE="text" NAME="username" VALUE="your e-mail address" size="20">
<BR><INPUT TYPE="submit" NAME="submit" VALUE="Subscribe!">
</FORM>
</SMALL></TD></TR>
-->
</TABLE></TD><TD></TD><TD>
<!-- Why another table for the actual stuff? See JSM's insightful
comments in the source of sources.redhat.com.
-->
<TABLE><TR><TD>
<!-- ####################################################### -->

View File

@ -0,0 +1,36 @@
<!-- ####################################################### -->
<!-- Encloses everything. :-( First row is the sigil; second row
is the rest of the page (which is another table, blech). That
second row contains two elements; the first is the TOC (in gray)
and the second is another table (hork). That second table
contains the actual "text" of the page.
-->
<TABLE>
<TR><TD VALIGN="TOP" ALIGN="LEFT">
<P><SPAN CLASS="tocheader">libstdc++</SPAN> v3</P>
</TD></TR><TR><TD VALIGN="TOP" bgcolor="#EEEEEE">
<!-- TOC (Navigation bar thingy) -->
<TABLE CELLSPACING=10>
<TR><TD COLSPAN=2></TD></TR>
<TR><TD COLSPAN=2>
<A HREF="index.html">Home</A><BR>
<A HREF="status.html">Status</A><BR>
<A HREF="download.html">Downloading</A><BR>
<A HREF="faq/index.html">FAQ</A> (<A HREF="faq/index.txt">text</A>)<BR>
<A HREF="documentation.html">Documentation</A><BR>
<A HREF="mail.html">Mailing Lists</A><BR>
<A HREF="thanks.html">Contributors</A><BR>
<A HREF="links.html">Links</A><BR>
</TD></TR>
</TABLE></TD><TD></TD><TD>
<!-- Why another table for the actual stuff? See JSM's insightful
comments in the source of sources.redhat.com.
-->
<TABLE><TR><TD>
<!-- ####################################################### -->

View File

@ -1,10 +1,19 @@
<HTML>
<HEAD>
<META NAME="KEYWORDS" CONTENT="libstdc++, homepage, home, g++, libg++, STL">
<TITLE>Standard C++ Library v3</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: index.html,v 1.6 2000/11/19 02:52:01 gerald Exp $ -->
</HEAD>
<BODY>
<!--#include virtual="/libstdc++/header.html"-->
<!--#include virtual="/libstdc++/header.ihtml"-->
<H2>What... is your name?</H2>
<P>The GNU Standard C++ Library v3, or libstdc++-2.90.x. Also,
<P>The GNU Standard C++ Library v3, or libstdc++-2.90.x/2.9x. Also,
libstdc++-v3 is the most common nickname.
</P>
@ -12,7 +21,7 @@
<P>This is an ongoing project to implement the ISO 14882 Standard
C++ Library as described in chapters 17 through 27 and Annex D.
<B>Participation is welcome!</B>
<STRONG>Participation is welcome!</STRONG>
</P>
<H2>What... is the airspeed velocity of an unladen swallow?</H2>
@ -26,14 +35,20 @@
<HR>
<H3>News</H3>
<P>
<DL>
<DT>2000-11-17
<DD> Tenth snapshot release,
<A HREF="ftp://sources.redhat.com/pub/libstdc++/libstdc++-2.91.tar.gz">
libstdc++-2.91.tar.gz</A>.
<DT>2000-11-12
<DD> Officially
<A HREF="http://gcc.gnu.org/ml/gcc/2000-11/msg00522.html">made
libstdc++-v3 the default C++ library</A>.
<DT>2000-04-21
<DD> Officially merged library sources into GCC.
<DT>2000-03-24
<DD> Ninth snapshot release,
<A HREF="ftp://sources.redhat.com/pub/libstdc++/libstdc++-2.90.8.tar.gz">
libstdc++-2.90.8.tar.gz</A>.
<DD> Ninth snapshot release, libstdc++-2.90.8.tar.gz.
<DT>1999-12-21
<DD> Eighth snapshot release, libstdc++-2.90.7.tar.gz.
<DT>1999-08-04
@ -56,8 +71,8 @@
<DT>1998-07-15
<DD> First snapshot release.
</DL>
</P>
<!--#include virtual="/libstdc++/footer.html"-->
<!--#include virtual="/libstdc++/footer.ihtml"-->
</BODY>
</HTML>

View File

@ -1,7 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="AUTHOR" CONTENT="pme@sources.redhat.com (Phil Edwards)">
<META NAME="KEYWORDS" CONTENT="libstdc++, libstdc++-v3, GCC, g++">
<META NAME="DESCRIPTION" CONTENT="README for the GNU libstdc++ effort.">
@ -9,7 +8,7 @@
<TITLE>libstdc++-v3 Installation Instructions</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: install.html,v 1.9 2000/10/21 00:51:49 jsm28 Exp $ -->
<!-- $Id: install.html,v 1.11 2000/11/16 22:19:52 gerald Exp $ -->
</HEAD>
<BODY>
@ -404,7 +403,7 @@
Comments and suggestions are welcome, and may be sent to
<A HREF="mailto:pme@sources.redhat.com">Phil Edwards</A> or
<A HREF="mailto:gdr@gcc.gnu.org">Gabriel Dos Reis</A>.
<BR> $Id: install.html,v 1.9 2000/10/21 00:51:49 jsm28 Exp $
<BR> $Id: install.html,v 1.11 2000/11/16 22:19:52 gerald Exp $
</EM></P>

View File

@ -1,45 +1,53 @@
<HTML>
<HEAD>
<META NAME="KEYWORDS" CONTENT="libstdc++, homepage, home, g++, libg++, STL">
<TITLE>Standard C++ Library v3</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: links.html,v 1.5 2000/11/19 02:52:01 gerald Exp $ -->
</HEAD>
<BODY>
<!--#include virtual="/libstdc++/header.html"-->
<!--#include virtual="/libstdc++/header.ihtml"-->
<H3>Links</H3>
Public websites that have info on known defects in the standard:
<P><UL>
<P>Public websites that have info on known defects in the standard:</P>
<UL>
<LI><A HREF="http://www.dkuug.dk/jtc1/sc22/wg21/">defect reflector</A>
<LI><A HREF="http://www.comeaucomputing.com/iso/">comeau reflector</A>
<LI><A HREF="http://reality.sgi.com/austern_mti/std-c++/faq.html">c++ standards FAQ</A>
</UL></P>
</UL>
<P><UL>
<UL>
<LI><A HREF="http://www.sgi.com/Technology/STL">The SGI STL page</A>
<LI><A HREF="http://www.stlport.org/">STLport homepage</A>
</UL></P>
</UL>
<P><UL>
<UL>
<LI><A HREF="http://math.nist.gov/tnt/">Template Numeric Toolkit</A>
<LI><A HREF="http://www.acl.lanl.gov/Pooma/">POOMA</A>
<LI><A HREF="http://www.maths.warwick.ac.uk/cpp/lia/">Language independent
arithmetic</A>
<LI><A HREF="http://www.boost.org">The Boost C++ Libraries</A>
</UL></P>
</UL>
<P><UL>
<UL>
<LI><A HREF="http://webnz.com/robert/cpp_site.html">Internet sites for
C++ users</A>
<LI><A HREF="http://www.unicode.org">Unicode</A>
</UL></P>
</UL>
<P><UL>
<UL>
<LI><A HREF="http://www.research.att.com/~bs/">Bjarne Stroustrup's page</A>
<LI><A HREF="http://www.cantrip.org/cpp.html">Nathan Myers' locale page</A>
<LI><A HREF="http://www.josuttis.com/libbook/">Nicolai Josuttis' Standard
Library book</A>
</UL></P>
</UL>
<!--#include virtual="/libstdc++/footer.html"-->
<!--#include virtual="/libstdc++/footer.ihtml"-->
</BODY>
</HTML>

View File

@ -1,5 +1,14 @@
<HTML>
<HEAD>
<META NAME="KEYWORDS" CONTENT="libstdc++, homepage, home, g++, libg++, STL">
<TITLE>Standard C++ Library v3</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: mail.html,v 1.6 2000/11/26 01:04:27 gerald Exp $ -->
</HEAD>
<BODY>
<!--#include virtual="/libstdc++/header.html"-->
<!--#include virtual="/libstdc++/header.ihtml"-->
@ -11,11 +20,7 @@
development list
<LI>libstdc++-cvs@sources.redhat.com: a mailing list of
CVS-produced messages (exciting reading!)
<LI>libstdc++-prs@sources.redhat.com: a mailing list for problem
reports and bugs
</UL>
These used to be <EM>@sourceware.cygnus.com</EM> but have been renamed;
the old names will continue to work for a while.
</P>
<P>Use this handy little form to subscribe or unsubscribe from any of
@ -26,7 +31,6 @@
<select name="listname">
<option value="libstdc++">libstdc++
<option value="libstdc++-cvs">libstdc++-cvs
<option value="libstdc++-prs">libstdc++-prs
</select>
<br>
Your e-mail address:
@ -47,9 +51,11 @@
<P>Archives are also on the web for extra easy access. Just select
the links below to see the appropriate archive:
<UL>
<LI><A HREF="/ml/libstdc++/">libstdc++</A>
<LI><A HREF="/ml/libstdc++-cvs/">libstdc++-cvs</A>
<LI><A HREF="/ml/libstdc++-prs/">libstdc++-prs</A>
<!-- These need to be moved to gcc.gnu.org -->
<LI><A HREF="http://sources.redhat.com/ml/libstdc++/">libstdc++</A>
<LI><A HREF="http://sources.redhat.com/ml/libstdc++-cvs/">libstdc++-cvs</A>
<LI><A HREF="http://sources.redhat.com/ml/libstdc++-prs/">libstdc++-prs</A>
(historical)
</UL>
</P>
@ -65,5 +71,6 @@
<!--#include virtual="/libstdc++/footer.html"-->
<!--#include virtual="/libstdc++/footer.ihtml"-->
</BODY>
</HTML>

View File

@ -1,10 +1,19 @@
<HTML>
<HEAD>
<META NAME="KEYWORDS" CONTENT="libstdc++, homepage, home, g++, libg++, STL">
<TITLE>Standard C++ Library v3</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: status.html,v 1.5 2000/11/19 02:52:01 gerald Exp $ -->
</HEAD>
<BODY>
<!--#include virtual="/libstdc++/header.html"-->
<!--#include virtual="/libstdc++/header.ihtml"-->
<H3>Status</H3>
<P>Compiling this library requires a recent version of gcc. We suggest
using CVS gcc.
<P>Compiling this library requires sources of a recent version of GCC.
We suggest using CVS GCC.
</P>
<P>New things that work are in the latest
@ -111,10 +120,11 @@ using CVS gcc.
</TABLE>
<P>Note 2: All solaris toolchains were configured with --with-gnu-ld
--with-gnu-as --with-gnu-binutils --with-gcc. (That's a lot of --with's...)
<P>Note 2: All Solaris toolchains were configured with --with-gnu-ld
--with-gnu-as --with-gcc. (That's a lot of --with's...)
</P>
<!--#include virtual="/libstdc++/footer.html"-->
<!--#include virtual="/libstdc++/footer.ihtml"-->
</BODY>
</HTML>

View File

@ -1,5 +1,14 @@
<HTML>
<HEAD>
<META NAME="KEYWORDS" CONTENT="libstdc++, homepage, home, g++, libg++, STL">
<TITLE>Standard C++ Library v3</TITLE>
<LINK REL="home" HREF="http://sources.redhat.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: thanks.html,v 1.11 2000/11/17 01:21:14 pme Exp $ -->
</HEAD>
<BODY>
<!--#include virtual="/libstdc++/header.html"-->
<!--#include virtual="/libstdc++/header.ihtml"-->
@ -112,5 +121,8 @@
<!--#include virtual="/libstdc++/footer.html"-->
<!--#include virtual="/libstdc++/footer.ihtml"-->
</BODY>
</HTML>