-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
319 lines (288 loc) · 15.5 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
0.2.5
- wrapper: Fix handling arguments with spaces
- stream: Add support for 64-bit integers
- buildsys: allow to pass in LDFLAGS
- __base_associative: fix erase(iter,iter), e.g. multimap
- list: fix splice to empty list from other.begin()
- add refcounted exceptions
- tests: Allow to run tests via a simulator
- algorithm: Fix decl of stable_sort
- string: assign(): fix two bugs
- C++14 sized allocation
- buildsys: Revamp. Fix spurious rebuilds, check CXXFLAGS with CXX
- iostream: fix string getline to set noskipws
- istream: add missing operator >> implementation
- buildsys: rename .config WARNINGS to UCLIBCXX_WARNINGS
- unwind: Fix for __ARM_EABI_UNWINDER__
0.2.4
- valarray: Fix operator=(const valarray<T>&) DR 630
- valarray: Adjust constness of operator[](size_t)
- valarray: Properly implement class member valarray<bool> operator!()
- valarray: Fix operator|= (const T&) to or, not not
- valarray: Fix both shift() and cshift() for any overrun and +- offsets
- valarray: Fix slice_array& operator=(const slice_array&) to return properly
- valarray: Adjust class gslice default constructor DR 543
- valarray: Fix valarray<bool> operator>(const T&, const valarray<T>&)
- valarray: Return the result of all algo
- valarray: Fix copy'n paster error in atan2() inner fn call
- valarray: Fix pow (const T& const valarray<T>&)
- istream: fix readin<traits, char, bool>
- fix compilation with >= gcc-4.7
- ios: Fix typo in operator!=
- tests: Fix typo in chartraitstest
- bitset: reset(), flip(): Fix off-by-one error
- tests: Show diff when V=1 was given
- buildsys: several fixes (ccache, Makefile deps, portability)
0.2.3
- eh: Add alloc/free for dependent exception
- cstring: Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not defined
- Several compile fixes for recent gcc versions
- Have string use some of the base class insert functions to be more complete
- Change map::operator[] to not create unnecessary temp objects.
- Ensure that map and mmap swap functions are properly exported
- Add support for ostream adjustwidth support
- Add support for bool limits support
- Misc fstream fixes
- Add support for comparison between deque iteractors and deque const_iterators
0.2.2
- Fixed default flags for ios
- Implemented locale::name() for compatability reasons
- Found embarassing = instead of == in code. Fixed.
- Made algotest active.
- Ifdef out GCC specific pragmas and attribute foo to be more portable. Thanks to asierllano.
- Stop initializing variables in destructor.
- Have destruction of ostream objects cause the buffers to be flushed.
- Implement deque::swap
- Remove variable name to avoid unused variable declaration warning.
- Add #pragma GCC visibility push/pop in header files at the request of Peter S. Mazinger
- Convert string test suite to use new test framework.
- Don't have ostream do flushing - leave that to subclasses.
- Now support ios::exception properly
- istream::get(char *s, streamsize n) is now more standards-compliant.
- Added new base to be used for associative containers (map, set, multimap, multiset).
- Fixed iterator returned by list::erase when erasing first element in list.
- Map and multimap classes have been rewritten with the new associative base. Now passes test suite!
- Set and multiset classes have been rewritten with the new associative base.
- Set and Map now should insert from iterators correctly.
- Fix fstreambuf to not segfault on reading from a closed file descripter.
- Have ios_Base::init reset the stream flags as per the spec.
- Fixed string.compare() to do math on the correct variables.
- Added location for complex tests, plus a preliminary test attempting to reproduce suspected issue.
0.2.1
- Now export std::calloc & std::realloc
- Implement std::ws
- Implement istream>> (*pf)(istream)
- Implement istream>> (*pf)(ios_base)
- Implement string::find_last_not_of
- Convert some string functions to use traits::eq in spec compliance
- String now accepts resize filler character
- String::assign(iterator first, iterator last) now implemented
- Clean up double-semicolons
- Add parent class scoping as appropriate
- Make ios::Init() exported again
- Replace cwchar and cstdio with my own versions, getting rid of GNU badness
- Add eh_alloc to source - replacing more objects from the GNU implementation
- Add configurable use of TLS as appropriate (migrating this way - no support deprecated)
- Make ostream formating more accurately reflect specification (curtesy Gavin Lambert)
- Make streams respect the ios_base::app flag. Added test case to check for this in fstream
- Elliminate unuse architecture config code (Thanks to Mike Frysinger)
- Added preliminary implementation of <limits>
- Fixed memory error in list::remove implementation
- Fix memory leak in vector
0.2.0
- Now can compare set iterators and const_iterators
- Now can compare map iterators and const_iterators
- Now can get a const value from operator* on set/map iterator
- Added fixed to std::map / std::multimap
- Clean up test suite
- Map test now tests for some additional error conditions
- Map iterators still invalidated improperly
- Fix to functional binder using wrong type
- Long double support now depends on float support
0.1.12
- Add missing const declarators to some data types (thanks to asierllano)
- Fix list::swap to alter the nubmer of elements
- Fix map and mmap code find functions
- Add const operator== and operator!= to multiple containers
- Removied 3-argument string::compare and substituted 5-arguement compare with defaults
- Re-instituted basic_ios() constructor. istream/ostream now manually call protected init()
- Fixed implementation of uflow() (Thanks tommi)
- badbit now set if data not written in ostream code
- fix implementation of traits::copy
- Call flush far less often
- Now with multimap::operator== (thanks to tommi)
- Implementation of istreambuf_iterator::equal() (Thanks to tommi)
- Fix certain exception implementations
- Istream now sets error bits correctly (thanks to tommi)
- Change implementation of streambuf::xsputn
- Fix of binder2nd operator implementation
- Elliminated unneccessary pointers in ostream and istream - use pointers in base class instead
- Added tests of utilities
- Now handle calls to new() requesting 0 bytes without throwing exception
- Changed behaviour of sstream to more closely match standard, GNU libstdc++ and the rest of iostream
- Fix implementation for man_fun to use mem_fun1_t as appropriate
- Fix const on mem_fun1_t
- Remove const from auto_ptr::release()
- Add const to map::const_iterator operator->()
- Add const to set::const_iterator operator->()
- Provide for default argument to vector::resize()
- Implemented std::ends
- Implemented [multi]set comparison operators
- Fixed deque operator==
- Deque const_iterator now works properly
- Fix auto_ptr() copy constructor to not be const
- Better fix for deque const_iterator
- Undef min/max in algorithm to get rid of macro versions
- Yet Another Implementation of deque::iterator
- Implemented swap(string, string)
- Change algorithms swap to use copy constructor instead of default constructor
- Added a little more from gslice_array
- Created comparison operatators for list
- Added binary operators to valarray
- Added trig operators to valarray
- Fixed typos in valarray (thanks to psm)
- Broke spec slightly in slice_array to allow copying to make borken apps/compilers work
- More fixes to auto_ptr const correctness
- Fix deque constness in deque const_iterator typenames
- Fix stringstream buffer xsputn implementation
0.1.11
- Expanding basic_string<char> automatically expands vector<char>, even if not
explicitly expanding vector for other data types. No cost and may save space.
- Explicitly share istream code for tokenizing stream
- Fix of bind2nd in function (Thanks to Ted Schroeder)
- Properly implement fstream::sync() - now works
- Added std::streamoff
- Added operators for fpos in ios
- Fix resize() call in string wrapping non-existant resize() call
- Fix operator >= in string
- Performance speedup in vector/string (now *use* preallocated buffer space)
- Showbase is no longer on by default
- i|ostream now call the constructor for basic_ios properly
- Fixes to how snextc() works. Code now fixed
- seekoff() and thus tellg now returns ftell to give useful information
- General iostream cleanups
- Additions to io and other tests
- Added test for streambuf
- Made changes to iostream - now reads first and last character!
- Update istream::read to list amount of data last read successfully
- Add configuration option to avoid expanding pesky [con|de]structors
- Implemented std::auto_ptr - don't know how I missed that one
- Now able to have all support libraries imported (libgcc_eh)
- wchar output now works properly - note that performance sucks necessarily
- Fix to string::erase() so it now actually erases
0.1.10
- Implemented clog and changed cerr to meet spec (unbuffered)
- Implemented wcout, wcin, wcerr and wclog
- Added functions to support conversion of wchar to appropriate types
- Cleanup of #includes in header files to reduce bloat and compilation time
- Added ostream support for wchar
- Fixed missing const declaration in functional causing problems with algorithms
Peter S. Mazinger: Added -z defs to $(CC) -shared
- Fixed wchar enhancements if wchar is not enabled
- Cleaned up tests system to be much easier to add additional tests
- Fixed problems in getline() code
- Major performance increase on fstream input code (4.5X, approximately)
- Move libgcc_eh and libsupc++ code into separate directories
- More code expansion into the library to make executibles much smaller
- Remove unneeded typedefs to clean up the code and make it easier to understand
- <complex> nearly complete - only need to implement pow()
- Fixed problem with failing to handle end-of-file notification
- Removed certain enhancements until I can figure out why they are spewing warnings
0.1.9
Peter S. Mazinger: wchar cleanups across the board
- Make sure that operator= changes the number of elements in the vector.
- Fix to string::pop_back function scope
- reverse_iterator copying fixed
- Have max string length test aginst proper variable (oops)
- Change sstream to use append instead of push_back all of the time
- Make string::append start reading at the correct location
- Convert sstream to allow seeking on write stream without truncation
- Convert sstream xsputn to use either append or replace
- Elliminate duplicate size_t definition - now use C library version
- Make sure string assign(size_type n, Ch c) clears the string before resizing
- Fix string insert functions to move the correct amount of data
- Reimplemented cstring, cassert, cerrno, cstdlib
0.1.8
- Fixed problem in <map> which returned this instead of *this for operator=
- Fixed an problem using . instead of -> Oops.
- Added string find, rfind, find_first_of and find_last_of functions
- Moved operator+(string, string) into library binary.
- Added <iomanip> header. Forgot that little thing. Oops.
- Fixed insert for vector<int>. Technique shamelessly stolen from glibc++
- fix problem in list which incorrectly handles pointers
- Create native std::string::find(Ch) instead of calling through string constructor.
- Fix of istream getline (only sets failbit if extracted 0 chars, not copied 0 chars)
- Fix string::find so we can scan the last character in the string.
- Fix map iterator overloading class definion
- Fix map iterator returning value not reference
- Change tests to check changes
- Change ios::operator() to return 1 instead of this
- Fix [i|o]stream to check open() return value
- Change fstream open functions to use the proper bitwise operators
- Change allocator functionality so that it works according to spec.
- Conversion of STL to use allocator::construct/destroy
- Make test suite nicer.
0.1.7 - 2004-12-23
- Significant changes to the library
- Converted a lot of forced instanteation from double definitions to ifdef tricks
- Merged some of the helper functions into the main files
- Split off i/ostream string code from core string header
- Lots of little bugfixes done involving function definitions, etc.
- Fixed a spec error in list code - erase now returns a pointer after deleted elements, not before
- Fixed a spec error in streambuf - now call pbackfail instead of returning error.
- Added more code to valarray - now supports slice_array - untested
- Modified test suite (by popular demand). Now the process can be automated
- Added targets make tests and make test. tests builds tests and test runs them
0.1.6 - 2004-11-30
- Fixed problem with straembuf where a value was being returned instead of a pointer
- Fixed a problem where a buffer was not flushed on close of an fstraem
- Added basic test for fstream
- Started working on better way to expand symbols in library
0.1.5 - 2004-09-26
- Added code for all algorithms
- Fixed map/set code to prevent infinite loops. Oops.
- Fixed list code to prevent most memory leaks. 1 still remains, but unknown location
- stlport v 1.00 test suite now compiles, links and runs. Some issues remain
- Fix deque constructor using the wrong end_pointer value
- Added erase capability to vector
- Changed multimap::find to point to first matching element instead of any matching element
- Added more tests to test suite based upon problems from stlport test suite
- Altered istream_iterator template so that it handles begining of stream conditions properly
- Fixed make_heap and sort_heap functions to sort in the correct order
- Fixed a few pedantic errors in std::string as it relates to the vector base
- All (known) stlport issues have been resolved. Compiles and runs properly.
0.1.4 - 2004-09-10
- Fixed minor previous errors
- Added <algorithm> heap functions. Just treat as a descending sorted list
- Added more code to <valarray>
- Added <, <=, >, >= comparisons to deque iterators (don't know why I missed them in the first place)
- Making Makefiles a little bit better.
0.1.3 - 2004-09-06
- Compiles with gcc 3.4, thus it is far more "correct" than previously
- Started adding code for valarray
0.1.2 - 2004-09-05
- Completed all core code for set, multiset, map and multimap. Rewrote to use inheritance to cut code duplication
- Added more algorithms
- Now compiles the stlport 1.0 testsuite (some minor changes to not test extensions needed)
- Does not yet link stlport testsuite - missing implementations of a number of functions
- Added sort algorithm - using a bubble sort for now.
- sort_stable will likely remain bubble sort for some time (It is both stable and in-place)
- sort will likely be converted to a heap sort eventually (It is in-place, but non-stable)
- List sort is a bubble sort. Might change later (insertion sort?), but it is difficult to work with list limitations
- Split iterator code into two sections to cut down on dependency hell
- Compiles ncurses c++ library and test application
0.1.1 - 2004-09-01
- Removed semicolons on the closing of namespaces. My compiler doesn't warn, so I may have missed one or two
- Fixed a problem with the istream code which caused it to fail to read in the first character of input.
- Changed compiler flags to not generate some warnings on >=GCC 3.4
- Changed build process to prevent misconfiguration under certain circumstances
- Added stringstream and all of it's incarnations
- Added <bitset>
- Added <set> - code is considered 'under development' - not finished
0.1.0 - 2004-08-28
- Nearly done all algorithms
- Added some SGI extensions
- Completed numerics libraries
- Only multimap has yet to be started of containers
- Lots of bug fixes
- Coompiles all of the stlport C++ STL tests up to mmap1.cpp (no multimap)