diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2003-10-23 20:35:13 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2003-10-23 20:35:13 +0000 |
commit | d2c354f3807cfe1fd67bd3a4f024d9629f1be73f (patch) | |
tree | 074ee601e93ed412aaa454032a03a216dd0eaf80 | |
parent | 57f542b35518b587c90b5baf2d75dda1258feb3e (diff) | |
download | gcc-d2c354f3807cfe1fd67bd3a4f024d9629f1be73f.zip gcc-d2c354f3807cfe1fd67bd3a4f024d9629f1be73f.tar.gz gcc-d2c354f3807cfe1fd67bd3a4f024d9629f1be73f.tar.bz2 |
documentation.html: Add a pointer to the doxygen style guide.
2003-10-23 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/documentation.html: Add a pointer to the doxygen style
guide.
* docs/html/17_intro/TODO: Update.
* docs/html/test.html: Add instructions for running a subset of
tests, update.
From-SVN: r72867
-rw-r--r-- | libstdc++-v3/ChangeLog | 8 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/17_intro/TODO | 181 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/documentation.html | 2 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/test.html | 7 |
4 files changed, 136 insertions, 62 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 548cc71..287b9ab 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2003-10-23 Benjamin Kosnik <bkoz@redhat.com> + + * docs/html/documentation.html: Add a pointer to the doxygen style + guide. + * docs/html/17_intro/TODO: Update. + * docs/html/test.html: Add instructions for running a subset of + tests, update. + 2003-10-23 Paolo Carlini <pcarlini@suse.de> * include/bits/locale_facets.tcc (money_get<>::do_get(..., diff --git a/libstdc++-v3/docs/html/17_intro/TODO b/libstdc++-v3/docs/html/17_intro/TODO index 2ba36ad..47ea3cd 100644 --- a/libstdc++-v3/docs/html/17_intro/TODO +++ b/libstdc++-v3/docs/html/17_intro/TODO @@ -1,62 +1,133 @@ -- audit for places where __builtin_expect can be used. +std::allocator -- coordinate with "C" library people the "C" compatibility headers. - Explain why an ISO-14882-conformant solution is hopeless, with the current - twisted morass of "C" headers. + - switch to mt_allocator with --enable-threads=posix. -- do more doxygen manpages + - Try to figure out a way to switch allocators in a more elegant + manner, and make the default allocator configurable. + + - persistent allocator + + - global/extern allocator + +std::string + + - re-design for multi-paradigm, meta string class solution incorporating COW + vs. deep copy issues, MT scalability + See Andrei Alexandrescu, June 2001, C/C++ Users Journal + "Generic<Programming>: A Policy-Based basic_string Implementation" + http://www.cuj.com/documents/s=7994/cujcexp1906alexandr/ + + - operator!= and utility/rel_ops operators need to be made safe with + string and vector iterator classes. basic_string::reverse_iterator may + be implemented incorrectly, or need things like + operator==(__normal_iterator, const char*&), and swap(vector) + + - 'do the right thing' ctor fixing needs to be done for string. This + is still subject to some debate on the library issues list, so I + suggest punting till the dust clears. + + - fix template members of basic_string<> to overload iterators and + non-iterators properly. (This is the infamous hack as in vector<> etc + 23.1.1 para 10.) + +std::locale + + - implement __convert_to_v and __convert_from_v without "C" library + functions and and LANG environment variable dependencies. + + - use localedata to implement generic named (non-MT-safe) locales? + Figure out a way to use ICU data, like libjava? Need a generic locale + model that does something besides the "C" locale. + + - make locale::classic() separate from named locale code. This will + improve the static linkage situation, but will require new + initialization code. + + - Jerry(?)/Paolo(?) work on __float_to_char. + + - minimize ctype convertion in data facets, see numpunct/num_put/num_get + + - finish caching data facets and using the caches + +std::basic_filebuf, 27_io + + - wfilebuf, get variable-encoding working and tested, including + positioning and seeking. + + - wfilebuf testsuite + + - look ahead for unbuffered io, so know when multiple putc's can be + coalesced. + + - unlocked __basic_file + new mutext class + + - optimized the sentries for istream/ostream + + - v2 vs. v3 speed + + - add optimization hooks (esp. whitespace eating) to streambuf + - add _M_begin() and _M_end() to streambuf + - add algorithm specializations for [io]streambuf_iterator (copy find etc.) + +testsuite -- implement __convert_to_v and __convert_from_v without "C" library -functions and and LANG environment variable dependencies. + - valgrind hooks into make check so can tell memory leakage + Some commentary on the valgrind users list -- use localedata to implement generic named (non-MT-safe) locales? -Figure out a way to use ICU data, like libjava? + - add hooks for qmtest for visual diffs -- tuning for executable size, compilation speed, startup allocation, -executable speed. + - automatic testing of interactive tests -- benchmarking addition to the testsuite that does the above. + - diffing generated output files -- implement testing for symbol versioning for ELF targets. + - make check-abi needs to have full symbol checking. Scope the LSB + testsuite, see what's going on with the typeinfo etc. bits. -- review streambuf, filebuf, stringbuf to optimize data member -placement. Do pback bits need to be in streambuf? How about -_M_set_indeterminate, etc? + - provide testsuites for numerics. + + - try to do a better job of ABI testing, with instantiations of all + standard-specified types checked, not just exported symbols. + +g++/binutils + + - compression for wide versions of basic types + +- get Apple's debug mode, or something with equivalent functionality, in. + +- audit for places where __builtin_expect can be used. + +- relocations, work on getting these down + +- issues with __builtin_memcpy and std::copy from Jerry Quinn + http://gcc.gnu.org/ml/libstdc++/2003-02/msg00076.html + +- fix dependency tracking for includes (.h, .tcc) during build process. + +- coordinate with "C" library people the "C" compatibility headers. - Think about naming all member data and member functions consistently -as per -funtions: _M_verb_adverb -data: _M_noun_adjective + as per + funtions: _M_verb_adverb + data: _M_noun_adjective + +- A C++STYLE guide that deals with nested namespaces, and that +everybody can live with. - exception specifications need to be reviewed for all parts of the -library support and utility areas, particularly <new>. +library support and utility areas, particularly <new>. Part of this is +a standards issue, where the 27_io bugs/standard is really in an odd +spot. + +- C-related issues WRT to io and filepos, mbstate_t. Seeking in wide +streams. May need to define operators for mbstate_t so that +'mbstate_t& == mbstate_t' is something that can be done. - scoping/linking issues WRT to C structs need to be worked out. See Nathan's commentary on cantrip, http://www.cantrip.org/cheaders.html -- triglyphs/ciso646: and, and_eq, bitand, bitor, compl, not, not_eq, -or, or_eq, xor, xor_eq, true && 45, true and false, true or 45, etc. -(bool and int), etc. - -- operator!= and utility/rel_ops operators need to be made safe with -string and vector iterator classes. basic_string::reverse_iterator may -be implemented incorrectly, or need things like -operator==(__normal_iterator, const char*&), and swap(vector) - - auto_ptr: seems to be some disagreement on what is standards-conformant behavior, specially on conversion operators. -- header optimizations to keep compile times reasonable are most -certainly detracting from full conformance, as many templatized -definitions are squired away and pre-instantiated, so that the -compiler doesn't have to parse them. Areas effected: valarray, string, -all of iostreams and locales. - -- C-related issues WRT to libio and filepos, mbstate_t. Need to -straighten this stuff out with the glibc-2.2 libio. Also may need to -define operators for mbstate_t so that 'mbstate_t& == mbstate_t' is -something that can be done. - - looks like deque::get_allocator not standards conformant or deque allocator non-standard. @@ -67,47 +138,35 @@ needs to be drawn throughout the entire STL implementation. - priority_queue conversions may be non-conformant -- 'do the right thing' ctor fixing needs to be done for string. This -is still subject to some debate on the library issues list, so I -suggest punting till the dust clears. - - Protect valarray::result_type (not Standard) and make it work with the various helper classes. - Make sure `valarray<bool> & == _Expr<_BinClos<logical_or,_ValArray,_ValArray,double,double>,bool>' is defined -- known issues WRT to io and corner cases with the buffers. This is -still subject to interpretation, and I think the current -implementation is credible. - - All of the Library working group closed issues need to be addressed. Some of them proposed resolutions are already in the v-3 -sources, with macro-guards. +sources, with macro-guards. Also, same with the TR. - add deprecated features from Annex D - add #ifdef wrappers for all of them, including in each C <xxx.h> header - replace typedef'd non-deprecated types with more type-safe equivalents. -- add optimization hooks (esp. whitespace eating) to streambuf - - add _M_begin() and _M_end() to streambuf - - add algorithm specializations for [io]streambuf_iterator (copy find etc.) - -- fix template members of basic_string<> to overload iterators and - non-iterators properly. (This is the infamous hack as in vector<> etc - 23.1.1 para 10.) - -- write filebuf for wide characters - - add feature-test macros for non-standard extensions -- create MT abstraction layer +- create MT abstraction layer for atomicity to pthreads. - add MT support for locale, string, istream, ostream -- provide testsuites for numerics. +- need to think about doing a .texi or DocBook manual, instead of all +these HTML pages. In addition, it would be nice to have a full manual, +instead of a lot of ad-hoc pages. Weaknesses include numerics, locale, +and io. - add FAQ entries -- improve the install instructions - add HOWTO entries + +- do more doxygen manpages + diff --git a/libstdc++-v3/docs/html/documentation.html b/libstdc++-v3/docs/html/documentation.html index 2e9a811..4ed22d5 100644 --- a/libstdc++-v3/docs/html/documentation.html +++ b/libstdc++-v3/docs/html/documentation.html @@ -245,6 +245,8 @@ - names to avoid because of potential collisions</li> <li><a href="17_intro/C++STYLE">C++STYLE</a> - coding style by example</li> + <li> In the libstdc++-v3/docs/doxygen directory, see guide.html, a + doxygen markup style guide</li> <li><a href="17_intro/CHECKLIST">CHECKLIST</a> - a list of required features and their status.</li> <li><a href="17_intro/DESIGN">DESIGN</a> diff --git a/libstdc++-v3/docs/html/test.html b/libstdc++-v3/docs/html/test.html index 8c570f3..07d585f 100644 --- a/libstdc++-v3/docs/html/test.html +++ b/libstdc++-v3/docs/html/test.html @@ -126,7 +126,7 @@ data Sample text files for testing input and output. All new tests should be written with the policy of one test case, one file in mind. At some point the entire testsuite will be converted: the current status is that the 21_string, - 22_locale, 27_io, and demangle directories have all been + 22_locale, 23_containers, 27_io, and demangle directories have all been transitioned. </p> @@ -486,6 +486,11 @@ make check-target-libstdc++-v3 RUNTESTFLAGS="--target_board=calmrisc32-sid" make check-target-libstdc++-v3 RUNTESTFLAGS="--target_board=arm-sim" </pre> + <p> To run a subset of the library tests, simply edit the generated + file, <em>testsuite_files </em>, to include only the files that are + desired instead of all available test cases. + </p> + <p> In addition, there are some testing options that are mostly of interest to library maintainers and system integrators. As such, these tests may not work on all cpu and host combinations, and must |