aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/docs
diff options
context:
space:
mode:
authorPhil Edwards <pme@gcc.gnu.org>2001-11-24 03:28:27 +0000
committerPhil Edwards <pme@gcc.gnu.org>2001-11-24 03:28:27 +0000
commitb00378457a5be638dfec92b0e12659179810f17b (patch)
tree943957c0c412258b083a40f82a79f24df12f6258 /libstdc++-v3/docs
parent05ce35e6f212f419fc807cea258aa613da1191c5 (diff)
downloadgcc-b00378457a5be638dfec92b0e12659179810f17b.tar.gz
gcc-b00378457a5be638dfec92b0e12659179810f17b.tar.bz2
gcc-b00378457a5be638dfec92b0e12659179810f17b.zip
Makefile.am (doxygen-maint): The script isn't executable in CVS.
2001-11-23 Phil Edwards <pme@gcc.gnu.org> * Makefile.am (doxygen-maint): The script isn't executable in CVS. * Makefile.in: Regenerated. * docs/doxygen/TODO: New file listing doxygen work to be done. * docs/doxygen/run_doxygen: Fix up man pages. * docs/doxygen/user.cfg.in: Insert maint-only toggles. * docs/doxygen/maint.cfg.in: Copy from user.cfg and turn toggles on. * include/bits/stl_construct.h: Use new hooks for internal functions. * docs/html/17_intro/TODO: Small updates. * docs/html/faq/index.html: Likewise. * docs/html/faq/index.txt: Regenerated. * include/bits/stl_alloc.h: Doxygenate, reindent comments, remove SGI-isms and wrappers. (simple_alloc, debug_alloc): Uglify class names. (__default_alloc_template): Uglify "threads" template parameter and update corresponding macros. * include/backward/alloc.h: Bring up to date. From-SVN: r47296
Diffstat (limited to 'libstdc++-v3/docs')
-rw-r--r--libstdc++-v3/docs/doxygen/TODO52
-rw-r--r--libstdc++-v3/docs/doxygen/maint.cfg.in155
-rw-r--r--libstdc++-v3/docs/doxygen/run_doxygen16
-rw-r--r--libstdc++-v3/docs/doxygen/user.cfg.in9
-rw-r--r--libstdc++-v3/docs/html/17_intro/TODO4
-rw-r--r--libstdc++-v3/docs/html/faq/index.html17
-rw-r--r--libstdc++-v3/docs/html/faq/index.txt215
7 files changed, 314 insertions, 154 deletions
diff --git a/libstdc++-v3/docs/doxygen/TODO b/libstdc++-v3/docs/doxygen/TODO
new file mode 100644
index 00000000000..20f79593e4f
--- /dev/null
+++ b/libstdc++-v3/docs/doxygen/TODO
@@ -0,0 +1,52 @@
+
+The approach I've been using for a given header is to recursively do each
+of the "bits" headers which make up the standard header. So, e.g., while
+there are five headers making up <algorithm>, three of them were already
+documented in the course of doing other headers.
+
+"Untouched" means I've deliberately skipped it for various reasons, or
+haven't gotten to it yet. It /will/ be done (by somebody, eventually.)
+
+
+ Area Still needs to be doxygen-documented
+-----------------------------------------------------------
+
+c17 FINISHED (Nothing in Clause 17 "exists" in terms of code.)
+c18 <limits>, Note A
+c19 Note A
+c20 std_memory.h[20.4], rel_ops (should they be doc'd?), Note A
+c21 Untouched, Note B
+c22 Untouched
+c23 See doxygroups.cc and Note B.
+ stl_alloc.h, stl_uninitialized.h remain from the common files.
+c24 Untouched
+c25 stl_tempbuf.h (small), stl_algo.h (big)
+c26 <complex>, <valarray>, stl_numeric.h[26.4], Note A
+c27 Untouched
+
+backward/ Not scanned by doxygen. Should it be?
+
+ext/ Untouched
+
+__gnu_cxx Extensions such as verbose_terminate_handler are documented
+ but do not appear in output, since the __gnu_cxx namespace is
+ itself undocumented. Should it be? Eeeeeeehhh...
+
+[1.3.5] "implementation-defined behavior: behavior ... that depends
+ on the implementation *and that each implementation shall
+ document*." [my emphasis] Not all implementation choices
+ have been thus described; doxygen is not necessarily the
+ appropriate place for such descriptions, either.
+
+-----------------------------------------------------------
+
+NOTES:
+
+A) So far I have not tried to document any of the <c*> headers. So entities
+such as atexit() are undocumented throughout the library.
+
+B) Huge chunks of containers and strings are described in common "Tables"
+in the standard. How to reproduce this information?
+
+
+vim:ts=4:et:
diff --git a/libstdc++-v3/docs/doxygen/maint.cfg.in b/libstdc++-v3/docs/doxygen/maint.cfg.in
index 71801e6120a..25ae78b861c 100644
--- a/libstdc++-v3/docs/doxygen/maint.cfg.in
+++ b/libstdc++-v3/docs/doxygen/maint.cfg.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.2.4
+# Doxyfile 1.2.6
# This file describes the settings to be used by doxygen for a project
#
@@ -9,6 +9,10 @@
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (" ")
+### When doxygen is run, the current directory is the top of
+### the libstdc++-v3 source directory. Keep this in mind while
+### writing relative-path directories.
+
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
@@ -16,13 +20,13 @@
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
-PROJECT_NAME = "libstdc++"
+PROJECT_NAME = "libstdc++-v3 Source"
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = 3
+PROJECT_NUMBER =
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
@@ -46,8 +50,8 @@ OUTPUT_LANGUAGE = English
# Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-#EXTRACT_ALL = NO
-EXTRACT_ALL = YES
+EXTRACT_ALL = NO
+#EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
@@ -65,21 +69,21 @@ EXTRACT_STATIC = YES
# various overviews, but no documentation section is generated.
# This option has no effect if EXTRACT_ALL is enabled.
-HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_MEMBERS = YES
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy.
# If set to NO (the default) these class will be included in the various
# overviews. This option has no effect if EXTRACT_ALL is enabled.
-HIDE_UNDOC_CLASSES = NO
+HIDE_UNDOC_CLASSES = YES
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc).
# Set to NO to disable this.
-BRIEF_MEMBER_DESC = NO
+BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
# the brief description of a member or function before the detailed description.
@@ -118,12 +122,12 @@ INTERNAL_DOCS = NO
# generate a class diagram (in Html and LaTeX) for classes with base or
# super classes. Setting the tag to NO turns the diagrams off.
-CLASS_DIAGRAMS = NO
+CLASS_DIAGRAMS = YES
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
+# be generated. Documented entities will be cross-referenced with these sources.
-SOURCE_BROWSER = NO
+SOURCE_BROWSER = YES
# Setting the INLINE_SOURCES tag to YES will include the body
# of functions and classes directly in the documentation.
@@ -142,7 +146,7 @@ STRIP_CODE_COMMENTS = YES
# in case and if your file system supports case sensitive file names. Windows
# users are advised to set this option to NO.
-CASE_SENSE_NAMES = YES
+CASE_SENSE_NAMES = NO
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
# will show members with their full class and namespace scopes in the
@@ -186,14 +190,14 @@ INLINE_INFO = YES
# alphabetically by member name. If set to NO the members will appear in
# declaration order.
-SORT_MEMBER_DOCS = NO
+SORT_MEMBER_DOCS = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
-#DISTRIBUTE_GROUP_DOC = NO
+DISTRIBUTE_GROUP_DOC = YES
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
# Doxygen uses this value to replace tabs by spaces in code fragments.
@@ -203,19 +207,25 @@ TAB_SIZE = 4
# The ENABLE_SECTIONS tag can be used to enable conditional
# documentation sections, marked by \if sectionname ... \endif.
-ENABLED_SECTIONS =
+ENABLED_SECTIONS = maint
# The GENERATE_TODOLIST tag can be used to enable (YES) or
# disable (NO) the todo list. This list is created by putting \todo
# commands in the documentation.
-GENERATE_TODOLIST = YES
+GENERATE_TODOLIST = NO
# The GENERATE_TESTLIST tag can be used to enable (YES) or
# disable (NO) the test list. This list is created by putting \test
# commands in the documentation.
-GENERATE_TESTLIST = YES
+GENERATE_TESTLIST = NO
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
# This tag can be used to specify a number of aliases that acts
# as commands in the documentation. An alias has the form "name=value".
@@ -224,7 +234,31 @@ GENERATE_TESTLIST = YES
# will result in a user defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
-#ALIASES =
+ALIASES = "maint=\if maint" \
+ "endmaint=\endif"
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consist of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C.
+# For instance some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
@@ -239,7 +273,6 @@ QUIET = YES
# generated by doxygen. Possible values are YES and NO. If left blank
# NO is used.
-### pme Turned off; apparently doxygen can't grok templates
WARNINGS = NO
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
@@ -259,25 +292,47 @@ WARN_FORMAT = "$file:$line: $text"
# and error messages should be written. If left blank the output is written
# to stderr.
-#WARN_LOGFILE =
+WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
-# The INPUT tag can be used to specify the files and/or directories that contain
+# The INPUT tag can be used to specify the files and/or directories that contain
# documented source files. You may enter file names like "myfile.cpp" or
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
-INPUT = include src libmath libsupc++ libio config
+INPUT = docs/doxygen \
+ libsupc++ \
+ include \
+ src \
+libsupc++/exception libsupc++/new libsupc++/typeinfo include/ext/hash_map \
+include/ext/hash_set include/ext/rope include/ext/slist include/std/algorithm \
+include/std/bitset include/std/cassert include/std/cctype \
+include/std/cerrno include/std/cfloat include/std/ciso646 include/std/climits \
+include/std/clocale include/std/cmath include/std/complex include/std/csetjmp \
+include/std/csignal include/std/cstdarg include/std/cstddef \
+include/std/cstdio include/std/cstdlib include/std/cstring \
+include/std/ctime include/std/cwchar include/std/cwctype include/std/deque \
+include/std/fstream include/std/functional include/std/iomanip \
+include/std/ios include/std/iosfwd include/std/iostream include/std/istream \
+include/std/iterator include/std/limits include/std/list include/std/locale \
+include/std/map include/std/memory include/std/numeric include/std/ostream \
+include/std/queue include/std/set include/std/sstream include/std/stack \
+include/std/stdexcept include/std/streambuf include/std/string \
+include/std/utility include/std/valarray include/std/vector
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank all files are included.
-FILE_PATTERNS = *.cc *.h c++config
+FILE_PATTERNS = *.doxy \
+ *.cc \
+ *.tcc \
+ *.h \
+ c++config
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
# should be searched for input files as well. Possible values are YES and NO.
@@ -288,13 +343,16 @@ RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
-EXCLUDE =
+
+EXCLUDE = include/c \
+ include/c_shadow \
+ docs/doxygen/stdheader.cc
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
# certain files from those directories.
-EXCLUDE_PATTERNS =
+EXCLUDE_PATTERNS = CVS
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
@@ -328,7 +386,7 @@ INPUT_FILTER =
# INPUT_FILTER) will be used to filter the input files when producing source
# files to browse.
-#FILTER_SOURCE_FILES = NO
+FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
@@ -385,7 +443,7 @@ HTML_FOOTER =
# fine-tune the look of the HTML output. If the tag is left blank doxygen
# will generate a default style sheet
-HTML_STYLESHEET =
+HTML_STYLESHEET = docs/doxygen/style.css
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
@@ -400,30 +458,47 @@ HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set YES to add extra items for group members
+# to the contents of the Html help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
# top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it.
-DISABLE_INDEX = NO
+DISABLE_INDEX = YES
# This tag can be used to set the number of enum values (range [1..20])
# that doxygen will group on one line in the generated HTML documentation.
-#ENUM_VALUES_PER_LINE = 4
+ENUM_VALUES_PER_LINE = 4
-# If the GENERATE_TREEVIEW tag is set to YES, a side pannel will be
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
# generated containing a tree-like index structure (just like the one that
# is generated for HTML Help). For this to work a browser that supports
# JavaScript and frames is required (for instance Netscape 4.0+
# or Internet explorer 4.0+).
-GENERATE_TREEVIEW = YES
+GENERATE_TREEVIEW = NO
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
# used to set the initial width (in pixels) of the frame in which the tree
# is shown.
-#TREEVIEW_WIDTH = 250
+TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
@@ -528,7 +603,7 @@ RTF_STYLESHEET_FILE =
# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
# generate man pages
-GENERATE_MAN = NO
+GENERATE_MAN = YES
# The MAN_OUTPUT tag is used to specify where the man pages will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
@@ -603,7 +678,7 @@ EXPAND_AS_DEFINED =
# The TAGFILES tag can be used to specify one or more tagfiles.
-TAGFILES =
+TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
# a tag file that is based on the input files it reads.
@@ -630,7 +705,7 @@ PERL_PATH = /usr/bin/perl
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
# have no effect if this option is set to NO (the default)
-HAVE_DOT = NO
+HAVE_DOT = YES
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
@@ -689,7 +764,13 @@ MAX_DOT_GRAPH_HEIGHT = 1024
# generate a legend page explaining the meaning of the various boxes and
# arrows in the dot generated graphs.
-#GENERATE_LEGEND = YES
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermedate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
@@ -738,3 +819,5 @@ EXT_DOC_PATHS =
# End of file
+
+
diff --git a/libstdc++-v3/docs/doxygen/run_doxygen b/libstdc++-v3/docs/doxygen/run_doxygen
index 4563f925942..78f23854974 100644
--- a/libstdc++-v3/docs/doxygen/run_doxygen
+++ b/libstdc++-v3/docs/doxygen/run_doxygen
@@ -4,7 +4,7 @@
#
# Synopsis: run_doxygen --mode=[user|maint] v3srcdir v3builddir
#
-# Originally hacked together by Phil Edwards <pme@sources.redhat.com>
+# Originally hacked together by Phil Edwards <pme@gcc.gnu.org>
# We can check now that the version of doxygen is >= this variable.
@@ -162,6 +162,20 @@ for f in $problematic; do
done
rm stdheader
+# Some of the pages for generated modules have text that confuses certain
+# implementations of man(1), e.g., Linux's. We need to have another top-level
+# *roff tag to /stop/ the .SH NAME entry.
+#problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3`
+problematic='Containers.3 Sequences.3 Assoc_containers.3'
+for f in $problematic; do
+ sed '/^\.SH NAME/{
+n
+a\
+.SH SYNOPSIS
+ }' $f > TEMP
+ mv TEMP $f
+done
+
cp ${srcdir}/docs/doxygen/Intro.3 .
}
diff --git a/libstdc++-v3/docs/doxygen/user.cfg.in b/libstdc++-v3/docs/doxygen/user.cfg.in
index b9d192a53c6..6274cbd898e 100644
--- a/libstdc++-v3/docs/doxygen/user.cfg.in
+++ b/libstdc++-v3/docs/doxygen/user.cfg.in
@@ -50,8 +50,8 @@ OUTPUT_LANGUAGE = English
# Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-#EXTRACT_ALL = NO
-EXTRACT_ALL = YES
+EXTRACT_ALL = NO
+#EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
@@ -125,7 +125,7 @@ INTERNAL_DOCS = NO
CLASS_DIAGRAMS = YES
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
+# be generated. Documented entities will be cross-referenced with these sources.
SOURCE_BROWSER = YES
@@ -234,7 +234,8 @@ GENERATE_BUGLIST = YES
# will result in a user defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
-ALIASES =
+ALIASES = "maint=\if maint" \
+ "endmaint=\endif"
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
# the initial value of a variable or define consist of for it to appear in
diff --git a/libstdc++-v3/docs/html/17_intro/TODO b/libstdc++-v3/docs/html/17_intro/TODO
index 4da846277d6..0128b2bb534 100644
--- a/libstdc++-v3/docs/html/17_intro/TODO
+++ b/libstdc++-v3/docs/html/17_intro/TODO
@@ -152,8 +152,6 @@ sources, with macro-guards.
- write filebuf for wide characters
-- replace stl/bits/stl_config
-
- add feature-test macros for non-standard extensions
- move major extensions into separate namespace (e.g. stl::)
@@ -166,8 +164,6 @@ sources, with macro-guards.
facets, and construct them lazily so unused facets need not be constructed
when the locale is.
-- get mknumeric_limits coope with 'exotic' OSes.
-
- <cmath>: provide missing names.
- provide testsuites for numerics.
diff --git a/libstdc++-v3/docs/html/faq/index.html b/libstdc++-v3/docs/html/faq/index.html
index 7b587855372..f9f00a1ee77 100644
--- a/libstdc++-v3/docs/html/faq/index.html
+++ b/libstdc++-v3/docs/html/faq/index.html
@@ -99,7 +99,7 @@ http://gcc.gnu.org/onlinedocs/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.9x, is an
+ <p>The GNU Standard C++ Library v3 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
@@ -109,10 +109,15 @@ http://gcc.gnu.org/onlinedocs/libstdc++/faq/</a>.</p>
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).
- </p>
+ </p>
+ <p>The older libstdc++-v2 project is no longer maintained; the code
+ has been completely replaced and rewritten.
+ <a href="#4_4_interface">If you are using V2</a>, then you need to
+ report bugs to your system vendor, not to the V3 list.
+ </p>
<p>A more formal description of the V3 goals can be found in the
official <a href="../17_intro/DESIGN">design document</a>.
- </p>
+ </p>
<hr>
<h2><a name="1_2">1.2 Why should I use libstdc++?</a></h2>
@@ -582,8 +587,10 @@ New:
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
+ <p>If the headers are in <code>${prefix}/include/g++-3</code>, or if
+ the installed library's name looks like <code>libstdc++-2.10.a</code>
+ or <code>libstdc++-libc6-2.10.so</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>
diff --git a/libstdc++-v3/docs/html/faq/index.txt b/libstdc++-v3/docs/html/faq/index.txt
index 9aff7fb2d67..356d31cc678 100644
--- a/libstdc++-v3/docs/html/faq/index.txt
+++ b/libstdc++-v3/docs/html/faq/index.txt
@@ -59,17 +59,21 @@
1.1 What is libstdc++-v3?
- The GNU Standard C++ Library v3, or libstdc++-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 [45]the eleventh 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 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 [45]the eleventh
+ 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 older libstdc++-v2 project is no longer maintained; the code has
+ been completely replaced and rewritten. [46]If you are using V2, then
+ you need to report bugs to your system vendor, not to the V3 list.
A more formal description of the V3 goals can be found in the official
- [46]design document.
+ [47]design document.
_________________________________________________________________
1.2 Why should I use libstdc++?
@@ -82,8 +86,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 [47]GCC team. All of
- the rapid development and near-legendary [48]portability that are the
+ development has recently been taken over by the [48]GCC team. All of
+ the rapid development and near-legendary [49]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
@@ -101,16 +105,16 @@
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 [49]homepage.
+ everyone. You can read instructions for doing so on the [50]homepage.
If you have questions, ideas, code, or are just curious, sign up!
_________________________________________________________________
1.4 How do I get libstdc++?
- The eleventh (and latest) snapshot of libstdc++-v3 is [50]available
+ The eleventh (and latest) snapshot of libstdc++-v3 is [51]available
via ftp. The filename is libstdc++-2.92.tar.gz.
- The [51]homepage has instructions for retrieving the latest CVS
+ The [52]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
@@ -126,7 +130,7 @@
1.6 How do I contribute to the effort?
- Here is [52]a page devoted to this topic. Subscribing to the mailing
+ Here is [53]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
@@ -161,11 +165,11 @@
extracted into an updated utilities library, but nobody has stated
such a project yet.
- (The [53]Boost site houses free C++ libraries that do varying things,
+ (The [54]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 [54]GCC FAQ describes where to find
+ For the bold and/or desperate, the [55]GCC FAQ describes where to find
the last libg++ source.
_________________________________________________________________
@@ -175,16 +179,16 @@
remains unanswered, then just ask the mailing list. At present, you do
not need to be subscribed to the list to send a message to it. More
information is available on the homepage (including how to browse the
- list archives); to send to the list, use [55]libstdc++@gcc.gnu.org.
+ list archives); to send to the list, use [56]libstdc++@gcc.gnu.org.
If you have a question that you think should be included here, or if
- you have a question about a question/answer here, contact [56]Phil
- Edwards or [57]Gabriel Dos Reis.
+ you have a question about a question/answer here, contact [57]Phil
+ Edwards or [58]Gabriel Dos Reis.
_________________________________________________________________
1.9 What are the license terms for libstdc++-v3?
- See [58]our license description for these and related questions.
+ See [59]our license description for these and related questions.
_________________________________________________________________
2.0 Installation
@@ -201,13 +205,13 @@
* The GNU Autotools are needed if you are messing with the configury
or makefiles.
- The file [59]documentation.html provides a good overview of the steps
+ The file [60]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, as well as patches and instructions for working with GCC
2.95.
- The top-level install.html and [60]RELEASE-NOTES files contain the
+ The top-level install.html and [61]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/"
@@ -224,8 +228,8 @@
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 [61]CVS entry in the GNU
- software catalogue has a better description as well as a [62]link to
+ free (beer), and very high quality. The [62]CVS entry in the GNU
+ software catalogue has a better description as well as a [63]link to
the makers of CVS.
The "anonymous client checkout" feature of CVS is similar to anonymous
@@ -276,7 +280,7 @@
people don't like it, so here are two pseudo-solutions:
If the only functions from libstdc++.a which you need are language
- support functions (those listed in [63]clause 18 of the standard,
+ support functions (those listed in [64]clause 18 of the standard,
e.g., new and delete), then try linking against libsupc++.a (usually
specifying -lsupc++ when calling g++ for the final link step will do
it). This library contains only those support routines, one per object
@@ -314,8 +318,8 @@
Since the goal of ISO Standardization is for all C++ implementations
to be able to share code, the final libstdc++ should, in theory, be
- usable under any ISO-compliant compiler. It will still be targeted
- and optimized for GCC/g++, however.
+ usable under any ISO-compliant compiler. It will still be targeted and
+ optimized for GCC/g++, however.
_________________________________________________________________
3.2 [removed]
@@ -332,7 +336,7 @@
install GNU as and arrange for the GCC build to use it (or merge the
sources and build it during the bootstrap).
- Anyone who [64]knows the DEC assembler well enough to provide the
+ Anyone who [65]knows the DEC assembler well enough to provide the
equivalent of these two pseudos would win praise and accolades from
many.
_________________________________________________________________
@@ -360,7 +364,7 @@
include/Makefile, resulting in files like gthr.h and gthr-single.h not
being found.
- Please read [65]the configuration instructions for GCC, specifically
+ Please read [66]the configuration instructions for GCC, specifically
the part about configuring in a separate build directory, and how
strongly recommended it is. Building in the source directory is
fragile, is rarely tested, and tends to break, as in this case. This
@@ -412,17 +416,17 @@ New:
4.3 Bugs in the C++ language/lib specification
- Yes, unfortunately, there are some. In a [66]message to the list,
+ Yes, unfortunately, there are some. In a [67]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 [67]posted on his website.
+ concern the library. The list itself is [68]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 [68]here.
- Some of these have resulted in [69]code changes.
+ public list of the library defects is occasionally published [69]here.
+ Some of these have resulted in [70]code changes.
_________________________________________________________________
4.4 Things in libstdc++ that look like bugs
@@ -455,7 +459,7 @@ New:
state on the previous file. The reason is that the state flags are not
cleared on a successful call to open(). The standard unfortunately did
not specify behavior in this case, and to everybody's great sorrow,
- the [70]proposed LWG resolution (see DR #22) is to leave the flags
+ the [71]proposed LWG resolution (see DR #22) is to leave the flags
unchanged. You must insert a call to fs.clear() between the calls to
close() and open(), and then everything will work like we all expect
it to work.
@@ -465,22 +469,24 @@ New:
same namespace as other comparison functions (e.g., 'using' them and
the <iterator> header), then you will suddenly be faced with huge
numbers of ambiguity errors. This was discussed on the -v3 list;
- Nathan Myers [71]sums things up here.
+ Nathan Myers [72]sums things up here.
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 [72]the GCC bug database).
+ paragraph of the page describing [73]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.
+ If the headers are in ${prefix}/include/g++-3, or if the installed
+ library's name looks like libstdc++-2.10.a or libstdc++-libc6-2.10.so,
+ 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 [73]the question has not yet been decided.
+ may be too confusing, but [74]the question has not yet been decided.
glibc If you're on a GNU/Linux system and have just upgraded to glibc
2.2, but are still using gcc 2.95.2, then you should have read the
@@ -493,7 +499,7 @@ type has changed in glibc 2.2. The patch is at
http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
- Note that 2.95.x shipped with the [74]old v2 library which is no
+ Note that 2.95.x shipped with the [75]old v2 library which is no
longer maintained. Also note that gcc 2.95.3 fixes this problem, but
requires a separate patch for libstdc++-v3.
@@ -506,23 +512,23 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
visibility, or you just plain forgot, etc).
More information, including how to optionally enable/disable the
- checks, is available [75]here.
+ checks, is available [76]here.
_________________________________________________________________
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
- [76]submitting patches that covers the procedure, but for libstdc++
+ [77]submitting patches that covers the procedure, but for libstdc++
you should also send the patch to our mailing list in addition to the
- GCC patches mailing list. The libstdc++ [77]contributors' page also
+ GCC patches mailing list. The libstdc++ [78]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 [78]testsuite -- but only if such a test
+ caught immediately by the [79]testsuite -- but only if such a test
exists.
_________________________________________________________________
@@ -556,7 +562,7 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
libstdc++. Some of that is already happening, see 4.2. Some of
those changes are being predicted by the library maintainers, and
we add code to the library based on what the current proposed
- resolution specifies. Those additions are listed in [79]the
+ resolution specifies. Those additions are listed in [80]the
extensions page.
2. Performance tuning. Lots of performance tuning. This too is
already underway for post-3.0 releases, starting with memory
@@ -572,13 +578,13 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
type from C99.) Bugfixes and rewrites (to improve or fix thread
safety, for instance) will of course be a continuing task.
- [80]This question about the next libstdc++ prompted some brief but
- interesting [81]speculation.
+ [81]This question about the next libstdc++ prompted some brief but
+ interesting [82]speculation.
_________________________________________________________________
5.3 What about the STL from SGI?
- The [82]STL from SGI, version 3.3, was the most recent merge of the
+ The [83]STL from SGI, version 3.3, was the most recent merge of the
STL codebase. The code in libstdc++ contains many fixes and changes,
and it is very likely that the SGI code is no longer under active
development. We expect that no future merges will take place.
@@ -599,7 +605,7 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
#include <ext/hash_map>
- Extensions to the library have [83]their own page.
+ Extensions to the library have [84]their own page.
_________________________________________________________________
5.5 [removed]
@@ -648,8 +654,8 @@ a
otherwise documented as safe, do not assume that two threads may
access a shared standard library object at the same time.
- See chapters [84]17 (library introduction), [85]23 (containers), and
- [86]27 (I/O) for more information.
+ See chapters [85]17 (library introduction), [86]23 (containers), and
+ [87]27 (I/O) for more information.
_________________________________________________________________
5.7 How do I get a copy of the ISO C++ Standard?
@@ -660,11 +666,11 @@ a
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 [87]here. (And if you've already registered with them, clicking
- this link will take you to directly to the place where you can [88]buy
+ right [88]here. (And if you've already registered with them, clicking
+ this link will take you to directly to the place where you can [89]buy
the standard on-line.
- Who is your country's member body? Visit the [89]ISO homepage and find
+ Who is your country's member body? Visit the [90]ISO homepage and find
out!
_________________________________________________________________
@@ -715,8 +721,8 @@ a
encompasses the standard library.
_________________________________________________________________
- See [90]license.html for copying conditions. Comments and suggestions
- are welcome, and may be sent to [91]the libstdc++ mailing list.
+ See [91]license.html for copying conditions. Comments and suggestions
+ are welcome, and may be sent to [92]the libstdc++ mailing list.
References
@@ -765,49 +771,50 @@ References
43. ../faq/index.html#5_7
44. ../faq/index.html#5_8
45. http://gcc.gnu.org/libstdc++/download.html
- 46. ../17_intro/DESIGN
- 47. http://gcc.gnu.org/
- 48. http://gcc.gnu.org/gcc-2.95/buildstat.html
- 49. http://gcc.gnu.org/libstdc++/
- 50. http://gcc.gnu.org/libstdc++/download.html
- 51. http://gcc.gnu.org/libstdc++/
- 52. ../17_intro/contribute.html
- 53. http://www.boost.org/
- 54. http://gcc.gnu.org/fom_serv/cache/33.html
- 55. mailto:libstdc++@gcc.gnu.org
- 56. mailto:pme@gcc.gnu.org
- 57. mailto:gdr@gcc.gnu.org
- 58. ../17_intro/license.html
- 59. ../documentation.html
- 60. ../17_intro/RELEASE-NOTES
- 61. http://www.gnu.org/software/cvs/cvs.html
- 62. http://www.cvshome.org/
- 63. ../18_support/howto.html
- 64. http://gcc.gnu.org/ml/libstdc++/2000-12/msg00279.html
- 65. http://gcc.gnu.org/install/configure.html
- 66. http://gcc.gnu.org/ml/libstdc++/1998/msg00006.html
- 67. http://www.cantrip.org/draft-bugs.txt
- 68. http://anubis.dkuug.dk/jtc1/sc22/wg21/
- 69. ../faq/index.html#5_2
- 70. ../ext/howto.html#5
- 71. http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html
- 72. http://gcc.gnu.org/gnatswrite.html
- 73. http://gcc.gnu.org/ml/gcc/2000-10/msg00732.html
- 74. ../faq/index.html#4_4_interface
- 75. ../19_diagnostics/howto.html#3
- 76. http://gcc.gnu.org/contribute.html
- 77. ../17_intro/contribute.html
- 78. ../faq/index.html#2_4
- 79. ../ext/howto.html#5
- 80. http://gcc.gnu.org/ml/libstdc++/1999/msg00080.html
- 81. http://gcc.gnu.org/ml/libstdc++/1999/msg00084.html
- 82. http://www.sgi.com/Technology/STL/
- 83. ../ext/howto.html
- 84. ../17_intro/howto.html#3
- 85. ../23_containers/howto.html#3
- 86. ../27_io/howto.html#9
- 87. http://www.ansi.org/
- 88. http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998
- 89. http://www.iso.ch/
- 90. ../17_intro/license.html
- 91. mailto:libstdc++@gcc.gnu.org
+ 46. ../faq/index.html#4_4_interface
+ 47. ../17_intro/DESIGN
+ 48. http://gcc.gnu.org/
+ 49. http://gcc.gnu.org/gcc-2.95/buildstat.html
+ 50. http://gcc.gnu.org/libstdc++/
+ 51. http://gcc.gnu.org/libstdc++/download.html
+ 52. http://gcc.gnu.org/libstdc++/
+ 53. ../17_intro/contribute.html
+ 54. http://www.boost.org/
+ 55. http://gcc.gnu.org/fom_serv/cache/33.html
+ 56. mailto:libstdc++@gcc.gnu.org
+ 57. mailto:pme@gcc.gnu.org
+ 58. mailto:gdr@gcc.gnu.org
+ 59. ../17_intro/license.html
+ 60. ../documentation.html
+ 61. ../17_intro/RELEASE-NOTES
+ 62. http://www.gnu.org/software/cvs/cvs.html
+ 63. http://www.cvshome.org/
+ 64. ../18_support/howto.html
+ 65. http://gcc.gnu.org/ml/libstdc++/2000-12/msg00279.html
+ 66. http://gcc.gnu.org/install/configure.html
+ 67. http://gcc.gnu.org/ml/libstdc++/1998/msg00006.html
+ 68. http://www.cantrip.org/draft-bugs.txt
+ 69. http://anubis.dkuug.dk/jtc1/sc22/wg21/
+ 70. ../faq/index.html#5_2
+ 71. ../ext/howto.html#5
+ 72. http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html
+ 73. http://gcc.gnu.org/gnatswrite.html
+ 74. http://gcc.gnu.org/ml/gcc/2000-10/msg00732.html
+ 75. ../faq/index.html#4_4_interface
+ 76. ../19_diagnostics/howto.html#3
+ 77. http://gcc.gnu.org/contribute.html
+ 78. ../17_intro/contribute.html
+ 79. ../faq/index.html#2_4
+ 80. ../ext/howto.html#5
+ 81. http://gcc.gnu.org/ml/libstdc++/1999/msg00080.html
+ 82. http://gcc.gnu.org/ml/libstdc++/1999/msg00084.html
+ 83. http://www.sgi.com/Technology/STL/
+ 84. ../ext/howto.html
+ 85. ../17_intro/howto.html#3
+ 86. ../23_containers/howto.html#3
+ 87. ../27_io/howto.html#9
+ 88. http://www.ansi.org/
+ 89. http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998
+ 90. http://www.iso.ch/
+ 91. ../17_intro/license.html
+ 92. mailto:libstdc++@gcc.gnu.org