From 9560d353d38cd1efb65c919eb44953503bcfafdc Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Tue, 18 Dec 2001 22:01:20 +0000 Subject: [PATCH] TODO: Update. 2001-12-18 Benjamin Kosnik * 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 --- libstdc++-v3/ChangeLog | 7 ++ libstdc++-v3/README | 53 +++++++----- libstdc++-v3/docs/html/17_intro/RELEASE-NOTES | Bin 3022 -> 3250 bytes libstdc++-v3/docs/html/17_intro/TODO | 78 ------------------ 4 files changed, 38 insertions(+), 100 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 8e1544eb6ad..7157fc1bd45 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2001-12-18 Benjamin Kosnik + + * 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 * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Extended checking before diff --git a/libstdc++-v3/README b/libstdc++-v3/README index 3ace755fa0e..f95a8c93382 100644 --- a/libstdc++-v3/README +++ b/libstdc++-v3/README @@ -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 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 -in docs/html/install.html. - -This directory contains the files needed to create [a still broken -subset of] an ISO Standard C++ Library. +This directory contains the files needed to create an ISO Standard C++ +Library. It has subdirectories: @@ -17,23 +16,10 @@ It has subdirectories: Files in HTML and text format that document usage, quirks of the 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 . - include/std Files meant to be found by #include directives in 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 . - They are not used in this library. - include/c Headers intended to directly include standard C headers. [NB: this can be enabled via --enable-cheaders=c] @@ -50,6 +36,19 @@ It has subdirectories: defined there into the _C_legacy namespace. [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 . + + include/backward + Headers provided for backward compatibility, such as . + 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 Files that are used in constructing the library, but are not installed. @@ -73,10 +72,20 @@ Currently these are: config/io config/locale -Files needed only to construct the library, but not installed, -are in src/. Files to be copied as part of an installation are -all found in the subdirectories mentioned above. (A configure -script may link files from another directory into one of these.) +In addition, three subdirectories are convenience libraries: + + libio + 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 need to be careful not to collide with names in its bits/ diff --git a/libstdc++-v3/docs/html/17_intro/RELEASE-NOTES b/libstdc++-v3/docs/html/17_intro/RELEASE-NOTES index 0f834224c01a5e0f35d3bc5f182101859a9eef1a..5cf43ee972ba0c521a2210dc48d8598b03af3792 100644 GIT binary patch delta 1380 zcmZuwO^YN&5Or`xtec=L-om-4OjT1^S)Y4!LD++gFbjIxCA%uBJ9n}&i_EO)9zpsy z4D%~I>f(>^;%_pdMpqZ6X@aV(i1*^Xi2Up6?_VTEo{LNrnP~5lSD(V{-5cy<5*>_- zF}HW&*%QzvrUq`-0J}Jk9&l8Kr`N7oXJo2DnM`(!u_kWr$551d<-dUmk2t3 z6+nS;5ex<@wY{5WgAo&DhxOHa;v+z1A28gwqNDOgqlaMC9QH1Tw|}1fdiJFn2Dp-4 zp2AeO*C`y^I;%?v%RD7$^yD&~IHJ4d^Fr zRYV~E!Ehdn*&QI#N3eSD$X|9>n-hBS zhf+0l4MB}7zj35)4cdk1QB47yg)MPE0H@&b;QTev2wq%W!t<{CpRqJc^eU26kJ-U< z|2)EXYF1x+M+)@G(%|0zpp0?k&RTt=rumWD$$2CJw#PYU{T};k9tStXinl80{x$W@ zhi;DK+s~_4E7JEbVbsTm*;+gufPIa$Z@g^p*}BXFk2@Q!%kaotg+7V@?wQjfk&Bp39BM=$;+n>mM$! zUi<{bHz|-4J0zcU4-;{luz~NG>Yq*KeWDc(ghDfl%I`43<<%;7q1E>0mW?=neoj)i zo;T>-9Y{{!F1(dw$nY%5{`)0GSC=UibFYZ24Id4n@kO`0$l7WnS{hDQ_9Hsn_DRV~CDUq!5xIgy1G*$z`Hgqof=uN}{Al zO;BWnyy0irFm%!INg)Iw6fM(N9anWNHzZ4bZWy5yr;?PF757zE+z~}8E~}i*WnDID zQp$=T%DUk5W-YF3&M(9VghU05T30MbRE%2Y%+JDPQ{-tvVANKXGmfkqDyjrCy14&{ OF8?NZ`}xOzJoy{WlcM|p delta 1124 zcmZ9L!D4}soy>HP-90{>Cp-v zeK)SIzAk-RT5SW@wy_QeU8;LDQ^v5_q@&I`>&CR+s58!pj6a`_*{$Q4!3DgH zKG~+Cv$Y{(1N!%2O1-UX!fp;KG3_58d>j;XCw;4Ay=bUJS~)71y2u9DNCzKhF%Mia zfM_PC8U{TySK1m+)*(KEuX5f>!?tJ4#ya&WqxB)NfsHcwW~eBJQ@Q~w-o?adFW=pvx7f4yW+Z&}4?mrNt1IoeLqsGG!+`N=w#aU8 zbh0qC+9$%4if$aKM?z3@j;Nw&A;Uvv4Aow%Au%^zFf;7KP*h=So2KG2_{k7}NDVj& zn=#LZ(264*^-69=imy=`TV~U>xPl;fUHV@K$u=xz-hFs~cz7Fu>+2)}3z;yrZ+W<0 Uu~Gq0Z*Nm}^=IYB@^XgXUwy5K3IG5A diff --git a/libstdc++-v3/docs/html/17_intro/TODO b/libstdc++-v3/docs/html/17_intro/TODO index 0128b2bb534..6a9e16da76c 100644 --- a/libstdc++-v3/docs/html/17_intro/TODO +++ b/libstdc++-v3/docs/html/17_intro/TODO @@ -1,13 +1,6 @@ - exception specifications need to be reviewed for all parts of the library support and utility areas, particularly . -- 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 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 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 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 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. -- basic_string 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 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. -- codecvt has not been adequently handled in terms of the -locale bits. (The io bits are done, with the exception of one -ostream inserter for char. - -- bool locale::operator() looks to be non-conformant - -- num_get::do_get - num_put::do_put -num_put::do_put(char *, ios_base &, char, long double) const -num_put::do_put(char *, ios_base &, char, double) const -num_put::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 locale locale::combine(const locale &) - -- ctype_byname: 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 allocator non-standard. @@ -90,18 +37,10 @@ needs to be drawn throughout the entire STL implementation. - 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 is still subject to some debate on the library issues list, so I 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 seems to be the single largest source of internal compiler errors when compiling the c++ library across non-x86 platforms. Somebody needs to make sure the complex support builtin to @@ -112,23 +51,12 @@ class complex& complex::operator+=(const complex &) class complex& complex::operator-=(const complex &) class complex& complex::operator*=(const complex &) -- appears as if the following extraction operators are undefined: -operator>>(istream, complex&) -operator>>(istream, complex&) -operator>>(istream, complex&) -operator>>(istream, complex&) -sqrt (const complex& x) - - Protect valarray::result_type (not Standard) and make it work with the various helper classes. - Make sure `valarray & == _Expr<_BinClos,bool>' 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 still subject to interpretation, and I think the current implementation is credible. @@ -160,12 +88,6 @@ sources, with macro-guards. - 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. - -- : provide missing names. - - provide testsuites for numerics. - add FAQ entries -- improve the install instructions -- 2.30.2