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, 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. 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.