2000-11-29

Release Notes   
-------------
The 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 a drop-in replacement
for the current (ARM-conformant) library.

This is the tenth snapshot of the libstdc++ rewrite.  It is still
incomplet and incorrekt. It's a lot less incomplete and incorrect than
some of the earlier snapshots though, and quite usable.

The Standard C++ Library v3, or libstdc++-2.9x, follows an open
development model, attempting to be fully buzzword, bazaar, and GNU
compliant. Full details on participating, including contributor
guidelines, mailing list subscription, mailing list archives,
up-to-date documentation, and various and sundry other details can be
found at the following URL:

  http://gcc.gnu.org/libstdc++/


New: 
--- 
- 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.

What doesn't:
-------------
- see BUGS.

 
Build and Install
-----------------
Up to date build and install directions can be found at:
http://gcc.gnu.org/libstdc++/install.html


Contact:
--------
Places have changed from previous snapshots.  The web page, which has
information about joining the mailing list and searching its archives,
CVS access, and contribution information is now at:

  http://gcc.gnu.org/libstdc++/

Please note that the mailing list has recently moved, and is now
hosted on gcc.gnu.org. (The web site above has the most
up-to-date info.)
   
Obtain the library snapshot via ftp (including these release notes) from

  ftp://gcc.gnu.org/pub/libstdc++/

The library is maintained by Benjamin Kosnik, Gabriel
Dos Reis, Phil Edwards, and Ulrich Drepper.  


Development tools:
------------------

You will need a recent version of gcc to compile the snapshot of
libstdc++. The use of CVS g++ is strongly recommended. In addition,
you may need up-to-date tools for modifying Makefiles and regenerating
configure scripts: automake (version 1.4), autoconf (version 2.13 and
higher), and libtool. 




