Commit 6364054f by Benjamin Kosnik Committed by Benjamin Kosnik

documentation.html: Remove libstdc++-v3.0.86 links...


2002-07-23  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/documentation.html: Remove libstdc++-v3.0.86 links,
	confusing usage of "latest."
	De-tangle contributor information from introductory notes.
	Move abi.txt link placement, activate.
	Re-organize.
	Move chapter info into old FAQ format.
	* docs/html/organization.html: Removed, obsoleted by doxygen work.
	* docs/html/abi.txt: Add notes on testing ABI changes.

From-SVN: r55702
parent 0ba1b2ff
2002-07-23 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/documentation.html: Remove libstdc++-v3.0.86 links,
confusing usage of "latest."
De-tangle contributor information from introductory notes.
Move abi.txt link placement, activate.
Re-organize.
Move chapter info into old FAQ format.
* docs/html/organization.html: Removed, obsoleted by doxygen work.
* docs/html/abi.txt: Add notes on testing ABI changes.
2002-07-20 Phil Edwards <pme@gcc.gnu.org>
* docs/html/abi.txt: New file.
......
20 [lib.utilities]
<utility>
namespace rel_ops { operators !=, >, <=, >= }
struct pair;
pair binary operators { operators ==, <, !=, >, >=, <= }
<functional>
// function objects, or objects with operator() defined
<memory>
template<T> class allocator;
template<> class allocator<void>;
template<OutI, T> class raw_storage_iterator;
temporary buffers
specialized algorithms for uninitialized_{copy, fill, fill_n}
template<T> class auto_ptr;
<ctime>
<cstdlib>
<cstring>
21 [lib.strings]
<string>
template<T> struct char_traits
template<> struct char_traits<char>
template<> struct char_traits<wchar_t>
template<C, T=c_t<T>, A=a<T> > class basic_string;
typedef basic_string<char> string;
typedef basic_string<wchar_t> wstring;
template<C, T, A> void swap(string&, string&)
template<C, T, A> istream& operator>>(istream&, string&);
template<C, T, A> istream& getline(istream&, string&, C);
template<C, T, A> istream& getline(istream&, string&);
template<C, T, A> ostream& operator<<(ostream&, string&);
<cctype>
<cwctype>
<cstring>
<cwchar>
<cstdlib>
23 [lib.containers]
<deque>
<list>
<queue>
<stack>
<vector>
<map>
<set>
<bitset>
24 [lib.iterators]
<iterator>
25 [lib.algorithms]
<algorithm>
non-modifying sequence operations
for_each, find, find_if, find_end, find_first_of,
adjacent_find, count, count_if, mismatch, equal,
search, search_n
modifying sequence operations
copy, copy_backward, swap, swap_ranges, iter_swap,
transform, replace, replace_if, replace_copy,
replace_copy_if, fill, fill_n, generate, generate_n,
remove, remove_if, remove_copy, remove_copy_if, unique,
unique_copy, reverse, reverse_copy, rotate,
rotate_copy, random_shuffle
sorting and related operations
sort, stable_sort, partial_sort, partial_sort_copy,
nth_element, lower_bound, upper_bound, equal_range,
binary_search, merge, inplace_merge, includes,
set_union, set_intersection, set_difference,
set_symmetric_difference, push_heap, pop_heap,
make_heap, sort_heap, min, max, min_element,
max_element, lexicographical_compare, next_permutation,
prev_permutation
<cstdlib>
......@@ -6,7 +6,7 @@ document exists, why it's incomplete, and what needs to be done still.
===========================
2002-07-01 Benjamin Kosnik
2002-07-23 Benjamin Kosnik
Description of the libstdc++ ABI.
......@@ -123,9 +123,37 @@ III. Versioning
IV. Testing ABI changes
- 'make check-abi'??
- other ABI checkers
Currently, there is no formal testing for changes in the libstdc++
ABI. It would be in the best interest of GNU C++ users everywhere to
have such a test, and work to develop this test is ongoing.
There is a formal method for checking the compiler parts of the C++
ABI, donated by Intel. More information can be obtained
<a href="http://developer.intel.com/software/products/opensource/">here.</a>
To test the library, the following two ideas have been suggested:
One.
(Brendan Kehoe, Jeff Law suggestion to run 'make check-c++' two ways,
one with a new compiler and an old library, and the other with an old
compiler and a new library, and look for testsuite regressions)
Two.
Have the libstdc++ testesuite proactively check the library
ABI. Probably a couple of items would be covered, although perhaps not
all would need to be done at once for this to be useful. Compute the
list of names exported in the shared version of libstdc++
binary. Then, save this list of names. Have this list of names
re-computed for each new binary of the same version. Next, use sizeof
and offset to compute offsets for each structure and type in the
standard library, saving to another datafile. Then, compute this for
new binaries, and look for differences.
The thought is to choose one or both of these approaches, and to use a
Makefile hook, perhaps 'make check-abi', to add this capability to the
libstdc++ testsuite.
Perhaps there are other Library ABI checkers. If so, please notify us.
V. Issues not directly addressed, and possible suggestions
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment