From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- libstdc++-v3/doc/xml/manual/evolution.xml | 631 ++++++++++++++++++++++++++++++ 1 file changed, 631 insertions(+) create mode 100644 libstdc++-v3/doc/xml/manual/evolution.xml (limited to 'libstdc++-v3/doc/xml/manual/evolution.xml') diff --git a/libstdc++-v3/doc/xml/manual/evolution.xml b/libstdc++-v3/doc/xml/manual/evolution.xml new file mode 100644 index 000000000..08876deb1 --- /dev/null +++ b/libstdc++-v3/doc/xml/manual/evolution.xml @@ -0,0 +1,631 @@ +
+ + +API Evolution and Deprecation History + + ISO C++ + api + evolution + deprecation + history + + + + + + +A list of user-visible changes, in chronological order + + +
<constant>3.0</constant> + + + +Extensions moved to include/ext. + + + +Include files from the SGI/HP sources that pre-date the ISO standard +are added. These files are placed into +the include/backward directory and a deprecated warning +is added that notifies on inclusion (-Wno-deprecated +deactivates the warning.) + + +Deprecated include backward/strstream added. + +Removal of include builtinbuf.h, indstream.h, parsestream.h, PlotFile.h, SFile.h, stdiostream.h, and stream.h. + + + + +
+ +
<constant>3.1</constant> + + + + + +Extensions from SGI/HP moved from namespace std +to namespace __gnu_cxx. As part of this, the following +new includes are +added: ext/algorithm, ext/functional, ext/iterator, ext/memory, and ext/numeric. + + + +Extensions to basic_filebuf introduced: __gnu_cxx::enc_filebuf, and __gnu_cxx::stdio_filebuf. + + + +Extensions to tree data structures added in ext/rb_tree. + + + +Removal of ext/tree, moved to backward/tree.h. + + +
+ +
<constant>3.2</constant> + + + +Symbol versioning introduced for shared library. + +Removal of include backward/strstream.h. + +Allocator changes. Change __malloc_alloc to malloc_allocator and __new_alloc to new_allocator. + + For GCC releases from 2.95 through the 3.1 series, defining + __USE_MALLOC on the gcc command line would change the + default allocation strategy to instead use malloc and + free. (This same functionality is now spelled _GLIBCXX_FORCE_NEW, see + this page + for details. + + + +Error handling in iostreams cleaned up, made consistent. + + +
+ +
<constant>3.3</constant> + + + +
+ +
<constant>3.4</constant> + + + + +Large file support. + + + Extensions for generic characters and char_traits added in ext/pod_char_traits.h. + + + +Support for wchar_t specializations of basic_filebuf enhanced to support UTF-8 and Unicode, depending on host. More hosts support basic wchar_t functionality. + + + +Support for char_traits beyond builtin types. + + + +Conformant allocator class and usage in containers. As +part of this, the following extensions are +added: ext/bitmap_allocator.h, ext/debug_allocator.h, ext/mt_allocator.h, ext/malloc_allocator.h,ext/new_allocator.h, ext/pool_allocator.h. + + + +This is a change from all previous versions, and may require +source-level changes due to allocator-related changes to structures +names and template parameters, filenames, and file locations. Some, +like __simple_alloc, __allocator, __alloc, and +_Alloc_traits have been removed. + + +Default behavior of std::allocator has changed. + + + Previous versions prior to 3.4 cache allocations in a memory + pool, instead of passing through to call the global allocation + operators (i.e., __gnu_cxx::pool_allocator). More + recent versions default to the + simpler __gnu_cxx::new_allocator. + + + Previously, all allocators were written to the SGI + style, and all STL containers expected this interface. This + interface had a traits class called _Alloc_traits that + attempted to provide more information for compile-time allocation + selection and optimization. This traits class had another allocator + wrapper, __simple_alloc<T,A>, which was a + wrapper around another allocator, A, which itself is an allocator + for instances of T. But wait, there's more: + __allocator<T,A> is another adapter. Many of + the provided allocator classes were SGI style: such classes can be + changed to a conforming interface with this wrapper: + __allocator<T, __alloc> is thus the same as + allocator<T>. + + + The class allocator used the typedef + __alloc to select an underlying allocator that + satisfied memory allocation requests. The selection of this + underlying allocator was not user-configurable. + + + +Extension Allocators + + + + + + + + + + Allocator (3.4) + Header (3.4) + Allocator (3.[0-3]) + Header (3.[0-3]) + + + + + + __gnu_cxx::new_allocator<T> + ext/new_allocator.h + std::__new_alloc + memory + + + __gnu_cxx::malloc_allocator<T> + ext/malloc_allocator.h + std::__malloc_alloc_template<int> + memory + + + __gnu_cxx::debug_allocator<T> + ext/debug_allocator.h + std::debug_alloc<T> + memory + + + __gnu_cxx::__pool_alloc<T> + ext/pool_allocator.h + std::__default_alloc_template<bool,int> + memory + + + __gnu_cxx::__mt_alloc<T> + ext/mt_allocator.h + + + + + __gnu_cxx::bitmap_allocator<T> + ext/bitmap_allocator.h + + + + + +
+ + Releases after gcc-3.4 have continued to add to the collection + of available allocators. All of these new allocators are + standard-style. The following table includes details, along with + the first released version of GCC that included the extension allocator. + + + +Extension Allocators Continued + + + + + + + + + Allocator + Include + Version + + + + + + __gnu_cxx::array_allocator<T> + ext/array_allocator.h + 4.0.0 + + + __gnu_cxx::throw_allocator<T> + ext/throw_allocator.h + 4.2.0 + + + +
+ + + +Debug mode first appears. + + + +Precompiled header support PCH support. + + + +Macro guard for changed, from _GLIBCPP_ to _GLIBCXX_. + + + +Extension ext/stdio_sync_filebuf.h added. + + + +Extension ext/demangle.h added. + + + +
+ +
<constant>4.0</constant> + + + + +TR1 features first appear. + + + +Extension allocator ext/array_allocator.h added. + + + +Extension codecvt specializations moved to ext/codecvt_specializations.h. + + + +Removal of ext/demangle.h. + + + +
+ +
<constant>4.1</constant> + + + + + + +Removal of cassert from all standard headers: now has to be explicitly included for std::assert calls. + + + Extensions for policy-based data structures first added. New includes, +types, namespace pb_assoc. + + + + + Extensions for typelists added in ext/typelist.h. + + + Extension for policy-based basic_string first added: __gnu_cxx::__versa_string in ext/vstring.h. + + +
+ +
<constant>4.2</constant> + + + + + + Default visibility attributes applied to namespace std. Support for -fvisibility. + + +TR1 random, complex, and C compatibility headers added. + + Extensions for concurrent programming consolidated +into ext/concurrence.h and ext/atomicity.h, +including change of namespace to __gnu_cxx in some +cases. Added types +include _Lock_policy, __concurrence_lock_error, __concurrence_unlock_error, __mutex, __scoped_lock. + + Extensions for type traits consolidated +into ext/type_traits.h. Additional traits are added +(__conditional_type, __enable_if, others.) + + + Extensions for policy-based data structures revised. New includes, +types, namespace moved to __pb_ds. + + + Extensions for debug mode modified: now nested in namespace +std::__debug and extensions in namespace +__gnu_cxx::__debug. + + Extensions added: ext/typelist.h +and ext/throw_allocator.h. + + +
+ +
<constant>4.3</constant> + + + + + + +C++0X features first appear. + + +TR1 regex and cmath's mathematical special function added. + + + +Backward include edit. + + + + Removed + +algobase.h algo.h alloc.h bvector.h complex.h +defalloc.h deque.h fstream.h function.h hash_map.h hash_set.h +hashtable.h heap.h iomanip.h iostream.h istream.h iterator.h +list.h map.h multimap.h multiset.h new.h ostream.h pair.h queue.h rope.h set.h slist.h stack.h streambuf.h stream.h tempbuf.h +tree.h vector.h + + + + Added + + hash_map and hash_set + + + + Added in C++0x + + auto_ptr.h and binders.h + + + + + + +Header dependency streamlining. + + + + algorithm no longer includes climits, cstring, or iosfwd + bitset no longer includes istream or ostream, adds iosfwd + functional no longer includes cstddef + iomanip no longer includes istream, istream, or functional, adds ioswd + numeric no longer includes iterator + string no longer includes algorithm or memory + + valarray no longer includes numeric or cstdlib + tr1/hashtable no longer includes memory or functional + tr1/memory no longer includes algorithm + tr1/random no longer includes algorithm or fstream + + + +Debug mode for unordered_map and unordered_set. + + + +Parallel mode first appears. + + +Variadic template implementations of items in tuple and + functional. + + +Default what implementations give more elaborate + exception strings for bad_cast, + bad_typeid, bad_exception, and + bad_alloc. + + + +PCH binary files no longer installed. Instead, the source files are installed. + + + +Namespace pb_ds moved to __gnu_pb_ds. + + +
+ + +
<constant>4.4</constant> + + + + + +C++0X features. + + + + + + Added. + + + atomic, + chrono, + condition_variable, + forward_list, + initializer_list, + mutex, + ratio, + thread + + + + + + Updated and improved. + + + algorithm, + system_error, + type_traits + + + + + + Use of the GNU extension namespace association converted to inline namespaces. + + + + + + Preliminary support for initializer_list + and defaulted and deleted constructors in container classes. + + + + + + unique_ptr. + + + + + + Support for new character types char16_t + and char32_t added + to char_traits, basic_string, numeric_limits, + and assorted compile-time type traits. + + + + + + Support for string conversions to_string + and to_wstring. + + + + + + Member functions taking string arguments were added to iostreams + including basic_filebuf, basic_ofstream, + and basic_ifstream. + + + + + + Exception propagation support, + including exception_ptr, current_exception, copy_exception, + and rethrow_exception. + + + + + + +Uglification of try to __try +and catch to __catch. + + + +Audit of internal mutex usage, conversion to functions returning static +local mutex. + + + Extensions +added: ext/pointer.h +and ext/extptr_allocator.h. Support +for non-standard pointer types has been added +to vector +and forward_list. + +
+ +
<constant>4.5</constant> + + + + + +C++0X features. + + + + + + Added. + + + functional, + future, + random + + + + + + Updated and improved. + + + atomic, + system_error, + type_traits + + + + + + Add support for explicit operators and standard layout types. + + + + + +Profile mode first appears. + + + +Support for decimal floating-point arithmetic, including decimal32, decimal64, and decimal128. + + + +Python pretty-printers are added for use with appropriately-advanced versions of gdb. + + + +Audit for application of function attributes notrow, const, pure, and noreturn. + + + +The default behavior for comparing typeinfo names changed, so +in typeinfo, __GXX_MERGED_TYPEINFO_NAMES +now defaults to zero. + + + Extensions modified: ext/throw_allocator.h. + +
+ +
-- cgit v1.2.3