OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [libstdc++-v3/] [docs/] [html/] [17_intro/] [TODO] - Blame information for rev 20

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 20 jlechner
std::allocator
2
 
3
  - switch to mt_allocator with --enable-threads=posix.
4
 
5
  - persistent allocator
6
 
7
  - global/extern allocator
8
 
9
std::string
10
 
11
  - Policy-based design incorporating COW
12
    vs. deep copy issues, MT scalability
13
    See Andrei Alexandrescu, June 2001, C/C++ Users Journal
14
    "Generic: A Policy-Based basic_string Implementation"
15
    http://www.cuj.com/documents/s=7994/cujcexp1906alexandr/
16
 
17
  - operator!= and utility/rel_ops operators need to be made safe with
18
    string and vector iterator classes. basic_string::reverse_iterator may
19
    be implemented incorrectly, or need things like
20
    operator==(__normal_iterator, const char*&), and swap(vector)
21
 
22
  - 'do the right thing' ctor fixing needs to be done for string. This
23
    is still subject to some debate on the library issues list, so I
24
    suggest punting till the dust clears.
25
 
26
  - fix template members of basic_string<> to overload iterators and
27
    non-iterators properly.  (This is the infamous hack as in vector<> etc
28
    23.1.1 para 10.)
29
 
30
std::locale
31
 
32
  - implement __convert_to_v and __convert_from_v without "C" library
33
    functions and and LANG environment variable dependencies.
34
 
35
  - use localedata to implement generic named (non-MT-safe) locales?
36
    Figure out a way to use ICU data, like libjava? Re-package and use
37
    the glibc localedata, even if we aren't on linux? Need a generic
38
    locale model that does something besides the "C" locale.
39
 
40
  - make locale::classic() separate from named locale code. This will
41
    improve the static linkage situation, but will require new
42
    initialization code. In particular, we need lazy-initialization of
43
    locale::classic(), and maybe the has_facet/use_facet functions for all
44
    the required facets. The end goal is a self-contained
45
    locale_init.cc, or one with transitive closure without the locale
46
    instantiations (locale-inst.cc) or the named locale bits
47
    (localename.cc).
48
 
49
  - Jerry(?)/Paolo(?) work on __float_to_char.
50
 
51
  - minimize ctype convertion in data facets, see numpunct/num_put/num_get
52
 
53
std::basic_filebuf, 27_io
54
 
55
  - wfilebuf, get variable-encoding working and tested, including
56
    positioning and seeking. (I think this may be done now)
57
 
58
  - wfilebuf testsuite (getting there...)
59
 
60
  - look ahead for unbuffered io, so know when multiple putc's can be
61
    coalesced.
62
 
63
  - unlocked __basic_file + new mutext class
64
 
65
  - optimized the sentries for istream/ostream
66
 
67
  - v2 vs. v3 speed
68
 
69
  - add optimization hooks (esp. whitespace eating) to streambuf
70
  - add _M_begin() and _M_end() to streambuf
71
  - add algorithm specializations for [io]streambuf_iterator (copy find etc.)
72
 
73
testsuite
74
 
75
  - valgrind hooks into make check so can tell memory leakage
76
    Some commentary on the valgrind users list
77
 
78
  - add hooks for qmtest for visual diffs
79
 
80
  - automatic testing of interactive tests
81
 
82
  - diffing generated output files
83
 
84
  - provide testsuites for numerics.
85
 
86
  - make check-abi needs to have full symbol checking. Scope the LSB
87
    testsuite, see what's going on with the typeinfo etc. bits.
88
 
89
  - try to do a better job of ABI testing, with instantiations of all
90
    standard-specified types checked, not just exported symbols.
91
 
92
g++/binutils
93
 
94
  - compression for wide versions of basic types, not just narrow
95
 
96
threads
97
 
98
  - create MT abstraction layer for atomicity to pthreads.
99
 
100
  - solution for threads + C++.
101
 
102
- audit for places where __builtin_expect can be used.
103
 
104
- relocations, work on getting these down
105
 
106
- issues with __builtin_memcpy and std::copy from Jerry Quinn
107
  http://gcc.gnu.org/ml/libstdc++/2003-02/msg00056.html
108
  http://gcc.gnu.org/ml/libstdc++/2003-02/msg00302.html
109
  http://gcc.gnu.org/ml/gcc/2003-10/msg01305.html
110
 
111
- fix dependency tracking for includes (.h, .tcc) during build process.
112
 
113
- coordinate with "C" library people the "C" compatibility headers.
114
 
115
- Think about naming all member data and member functions consistently
116
  as per
117
  funtions: _M_verb_adverb
118
  data: _M_noun_adjective
119
 
120
- A C++STYLE guide that deals with nested namespaces, and that
121
everybody can live with.
122
 
123
- exception specifications need to be reviewed for all parts of the
124
library support and utility areas, particularly . Part of this is
125
a standards issue, where the 27_io bugs/standard is really in an odd
126
spot.
127
 
128
- C-related issues WRT to io and filepos, mbstate_t. Seeking in wide
129
streams. May need to define operators for mbstate_t so that
130
'mbstate_t& == mbstate_t' is something that can be done.
131
 
132
- scoping/linking issues WRT to C structs need to be worked out. See
133
Nathan's commentary on cantrip, http://www.cantrip.org/cheaders.html
134
 
135
- auto_ptr: seems to be some disagreement on what is
136
standards-conformant behavior, specially on conversion operators.
137
 
138
- list::assignment operator needs const_cast
139
 
140
- a cleaner division between pointers-to-value_type and true iterators
141
needs to be drawn throughout the entire STL implementation.
142
 
143
- priority_queue conversions may be non-conformant
144
 
145
- Protect valarray::result_type (not Standard) and make it work with
146
  the various helper classes.
147
 
148
- Make sure `valarray & == _Expr<_BinClos,bool>'
149
  is defined
150
 
151
- All of the Library working group closed issues need to be
152
addressed. Some of them proposed resolutions are already in the v-3
153
sources, with macro-guards. Also, same with the TR.
154
 
155
- add deprecated features from Annex D
156
  - add #ifdef wrappers for all of them, including in each
157
    C  header
158
  - replace typedef'd non-deprecated types with more type-safe equivalents.
159
 
160
- add feature-test macros for non-standard extensions
161
 
162
- add MT support for locale, string, istream, ostream
163
 
164
- need to think about doing a .texi or DocBook manual, instead of all
165
these HTML pages. In addition, it would be nice to have a full manual,
166
instead of a lot of ad-hoc pages. Weaknesses include numerics, locale,
167
and io.
168
 
169
- add FAQ entries -- improve the install instructions
170
 
171
- add HOWTO entries
172
 
173
- do more doxygen manpages
174
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.