mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-27 14:19:44 +08:00
6e52332ec7
2002-08-15 Benjamin Kosnik <bkoz@redhat.com> * include/ext/stdio_filebuf.h (stdio_filebuf): Explicitly set _M_buf_size_opt to zero when unbuffering. * include/bits/fstream.tcc (filebuf::showmanyc): Simplify. Consistency checks for _M_buf_size_opt. Revert PR libstdc++/7445 * src/locale.cc (locale::classic): Revert. * docs/html/17_intro/TODO: Add. From-SVN: r56365
114 lines
4.1 KiB
Plaintext
114 lines
4.1 KiB
Plaintext
- audit for places where __builtin_expect can be used.
|
|
|
|
- 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.
|
|
|
|
- do more doxygen manpages
|
|
|
|
- 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?
|
|
|
|
- tuning for executable size, compilation speed, startup allocation,
|
|
executable speed.
|
|
|
|
- benchmarking addition to the testsuite that does the above.
|
|
|
|
- implement testing for symbol versioning for ELF targets.
|
|
|
|
- review streambuf, filebuf, stringbuf to optimize data member
|
|
placement. Do pback bits need to be in streambuf? How about
|
|
_M_set_indeterminate, etc?
|
|
|
|
- Think about naming all member data and member functions consistently
|
|
as per
|
|
funtions: _M_verb_adverb
|
|
data: _M_noun_adjective
|
|
|
|
- exception specifications need to be reviewed for all parts of the
|
|
library support and utility areas, particularly <new>.
|
|
|
|
- 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.
|
|
|
|
- list::assignment operator needs const_cast
|
|
|
|
- a cleaner division between pointers-to-value_type and true iterators
|
|
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.
|
|
|
|
- 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
|
|
|
|
- add MT support for locale, string, istream, ostream
|
|
|
|
- provide testsuites for numerics.
|
|
|
|
- add FAQ entries -- improve the install instructions
|
|
|
|
- add HOWTO entries
|