diff options
author | Phil Edwards <pme@sourceware.cygnus.com> | 2000-05-03 16:11:03 +0000 |
---|---|---|
committer | Phil Edwards <pme@gcc.gnu.org> | 2000-05-03 16:11:03 +0000 |
commit | 754ac8f7b2d97cbb4adbb355865fd01e69c73a1e (patch) | |
tree | fc3b2f3e5f214caaec0a025d146a3cd3c1c0d38d | |
parent | 1920de4701bceb07cea0b0c657c35577b8e47dde (diff) | |
download | gcc-754ac8f7b2d97cbb4adbb355865fd01e69c73a1e.zip gcc-754ac8f7b2d97cbb4adbb355865fd01e69c73a1e.tar.gz gcc-754ac8f7b2d97cbb4adbb355865fd01e69c73a1e.tar.bz2 |
footer.html: Update to see if it takes effect.
2000-05-03 Phil Edwards <pme@sourceware.cygnus.com>
Felix Natter <fnatter@gmx.net>
* docs/footer.html: Update to see if it takes effect.
* docs/thanks.html: More people.
* docs/17_intro/headers_cc.txt: Copy from testsuite, since that can't
be seen from the web pages. Rename for browser-friendliness...
* docs/17_intro/howto.html: ...and update here.
* docs/17_intro/porting-howto.html: Changes from Felix.
* docs/gccrebuild.html: Mention v3->egcs move.
* docs/faq/index.html: Ditto. Also misc tweaks and URL updates.
* docs/faq/index.txt: Regenerate.
Co-Authored-By: Felix Natter <fnatter@gmx.net>
From-SVN: r33631
-rw-r--r-- | libstdc++-v3/ChangeLog | 13 | ||||
-rw-r--r-- | libstdc++-v3/docs/17_intro/headers_cc.txt | 83 | ||||
-rw-r--r-- | libstdc++-v3/docs/17_intro/howto.html | 6 | ||||
-rw-r--r-- | libstdc++-v3/docs/17_intro/porting-howto.html | 200 | ||||
-rw-r--r-- | libstdc++-v3/docs/faq/index.html | 47 | ||||
-rw-r--r-- | libstdc++-v3/docs/faq/index.txt | 126 | ||||
-rw-r--r-- | libstdc++-v3/docs/footer.html | 4 | ||||
-rw-r--r-- | libstdc++-v3/docs/gccrebuild.html | 9 | ||||
-rw-r--r-- | libstdc++-v3/docs/thanks.html | 18 |
9 files changed, 344 insertions, 162 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 603fdf2..00d3c92 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,16 @@ +2000-05-03 Phil Edwards <pme@sourceware.cygnus.com> + Felix Natter <fnatter@gmx.net> + + * docs/footer.html: Update to see if it takes effect. + * docs/thanks.html: More people. + * docs/17_intro/headers_cc.txt: Copy from testsuite, since that can't + be seen from the web pages. Rename for browser-friendliness... + * docs/17_intro/howto.html: ...and update here. + * docs/17_intro/porting-howto.html: Changes from Felix. + * docs/gccrebuild.html: Mention v3->egcs move. + * docs/faq/index.html: Ditto. Also misc tweaks and URL updates. + * docs/faq/index.txt: Regenerate. + 2000-05-01 Benjamin Kosnik <bkoz@redhat.com> * config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): More diff --git a/libstdc++-v3/docs/17_intro/headers_cc.txt b/libstdc++-v3/docs/17_intro/headers_cc.txt new file mode 100644 index 0000000..d95f17a --- /dev/null +++ b/libstdc++-v3/docs/17_intro/headers_cc.txt @@ -0,0 +1,83 @@ +// 1999-05-12 bkoz + +// Copyright (C) 1999 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// 17.4.1.2 Headers + + +// "C++" headers +#include <algorithm> +#include <bitset> +#include <complex> +#include <deque> +#include <exception> +#include <fstream> +#include <functional> +#include <iomanip> +#include <ios> +#include <iosfwd> +#include <iostream> +#include <istream> +#include <iterator> +#include <limits> +#include <list> +#include <locale> +#include <map> +#include <memory> +#include <new> +#include <numeric> +#include <ostream> +#include <queue> +#include <set> +#include <sstream> +#include <stack> +#include <stdexcept> +#include <streambuf> +#include <string> +#include <typeinfo> +#include <utility> +#include <valarray> +#include <vector> + +// "C" headers +#include <cassert> +#include <cctype> +#include <cerrno> +#include <cfloat> +#include <ciso646> +#include <climits> +#include <clocale> +#include <cmath> +#include <csetjmp> +#include <csignal> +#include <cstdarg> +#include <cstddef> +#include <cstdio> +#include <cstdlib> +#include <cstring> +#include <ctime> + +// "C" headers that might not work if wchar_t support is disabled. +#include <bits/c++config.h> +#if _GLIBCPP_USE_WCHAR_T + #include <cwchar> + #include <cwctype> +#endif + +int main() { } diff --git a/libstdc++-v3/docs/17_intro/howto.html b/libstdc++-v3/docs/17_intro/howto.html index 25642b1..e3b9e26 100644 --- a/libstdc++-v3/docs/17_intro/howto.html +++ b/libstdc++-v3/docs/17_intro/howto.html @@ -9,7 +9,7 @@ <TITLE>libstdc++-v3 HOWTO: Chapter 17</TITLE> <LINK REL="home" HREF="http://sourceware.cygnus.com/libstdc++/docs/18_support/"> <LINK REL=StyleSheet HREF="../lib3styles.css"> -<!-- $Id: howto.html,v 1.1 2000/04/21 20:33:31 bkoz Exp $ --> +<!-- $Id: howto.html,v 1.2 2000/04/25 06:39:48 bkoz Exp $ --> </HEAD> <BODY> @@ -46,7 +46,7 @@ available to you, no matter how. </P> <P>The names of the headers can be easily seen in - <A HREF="../testsuite/17_intro/headers.cc">this source code</A>, + <A HREF="headers_cc.txt"><TT>testsuite/17_intro/headers.cc</TT></A>, which is a small testbed we use to make certain that the headers all compile and run. </P> @@ -147,7 +147,7 @@ Comments and suggestions are welcome, and may be sent to <A HREF="mailto:pme@sourceware.cygnus.com">Phil Edwards</A> or <A HREF="mailto:gdr@egcs.cygnus.com">Gabriel Dos Reis</A>. -<BR> $Id: howto.html,v 1.1 2000/04/21 20:33:31 bkoz Exp $ +<BR> $Id: howto.html,v 1.2 2000/04/25 06:39:48 bkoz Exp $ </EM></P> diff --git a/libstdc++-v3/docs/17_intro/porting-howto.html b/libstdc++-v3/docs/17_intro/porting-howto.html index 024aac7..4d4c254 100644 --- a/libstdc++-v3/docs/17_intro/porting-howto.html +++ b/libstdc++-v3/docs/17_intro/porting-howto.html @@ -15,9 +15,18 @@ <li><a href = "#nocreate">File-flags: <tt>ios::nocreate</tt> and <tt>ios::noreplace</tt></a> <li><a href = "#headers">The new headers</a> + <li><a href = "#iterators">Iterator-changes</a> + <li><a href = "#macros">Libc-macros</a> <li><a href = "#about">Comments, suggestions, corrections, questions...</a> </center> + <p> +In the following, when I say portable, I will refer to "portable among ISO +14882-implementations". On the other hand, if I say "backportable" or +"conservative", I am talking about "compiles with older +libstdc++-implementations". +</p> + <a name = "std"> <h2>Namespace std::</h2> </a> @@ -25,29 +34,40 @@ The latest C++-standard (ISO-14882) requires that the standard C++-library is defined in namespace std::. Thus, to use classes from the standard c++ library, you can do one of three things: -<ul> - <li>wrap your code in <tt>namespace std { ... }</tt> -=> This is not an option because only symbols from the standard c++-library are -defined in namespace std::. - <li>put a kind of <dfn>using-declaration</dfn> in your source -(either <tt>using namespace std;</tt> or i.e. <tt>using std::string;</tt>) -=> works well for source-files, but cannot be used in header-files - <li>use a <dfn>fully qualified name</dfn> for each libstdc++-symbol -(i.e. <tt>std::string</tt>, <tt>std::cout</tt>) -=> can always be used -</ul> + <ul> + <li>wrap your code in <tt>namespace std { ... }</tt> => This is not an + option because only symbols from the standard c++-library are defined in + namespace std::. + + <li>put a kind of <dfn>using-declaration</dfn> in your source (either + <tt>using namespace std;</tt> or i.e. <tt>using std::string;</tt>) + => works well for source-files, but cannot be used in header-files + + <li>use a <dfn>fully qualified name</dfn> for each libstdc++-symbol + (i.e. <tt>std::string</tt>, <tt>std::cout</tt>) => can always be used + </ul> +</p> + <p> +Because there are many compilers which still use an implementation that +does not have the standard C++-library in namespace <tt>std::</tt>, some +care is required to support these as well. +</p> + <p> +Namespace back-portability-issues are generally not a problem with g++, +because versions of g++ that do not have libstdc++ in <tt>std::</tt> use +<tt>-fno-honor-std</tt> (ignore <tt>std::</tt>, <tt>:: = std::</tt>) by +default. That is, the responsibility for enabling or disabling +<tt>std::</tt> is on the user; the maintainer does not have to care about it. +This probably applies to some other compilers as well. </p> <p> -Namespace portability-issues are not a problem with g++, because versions -of g++ that do not have libstdc++ in std:: use <tt>-fno-honor-std</tt> -(ignore <tt>std::</tt>, <tt>:: = std::</tt>) by default. This probably -applies to some other compilers as well. - The following sections list some possible solutions to support compilers that cannot ignore std::. </p> + <a name = "gtkmm"> <h3>Using <dfn>namespace composition</dfn> if the project uses a separate namespace</h3> + </a> <p> <a href = "http://gtkmm.sourcforge.net">Gtk--</a> defines most of its @@ -55,8 +75,7 @@ classes in namespace Gtk::. Thus, it was possible to adapt Gtk-- to namespace std:: by using a C++-feature called <dfn>namespace composition</dfn>. This is what happens if you put a <dfn>using</dfn>-declaration into a namespace-definition: the imported -symbol(s) gets imported into the currently active namespace(s). This is -what it looks like in Gtk--: +symbol(s) gets imported into the currently active namespace(s). For example: <pre> namespace Gtk { using std::string; @@ -64,16 +83,23 @@ namespace Gtk { } </pre> In this example, <tt>std::string</tt> gets imported into namespace Gtk::. -The result is that you don't have to use <tt>std::string</tt> in this header, -but still <tt>std::string</tt> does not get imported into user-space (the -global namespace ::) unless the user does <tt>using namespace Gtk;</tt> -(which is not recommended practice for Gtk--, so it is not a problem). +The result is that you don't have to use <tt>std::string</tt> in this +header, but still <tt>std::string</tt> does not get imported into +user-space (the global namespace ::) unless the user does <tt>using +namespace Gtk;</tt> (which is not recommended practice for Gtk--, so it is +not a problem). Additionally, the <tt>using</tt>-declarations are wrapped +in macros that are set based on autoconf-tests to either "" or +i.e. <tt>using std::string;</tt> (depending on whether the system has +libstdc++ in <tt>std::</tt> or not). +(ideas from llewelly@dbritsch.dsl.xmission.com, +Karl Nelson <kenelson@ece.ucdavis.edu>) </p> - <h3>Defining an empty namespace std for backwards-compatibility</h3> + <h3>Defining an empty namespace std</h3> <p> -By defining an (empty) namespace std:: before using it, you can avoid -getting errors on systems where no part of the library is in std: +By defining an (empty) namespace <tt>std::</tt> before using it, you can +avoid getting errors on systems where no part of the library is in +namespace std: <pre> namespace std { } using namespace std; @@ -82,12 +108,12 @@ using namespace std; <h3>Avoid to use fully qualified names (i.e. std::string)</h3> <p> If some compilers complain about <tt>using std::string;</tt>, and if the -hack for gtk-- mentioned above does not work, then it might be a good idea +"hack" for gtk-- mentioned above does not work, then it might be a good idea to define a macro <tt>NS_STD</tt>, which is defined to either "" or "std" based on an autoconf-test. Then you should be able to use <tt>NS_STD::string</tt>, which will evaluate to <tt>::string</tt> ("string in the global namespace") on systems that do not put string in std::. -(This is untested and might not even be necessary) +(This is untested) </p> <h3>How some open-source-projects deal with this</h3> @@ -103,7 +129,7 @@ in the global namespace") on systems that do not put string in std::. <tr><td><a href = "http://www.mnemonic.org">mnemonic</a></td> <td>none</td> </tr> <tr><td><a href = "http://libsigc.sourceforge.net">libsigc++</a></td> - <td>portable-impl</td> + <td>conservative-impl</td> </tr> </table> @@ -117,11 +143,14 @@ in the global namespace") on systems that do not put string in std::. <td>none</td> <td>no namespace std at all</td> </tr> <tr> - <td>portable-impl</td> <td>wrap all namespace-handling in macros to support - compilers without namespace-support (no libstdc++ used in headers)</td> + <td>conservative-impl</td> <td>wrap all namespace-handling in macros to + support compilers without namespace-support (no libstdc++ used in + headers)</td> </tr> </table> - +As you can see, this currently lacks an example of a project which uses +libstdc++-symbols in headers in a back-portable way +(except for the <a href = "#gtkmm">Gtk-- "hack"</a>). </p> <a name = "nocreate"> <h2>there is no ios::nocreate/ios::noreplace in ISO 14882</h2> @@ -136,7 +165,8 @@ input-streams. For output streams, "nocreate" is probably the default, unless you specify <tt>std::ios::trunc</tt> ? To be safe, you can open the file for reading, check if it has been opened, and then decide whether you want to -create/replace or not. +create/replace or not. To my knowledge, even older implementations support +<tt>app</tt>, <tt>ate</tt> and <tt>trunc</tt> (except for <tt>app</tt> ?). </p> <a name = "attach"> <h2><tt>stream::attach(int fd)</tt> is not in the standard any more</h2> @@ -166,32 +196,108 @@ headers and tell users of old compilers that they should create links (which is what they will have to do sometime anyway). </p> - <h3><tt><ctype.h></tt> introduces ambiguity when used with - <tt><cctype></tt></h3> - <p> -The best solution I came up with so far is to include <tt>cctype</tt> -instead of <tt>ctype.h</tt> wherever possible, and then use fully -qualified names to refer to the libstdc++-versions: std::islower, -std::isalnum etc. (you will need to as soon as any header includes -<tt><ctype.h></tt>, because then there will be an ambiguity with the -C-versions in the global namespace defined in <tt><ctype.h></tt>) + <a name = "cheaders"> + <h3>New headers replacing C-headers</h3> + </a> + <p> +You should not use the C-headers (except for system-level headers) from C++ +programs. Instead, you should use a set of headers that are named by +prepending 'c' and, as usual, ommiting the extension (.h). For example, +instead of using <tt><math.h></tt>, you should use +<tt><cmath></tt>. The standard specifies that if you include the +C-style header (<tt><math.h></tt> in this case), the symbols will be +available both in the global namespace and in namespace <tt>std::</tt> +(libstdc++-v3, version 2.90.8 currently puts them in <tt>std::</tt> only) +On the other hand, if you include only the new header +(i.e. <tt><cmath></tt>), the symbols will only be defined in +namespace <tt>std::</tt> (and macros will be converted to +inline-functions). </p> - + <p> +For more information on this, and for information on how the GNU C++ +implementation reuses ("shadows") the C library-functions, have +a look at <a href = "http://www.cantrip.org/cheaders.html">www.cantrip.org</a>. +</p> + <h3><tt><fstream></tt> does not define <tt>std::cout</tt>, <tt>std::cin</tt> etc.</h3> <p> In previous versions of the standard, <tt><fstream.h></tt>, <tt><ostream.h></tt> and <tt><istream.h></tt> used to define -<tt>cout</tt>, <tt>cin</tt> and so on. With libstdc++-v3, you need -to include <tt><iostream></tt> to define these. +<tt>cout</tt>, <tt>cin</tt> and so on. Because of the templatized iostreams +in libstdc++-v3, you need to include <tt><iostream></tt> explicitly +to define these. +</p> + + <a name = "iterators"> + <h2>Iterators</h2> + </a> + <p> +The following are not proper uses of iterators, but may be working fixes +for existing uses of iterators. + <ul> + <li>you cannot do <tt>ostream::operator<<(iterator)</tt> to print the + address of the iterator => use <tt><< &*iterator</tt> instead ? + <li>you cannot clear an iterator's reference (<tt>iterator = 0</tt>) + => use <tt>iterator = iterator_type();</tt> ? + <li><tt>if (iterator)</tt> won't work any more + => use <tt>if (iterator != iterator_type())</tt> ? + </ul> </p> + + <a name = "macros"> + <h2>Libc-macros (i.e. <tt>isspace</tt> from <tt><cctype></tt>)</h2> + </a> + <p> +Glibc 2.0.x and 2.1.x define the <tt><ctype.h></tt>-functionality +as macros (isspace, isalpha etc.). Libstdc++-v3 "shadows" these macros +as described in the <a href = "#cheaders">section on C-headers</a>. +</p> + <p> +Older implementations of libstdc++ (g++-2 for egcs 1.x and g++-3 for +gcc 2.95.2), however, keep these functions as macros, and so it is not +back-portable to use fully qualified names. For example: +<pre> +#include <cctype> +int main() { std::isspace('X'); } +</pre> +will result in something like this (unless using g++-v3): +<pre> +std:: (__ctype_b[(int) ( ( 'X' ) )] & (unsigned short int) _ISspace ) ; +</pre> +Another problem arises if you put a <tt>using namespace std;</tt> +declaration at the top, and include <tt><ctype.h></tt>. This will +result in ambiguities between the definitions in the global namespace +(<tt><ctype.h></tt>) and the definitions in namespace <tt>std::</tt> +(<tt><cctype></tt>). +</p> + <p> +One solution I can think of is to test for -v3 using autoconf-macros, and +define macros for each of the C-functions (maybe that is possible with one +"wrapper" macro as well ?). +</p> + <p> +Another solution which would fix g++ is to tell the user to modify +a header-file so that g++-2 (egcs 1.x) and g++-3 (gcc 2.95.2) +enable a macro which tells <ctype.h> to define functions instead of +macros: +<pre> +// This keeps isanum, et al from being propagated as macros. +#if __linux__ +#define __NO_CTYPE 1 +#endif + +[ now include <ctype.h> ] +</pre> +</p> + <a name = "about"> <h2>About...</h2> </a> <p> -Please send any experience, additions, corrections or questions to <a href = -"mailto:fnatter@gmx.net">fnatter@gmx.net</a> or for discussion to -the libstdc++-v3-mailing-list. +Please send any experience, additions, corrections or questions to <a href += "mailto:fnatter@gmx.net">fnatter@gmx.net</a> or for discussion to the +libstdc++-v3-mailing-list. </p> </body> diff --git a/libstdc++-v3/docs/faq/index.html b/libstdc++-v3/docs/faq/index.html index 12c7b3d..e516fe1 100644 --- a/libstdc++-v3/docs/faq/index.html +++ b/libstdc++-v3/docs/faq/index.html @@ -13,7 +13,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.21 2000/03/26 03:44:35 pme Exp $ --> +<!-- $Id: index.html,v 1.1 2000/04/21 20:33:32 bkoz Exp $ --> </HEAD> <BODY> @@ -106,7 +106,7 @@ HREF="ftp://sourceware.cygnus.com/pub/libstdc++/libstdc++-2.90.8.tar.gz">the <HR> <H2><A NAME="1_2">1.2 Why should I use libstdc++?</A></H2> - <P>The recent completion of the ISO C++ standardization gave the + <P>The completion of the ISO C++ standardization gave the C++ community a powerful set of reuseable tools in the form of the C++ Standard Library. However, all existing C++ implementations are (as the Draft Standard used to say) @@ -117,10 +117,10 @@ HREF="ftp://sourceware.cygnus.com/pub/libstdc++/libstdc++-2.90.8.tar.gz">the (<TT>gcc</TT>, <TT>g++</TT>, etc) is widely considered to be one of the leading compilers in the world. Its development has recently been taken over by the - <A HREF="http://egcs.cygnus.com/">GCC team</A>. All of + <A HREF="http://gcc.gnu.org/">GCC team</A>. All of the rapid development and near-legendary <A -HREF="http://egcs.cygnus.com/gcc-2.95/buildstat.html">portability</A> +HREF="http://gcc.gnu.org/gcc-2.95/buildstat.html">portability</A> that are the hallmarks of an open-source project are being applied to libstdc++. </P> @@ -214,7 +214,7 @@ HREF="ftp://sourceware.cygnus.com/pub/libstdc++/libstdc++-2.90.8.tar.gz"> stuff" classes will probably migrate there.) </P> <P>For the bold and/or desperate, the - <A HREF="http://egcs.cygnus.com/faq.html#libg++">GCC FAQ</A> + <A HREF="http://gcc.gnu.org/faq.html#libg++">GCC FAQ</A> describes where to find the last libg++ source. </P> @@ -271,32 +271,13 @@ HREF="http://sourceware.cygnus.com/automake/">automake</A>. <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++. If you do not want to do that, - then you'll be missing out on a lot of functionality, but it - can still be done. - </P> - <P>In that case, you can use the same procedure that used to be - required: - <OL> - <LI> Build GCC as usual. - <LI> Build libstdc++-v3 as described in the installation - document, under the section "without GCC - sources." Be aware that you will lose the std:: - namespace encapsulation. - <LI> Build your code using -I and -L options so that GCC - finds the libstdc++-v3 headers and library before the - older headers in the GCC include tree. - </OL> - </P> - <P>If you configured libstdc++-v3 to install under a directory - called <B>/lib3</B>, for example, the command line would look - something like - <!-- Careful, the leading spaces in PRE show up directly. --> - <PRE> - g++ -Wall -I/lib3/include/g++-v3 -L/lib3/lib foo.cc -o foo - </PRE> - More information (such as using SGI or GNU extensions, and - setting the runtime library path) can be found in the RELEASE-NOTES. + 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> <HR> @@ -511,7 +492,7 @@ to the list</A>, Nathan Myers announced that he has started a list of <H2><A NAME="4_5">4.5 Aw, that's easy to fix!</A></H2> <P>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 <A HREF="http://egcs.cygnus.com/contribute.html">submitting + on <A HREF="http://gcc.gnu.org/contribute.html">submitting patches</A> 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++ @@ -664,7 +645,7 @@ HREF="http://sourceware.cygnus.com/ml/libstdc++/1999/msg00084.html">speculation< Comments and suggestions are welcome, and may be sent to <A HREF="mailto:pme@sourceware.cygnus.com">Phil Edwards</A> or <A HREF="mailto:gdr@egcs.cygnus.com">Gabriel Dos Reis</A>. -<BR> $Id: index.html,v 1.21 2000/03/26 03:44:35 pme Exp $ +<BR> $Id: index.html,v 1.1 2000/04/21 20:33:32 bkoz Exp $ </EM></P> diff --git a/libstdc++-v3/docs/faq/index.txt b/libstdc++-v3/docs/faq/index.txt index 27c2472..d3d20370 100644 --- a/libstdc++-v3/docs/faq/index.txt +++ b/libstdc++-v3/docs/faq/index.txt @@ -65,11 +65,11 @@ 1.2 Why should I use libstdc++? - The recent completion of the ISO C++ standardization gave the C++ - community a powerful set of reuseable tools in the form of the C++ - Standard Library. However, all existing C++ implementations are (as - the Draft Standard used to say) "incomplet and incorrekt," and many - suffer from limitations of the compilers that use them. + The completion of the ISO C++ standardization gave the C++ community a + powerful set of reuseable tools in the form of the C++ Standard + Library. However, all existing C++ implementations are (as the Draft + Standard used to say) "incomplet and incorrekt," and many suffer from + limitations of the compilers that use them. 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 @@ -206,25 +206,13 @@ The installation instructions cover this in more detail, but replacing the older library requires rebuilding some of the code that comes with - g++. If you do not want to do that, then you'll be missing out on a - lot of functionality, but it can still be done. - - In that case, you can use the same procedure that used to be required: - 1. Build GCC as usual. - 2. Build libstdc++-v3 as described in the installation document, - under the section "without GCC sources." Be aware that you will - lose the std:: namespace encapsulation. - 3. Build your code using -I and -L options so that GCC finds the - libstdc++-v3 headers and library before the older headers in the - GCC include tree. - - If you configured libstdc++-v3 to install under a directory called - /lib3, for example, the command line would look something like - g++ -Wall -I/lib3/include/g++-v3 -L/lib3/lib foo.cc -o foo - - - More information (such as using SGI or GNU extensions, and setting the - runtime library path) can be found in the RELEASE-NOTES. + 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. _________________________________________________________________ 2.3 What is this CVS thing that you keep mentioning? @@ -533,71 +521,71 @@ count(struct __rb_tree_node_base *, struct __rb_tree_node_base *)' Comments and suggestions are welcome, and may be sent to [71]Phil Edwards or [72]Gabriel Dos Reis. - $Id: index.txt,v 1.17 2000/03/26 03:44:35 pme Exp $ + $Id: index.html,v 1.1 2000/04/21 20:33:32 bkoz Exp $ References 1. http://sourceware.cygnus.com/libstdc++/ 2. http://sourceware.cygnus.com/libstdc++/faq/index.html - 3. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/index.html - 4. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#1_0 - 5. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#1_1 - 6. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#1_2 - 7. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#1_3 - 8. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#1_4 - 9. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#1_5 - 10. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#1_6 - 11. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#1_7 - 12. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#1_8 - 13. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#2_0 - 14. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#2_1 - 15. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#2_2 - 16. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#2_3 - 17. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#2_4 - 18. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#3_0 - 19. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#3_1 - 20. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#3_2 - 21. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#4_0 - 22. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#4_1 - 23. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#4_2 - 24. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#4_3 - 25. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#4_4 - 26. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#4_5 - 27. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#5_0 - 28. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#5_1 - 29. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#5_2 - 30. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#5_3 - 31. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#5_4 - 32. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#5_5 - 33. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#5_6 - 34. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#5_7 + 3. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/index.html + 4. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#1_0 + 5. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#1_1 + 6. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#1_2 + 7. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#1_3 + 8. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#1_4 + 9. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#1_5 + 10. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#1_6 + 11. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#1_7 + 12. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#1_8 + 13. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#2_0 + 14. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#2_1 + 15. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#2_2 + 16. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#2_3 + 17. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#2_4 + 18. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#3_0 + 19. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#3_1 + 20. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#3_2 + 21. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#4_0 + 22. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#4_1 + 23. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#4_2 + 24. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#4_3 + 25. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#4_4 + 26. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#4_5 + 27. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#5_0 + 28. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#5_1 + 29. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#5_2 + 30. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#5_3 + 31. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#5_4 + 32. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#5_5 + 33. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#5_6 + 34. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#5_7 35. ftp://sourceware.cygnus.com/pub/libstdc++/libstdc++-2.90.8.tar.gz - 36. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/17_intro/DESIGN - 37. http://egcs.cygnus.com/ - 38. http://egcs.cygnus.com/gcc-2.95/buildstat.html - 39. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/index.html + 36. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/17_intro/DESIGN + 37. http://gcc.gnu.org/ + 38. http://gcc.gnu.org/gcc-2.95/buildstat.html + 39. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/index.html 40. ftp://sourceware.cygnus.com/pub/libstdc++/libstdc++-2.90.8.tar.gz - 41. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/index.html + 41. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/index.html 42. http://www.deja.com/getdoc.xp?AN=469581698&fmt=text - 43. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/17_intro/contribute.html + 43. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/17_intro/contribute.html 44. http://www.boost.org/ - 45. http://egcs.cygnus.com/faq.html#libg++ + 45. http://gcc.gnu.org/faq.html#libg++ 46. mailto:libstdc++@sourceware.cygnus.com 47. mailto:pme@sourceware.cygnus.com 48. mailto:gdr@egcs.cygnus.com 49. http://sourceware.cygnus.com/autoconf/ 50. http://sourceware.cygnus.com/automake/ - 51. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/documentation.html - 52. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/17_intro/RELEASE-NOTES + 51. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/documentation.html + 52. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/17_intro/RELEASE-NOTES 53. http://www.gnu.org/software/cvs/cvs.html 54. http://www.cyclic.com/ 55. http://www.xraylith.wisc.edu/~khan/software/gnu-win32/libstdc++-v3.html 56. file://localhost/ml/libstdc++/1998/msg00006.html 57. http://www.cantrip.org/draft-bugs.txt 58. http://anubis.dkuug.dk/jtc1/sc22/wg21/ - 59. http://egcs.cygnus.com/contribute.html - 60. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/17_intro/contribute.html - 61. file://localhost/home0/pedwards/EGCS/gcc-2.95.2/libstdc++-v3/docs/faq/index.html#2_4 + 59. http://gcc.gnu.org/contribute.html + 60. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/17_intro/contribute.html + 61. file://localhost/home0/pedwards/src/egcsworking/libstdc++-v3/docs/faq/index.html#2_4 62. http://sourceware.cygnus.com/ml/libstdc++/1999/msg00080.html 63. http://sourceware.cygnus.com/ml/libstdc++/1999/msg00084.html 64. http://www.sgi.com/Technology/STL/ diff --git a/libstdc++-v3/docs/footer.html b/libstdc++-v3/docs/footer.html index f3740d6..a7a2ec0 100644 --- a/libstdc++-v3/docs/footer.html +++ b/libstdc++-v3/docs/footer.html @@ -9,8 +9,8 @@ These pages are stoically maintained by <A HREF="mailto:pme@sourceware.cygnus.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 was last modified on -2000-03-24. +congealing into some kind of permanent structure, and were last modified on +2000-04-29. </EM></P> <!-- And this closes everything out. --> diff --git a/libstdc++-v3/docs/gccrebuild.html b/libstdc++-v3/docs/gccrebuild.html index 3f167cc..8f57884 100644 --- a/libstdc++-v3/docs/gccrebuild.html +++ b/libstdc++-v3/docs/gccrebuild.html @@ -9,7 +9,7 @@ <TITLE>How to automatically rebuild libgcc.a.</TITLE> <LINK REL="home" HREF="http://sourceware.cygnus.com/libstdc++/"> <LINK REL=StyleSheet HREF="lib3styles.css"> -<!-- $Id: gccrebuild.html,v 1.1 2000/01/14 20:03:09 pme Exp $ --> +<!-- $Id: gccrebuild.html,v 1.1 2000/04/21 20:33:30 bkoz Exp $ --> </HEAD> <BODY> @@ -39,7 +39,10 @@ as <EM>objdir</EM>; here it will be called <EM>GCCobjdir</EM>. </P> -<P>This is a kludge, and will go away eventually.</P> +<P>This is a kludge, and will go away eventually. (In a sense, it has + already gone away, as the library sources have been merged into the + compiler sources.) +</P> <HR> @@ -111,7 +114,7 @@ <HR> <P CLASS="fineprint"><EM> -$Id: gccrebuild.html,v 1.1 2000/01/14 20:03:09 pme Exp $ +$Id: gccrebuild.html,v 1.1 2000/04/21 20:33:30 bkoz Exp $ </EM></P> diff --git a/libstdc++-v3/docs/thanks.html b/libstdc++-v3/docs/thanks.html index 791272c..02d989c 100644 --- a/libstdc++-v3/docs/thanks.html +++ b/libstdc++-v3/docs/thanks.html @@ -17,7 +17,7 @@ Please keep this list in alphabetical order. <!-- - Latest update 2000-03-09, more or less. + Latest update 2000-04-29, more or less. --> <UL> @@ -56,7 +56,8 @@ <LI>Benjamin Kosnik for, well, everything. - <LI>Martin v. Loewis for namespace patches and fixes. + <LI>Martin v. Loewis for namespace patches and fixes, and tons of + assistance with the compiler merges. <LI>Philip Martin for lots of string and vector iterator fixes and improvements, and string clean up and testsuites. @@ -71,7 +72,10 @@ <LI>Nathan Myers for inflicting locales on the rest of us, working on iostream, string and string documentation (!), fixing that __black_count loop that so many people bugged us about, and creating - the initial documentation (DESIGN, CHECKLIST, and so forth). + the initial documentation (DESIGN, CHECKLIST, and so forth). Huge + chunks of the MT-safe code are also due to his work. + + <LI>Felix Natter for documentation on porting. <LI>Chip Salzenberg for patches and improvements to locales, traits, Makefiles, libio, libtool hackery, and "long long" support. @@ -84,11 +88,15 @@ </UL></P> <P>We'd also like to thank the folks who have contributed time and - energy in testing libstdc++-v3: + energy in testing libstdc++-v3, especially those sending in testsuite + evaluations: <UL> - <LI>Folks for sending in testsuite evaluations. + <LI>Jürgen Freyh + <LI>llewelly <!-- Honest, that's the only name in the messages. --> + <LI>Loren James Rittle + <LI>George Talbot </UL></P> |