TODO: Update.
2001-12-18 Benjamin Kosnik <bkoz@redhat.com> * docs/html/17_intro/TODO: Update. * docs/html/17_intro/RELEASE-NOTES: Edits, update. * README: Edit for clarity, update to reflect current directory structure. From-SVN: r48165
This commit is contained in:
parent
ae6c1efd65
commit
9560d353d3
4 changed files with 38 additions and 100 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2001-12-18 Benjamin Kosnik <bkoz@redhat.com>
|
||||||
|
|
||||||
|
* docs/html/17_intro/TODO: Update.
|
||||||
|
* docs/html/17_intro/RELEASE-NOTES: Edits, update.
|
||||||
|
* README: Edit for clarity, update to reflect current directory
|
||||||
|
structure.
|
||||||
|
|
||||||
2001-12-18 Benjamin Kosnik <bkoz@redhat.com>
|
2001-12-18 Benjamin Kosnik <bkoz@redhat.com>
|
||||||
|
|
||||||
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Extended checking before
|
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Extended checking before
|
||||||
|
|
|
@ -4,12 +4,11 @@ New users may wish to point their web browsers to the file documentation.html
|
||||||
in the 'docs/html' subdirectory. It contains brief building instructions and
|
in the 'docs/html' subdirectory. It contains brief building instructions and
|
||||||
notes on how to configure the library in interesting ways.
|
notes on how to configure the library in interesting ways.
|
||||||
|
|
||||||
|
Instructions for configuring and building appear in
|
||||||
|
docs/html/install.html.
|
||||||
|
|
||||||
Instructions for configuring and building this snapshot appear
|
This directory contains the files needed to create an ISO Standard C++
|
||||||
in docs/html/install.html.
|
Library.
|
||||||
|
|
||||||
This directory contains the files needed to create [a still broken
|
|
||||||
subset of] an ISO Standard C++ Library.
|
|
||||||
|
|
||||||
It has subdirectories:
|
It has subdirectories:
|
||||||
|
|
||||||
|
@ -17,23 +16,10 @@ It has subdirectories:
|
||||||
Files in HTML and text format that document usage, quirks of the
|
Files in HTML and text format that document usage, quirks of the
|
||||||
implementation, and contributor checklists.
|
implementation, and contributor checklists.
|
||||||
|
|
||||||
include/bits
|
|
||||||
Files included by standard headers and by other files in
|
|
||||||
the bits directory. Includes a set of files bits/std_xxxx.h
|
|
||||||
that implement the standard headers <xxxx>.
|
|
||||||
|
|
||||||
include/std
|
include/std
|
||||||
Files meant to be found by #include <name> directives in
|
Files meant to be found by #include <name> directives in
|
||||||
standard-conforming user programs.
|
standard-conforming user programs.
|
||||||
|
|
||||||
include/ext
|
|
||||||
Headers that define extensions to the standard library. No
|
|
||||||
standard header refers to any of them.
|
|
||||||
|
|
||||||
include/backward
|
|
||||||
Headers provided for backward compatibility, such as <iostream.h>.
|
|
||||||
They are not used in this library.
|
|
||||||
|
|
||||||
include/c
|
include/c
|
||||||
Headers intended to directly include standard C headers.
|
Headers intended to directly include standard C headers.
|
||||||
[NB: this can be enabled via --enable-cheaders=c]
|
[NB: this can be enabled via --enable-cheaders=c]
|
||||||
|
@ -50,6 +36,19 @@ It has subdirectories:
|
||||||
defined there into the _C_legacy namespace.
|
defined there into the _C_legacy namespace.
|
||||||
[NB: this can be enabled via --enable-cheaders=c_shadow]
|
[NB: this can be enabled via --enable-cheaders=c_shadow]
|
||||||
|
|
||||||
|
include/bits
|
||||||
|
Files included by standard headers and by other files in
|
||||||
|
the bits directory. Includes a set of files bits/std_xxxx.h
|
||||||
|
that implement the standard headers <xxxx>.
|
||||||
|
|
||||||
|
include/backward
|
||||||
|
Headers provided for backward compatibility, such as <iostream.h>.
|
||||||
|
They are not used in this library.
|
||||||
|
|
||||||
|
include/ext
|
||||||
|
Headers that define extensions to the standard library. No
|
||||||
|
standard header refers to any of them.
|
||||||
|
|
||||||
src
|
src
|
||||||
Files that are used in constructing the library, but are not
|
Files that are used in constructing the library, but are not
|
||||||
installed.
|
installed.
|
||||||
|
@ -73,10 +72,20 @@ Currently these are:
|
||||||
config/io
|
config/io
|
||||||
config/locale
|
config/locale
|
||||||
|
|
||||||
Files needed only to construct the library, but not installed,
|
In addition, three subdirectories are convenience libraries:
|
||||||
are in src/. Files to be copied as part of an installation are
|
|
||||||
all found in the subdirectories mentioned above. (A configure
|
libio
|
||||||
script may link files from another directory into one of these.)
|
Contains the subset of the GNU libio library needed for
|
||||||
|
C++. Currently not used.
|
||||||
|
|
||||||
|
libmath
|
||||||
|
Support routines needed for C++ math. Only needed if the
|
||||||
|
underlying "C" implementation is weak or looses.
|
||||||
|
|
||||||
|
libsupc++
|
||||||
|
Contains the runtime library for C++, including exception
|
||||||
|
handling and memory allocation and deallocation, RTTI, terminate
|
||||||
|
handlers, etc.
|
||||||
|
|
||||||
Note that glibc also has a bits/ subdirectory. We will either
|
Note that glibc also has a bits/ subdirectory. We will either
|
||||||
need to be careful not to collide with names in its bits/
|
need to be careful not to collide with names in its bits/
|
||||||
|
|
Binary file not shown.
|
@ -1,13 +1,6 @@
|
||||||
- exception specifications need to be reviewed for all parts of the
|
- 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>.
|
||||||
|
|
||||||
- exception/stdexcept headers will do, but are not cleanly
|
|
||||||
implemented. Also, some kind of consensus needs to be established on
|
|
||||||
if the presence of stdexcept should be assumed in iostreams
|
|
||||||
headers. V3 currently takes the position that references to stdexcept
|
|
||||||
classes necessitates the inclusion of stdexcept, other library vendors
|
|
||||||
seem less inclined.
|
|
||||||
|
|
||||||
- scoping/linking issues WRT to C structs need to be worked out. See
|
- scoping/linking issues WRT to C structs need to be worked out. See
|
||||||
Nathan's commentary on cantrip, http://www.cantrip.org/cheaders.html
|
Nathan's commentary on cantrip, http://www.cantrip.org/cheaders.html
|
||||||
|
|
||||||
|
@ -20,66 +13,20 @@ string and vector iterator classes. basic_string::reverse_iterator may
|
||||||
be implemented incorrectly, or need things like
|
be implemented incorrectly, or need things like
|
||||||
operator==(__normal_iterator, const char*&), and swap(vector)
|
operator==(__normal_iterator, const char*&), and swap(vector)
|
||||||
|
|
||||||
- SGI iterator/allocator classes are not strictly conforming. In
|
|
||||||
particular, raw_storage_iterator, mem_fun1_ref_t are all problem
|
|
||||||
areas.
|
|
||||||
|
|
||||||
- auto_ptr: seems to be some disagreement on what is
|
- auto_ptr: seems to be some disagreement on what is
|
||||||
standards-conformant behavior, specially on conversion operators.
|
standards-conformant behavior, specially on conversion operators.
|
||||||
|
|
||||||
- vswprintf, vwprintf, wprintf, wscanf, wcsftime, swscanf, fgetws,
|
|
||||||
fputwc, fputws, fwide, fwprintf, fwscanf, getwc, getwchar, putwc, etc:
|
|
||||||
C library wchar_t functionality.
|
|
||||||
|
|
||||||
- facets heirarchies seem on occasion give odd errors to conformace
|
|
||||||
tests. Need to test that they are constructed in a strictly-conforming
|
|
||||||
manner.
|
|
||||||
|
|
||||||
- stuff like `LC_CTYPE' is not found. Locale oddness?
|
|
||||||
|
|
||||||
- header optimizations to keep compile times reasonable are most
|
- header optimizations to keep compile times reasonable are most
|
||||||
certainly detracting from full conformance, as many templatized
|
certainly detracting from full conformance, as many templatized
|
||||||
definitions are squired away and pre-instantiated, so that the
|
definitions are squired away and pre-instantiated, so that the
|
||||||
compiler doesn't have to parse them. Areas effected: valarray, string,
|
compiler doesn't have to parse them. Areas effected: valarray, string,
|
||||||
all of iostreams and locales.
|
all of iostreams and locales.
|
||||||
|
|
||||||
- basic_string<wchar_T> not implemented
|
|
||||||
|
|
||||||
- ostreambuf_iterator has not been made standards-conformant (both
|
|
||||||
char and wchar_t) In particular, look at
|
|
||||||
time_put::put(OutIt, ios_base&, char, const tm*, const char*, const
|
|
||||||
char*) const
|
|
||||||
|
|
||||||
- C-related issues WRT to libio and filepos, mbstate_t. Need to
|
- 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
|
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
|
define operators for mbstate_t so that 'mbstate_t& == mbstate_t' is
|
||||||
something that can be done.
|
something that can be done.
|
||||||
|
|
||||||
- codecvt<wchar_t> has not been adequently handled in terms of the
|
|
||||||
locale bits. (The io bits are done, with the exception of one
|
|
||||||
ostream<wchar_t> inserter for char.
|
|
||||||
|
|
||||||
- bool locale::operator() looks to be non-conformant
|
|
||||||
|
|
||||||
- num_get<char>::do_get<user_defined_type>
|
|
||||||
num_put<char>::do_put<user_defined_type>
|
|
||||||
num_put<char, char *>::do_put(char *, ios_base &, char, long double) const
|
|
||||||
num_put<char, char *>::do_put(char *, ios_base &, char, double) const
|
|
||||||
num_put<char, char *>::do_put(char *, ios_base &, char, void const *) const
|
|
||||||
etc.
|
|
||||||
appear to be broken, or headers mashed, or undefined.
|
|
||||||
|
|
||||||
- locale and std::combine not working correctly
|
|
||||||
template <class _Facet> class locale locale::combine(const locale &)
|
|
||||||
|
|
||||||
- ctype_byname<char>: check to make sure derivation standards-conformant.
|
|
||||||
|
|
||||||
- codecvt::unshift not working for char, wchar_t
|
|
||||||
|
|
||||||
- no match for money_base::pattern &[int]
|
|
||||||
|
|
||||||
- money_get::do_get weirded out for wchar_t
|
|
||||||
|
|
||||||
- looks like deque::get_allocator not standards conformant or deque
|
- looks like deque::get_allocator not standards conformant or deque
|
||||||
allocator non-standard.
|
allocator non-standard.
|
||||||
|
|
||||||
|
@ -90,18 +37,10 @@ needs to be drawn throughout the entire STL implementation.
|
||||||
|
|
||||||
- priority_queue conversions may be non-conformant
|
- priority_queue conversions may be non-conformant
|
||||||
|
|
||||||
- istream_iterator uses 2 arguments, should it be 4?
|
|
||||||
|
|
||||||
- 'do the right thing' ctor fixing needs to be done for string. This
|
- '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
|
is still subject to some debate on the library issues list, so I
|
||||||
suggest punting till the dust clears.
|
suggest punting till the dust clears.
|
||||||
|
|
||||||
- the ctype and "tolower" "isspace" stuff really needs to be sorted
|
|
||||||
out. A portable, cross platform interface needs to be defined. A
|
|
||||||
"fixincludes"-like solution needs to be put into place to prune
|
|
||||||
headers. The "C" functions need to be able to work in std:: and "C"
|
|
||||||
namespaces.
|
|
||||||
|
|
||||||
- complex<float> seems to be the single largest source of internal
|
- complex<float> seems to be the single largest source of internal
|
||||||
compiler errors when compiling the c++ library across non-x86
|
compiler errors when compiling the c++ library across non-x86
|
||||||
platforms. Somebody needs to make sure the complex support builtin to
|
platforms. Somebody needs to make sure the complex support builtin to
|
||||||
|
@ -112,23 +51,12 @@ class complex<float>& complex<float>::operator+=<float>(const complex<float> &)
|
||||||
class complex<float>& complex<float>::operator-=<float>(const complex<float> &)
|
class complex<float>& complex<float>::operator-=<float>(const complex<float> &)
|
||||||
class complex<float>& complex<float>::operator*=<float>(const complex<float> &)
|
class complex<float>& complex<float>::operator*=<float>(const complex<float> &)
|
||||||
|
|
||||||
- appears as if the following extraction operators are undefined:
|
|
||||||
operator>>(istream, complex<float>&)
|
|
||||||
operator>>(istream, complex<double>&)
|
|
||||||
operator>>(istream, complex<long double>&)
|
|
||||||
operator>>(istream, complex<user_defined_type>&)
|
|
||||||
sqrt (const complex<T>& x)
|
|
||||||
|
|
||||||
- Protect valarray::result_type (not Standard) and make it work with
|
- Protect valarray::result_type (not Standard) and make it work with
|
||||||
the various helper classes.
|
the various helper classes.
|
||||||
|
|
||||||
- Make sure `valarray<bool> & == _Expr<_BinClos<logical_or,_ValArray,_ValArray,double,double>,bool>'
|
- Make sure `valarray<bool> & == _Expr<_BinClos<logical_or,_ValArray,_ValArray,double,double>,bool>'
|
||||||
is defined
|
is defined
|
||||||
|
|
||||||
- long double std_cmath stuff looks weak
|
|
||||||
|
|
||||||
- fwide not declared. C++ wchar_t issues completely unaddressed.
|
|
||||||
|
|
||||||
- known issues WRT to io and corner cases with the buffers. This is
|
- known issues WRT to io and corner cases with the buffers. This is
|
||||||
still subject to interpretation, and I think the current
|
still subject to interpretation, and I think the current
|
||||||
implementation is credible.
|
implementation is credible.
|
||||||
|
@ -160,12 +88,6 @@ sources, with macro-guards.
|
||||||
|
|
||||||
- add MT support for locale, string, istream, ostream
|
- add MT support for locale, string, istream, ostream
|
||||||
|
|
||||||
- specialize functions that use_facet<> calls on failure for the required
|
|
||||||
facets, and construct them lazily so unused facets need not be constructed
|
|
||||||
when the locale is.
|
|
||||||
|
|
||||||
- <cmath>: provide missing names.
|
|
||||||
|
|
||||||
- provide testsuites for numerics.
|
- provide testsuites for numerics.
|
||||||
|
|
||||||
- add FAQ entries -- improve the install instructions
|
- add FAQ entries -- improve the install instructions
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue