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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc4/] [libstdc++-v3/] [doc/] [xml/] [manual/] [evolution.xml] - Blame information for rev 519

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 424 jeremybenn
2
3
 
4
5
  
6
    ISO C++
7
    api
8
    evolution
9
    deprecation
10
    history
11
  
12
13
 
14
API Evolution and Deprecation History
15
 
16
17
A list of user-visible changes, in chronological order
18
19
 
20
21
<constant>3.0</constant>
22
 
23
  
24
Extensions moved to include/ext.
25
  
26
 
27
28
Include files from the SGI/HP sources that pre-date the ISO standard
29
are added. These files are placed into
30
the include/backward directory and a deprecated warning
31
is added that notifies on inclusion (-Wno-deprecated
32
deactivates the warning.)
33
34
 
35
Deprecated include backward/strstream added.
36
 
37
Removal of include builtinbuf.h, indstream.h, parsestream.h, PlotFile.h, SFile.h, stdiostream.h, and stream.h.
38
39
 
40
 
41
 
42
43
 
44
45
<constant>3.1</constant>
46
  
47
  
48
 
49
50
Extensions from SGI/HP moved from namespace std
51
to namespace __gnu_cxx. As part of this, the following
52
new includes are
53
added: ext/algorithm, ext/functional, ext/iterator, ext/memory, and ext/numeric.
54
55
 
56
57
Extensions to basic_filebuf introduced: __gnu_cxx::enc_filebuf, and __gnu_cxx::stdio_filebuf.
58
59
 
60
61
Extensions to tree data structures added in ext/rb_tree.
62
63
 
64
65
Removal of ext/tree, moved to backward/tree.h.
66
67
 
68
69
 
70
71
<constant>3.2</constant>
72
  
73
  
74
Symbol versioning introduced for shared library.
75
 
76
Removal of include backward/strstream.h.
77
 
78
Allocator changes. Change __malloc_alloc to malloc_allocator and __new_alloc to new_allocator. 
79
 
80
    For GCC releases from 2.95 through the 3.1 series, defining
81
   __USE_MALLOC on the gcc command line would change the
82
   default allocation strategy to instead use  malloc and
83
   free. (This same functionality is now spelled _GLIBCXX_FORCE_NEW, see
84
   this page
85
   for details.
86
   
87
 
88
 
89
Error handling in iostreams cleaned up, made consistent. 
90
 
91
 
92
93
 
94
95
<constant>3.3</constant>
96
  
97
  
98
99
 
100
101
<constant>3.4</constant>
102
  
103
  
104
105
Large file support.
106
107
 
108
 Extensions for generic characters and char_traits added in ext/pod_char_traits.h.
109
110
 
111
112
Support for wchar_t specializations of basic_filebuf enhanced to support UTF-8 and Unicode, depending on host. More hosts support basic wchar_t functionality.
113
114
 
115
116
Support for char_traits beyond builtin types.
117
118
 
119
120
Conformant allocator class and usage in containers. As
121
part of this, the following extensions are
122
added: ext/bitmap_allocator.h, ext/debug_allocator.h, ext/mt_allocator.h, ext/malloc_allocator.h,ext/new_allocator.h, ext/pool_allocator.h.
123
124
 
125
126
This is a change from all previous versions, and may require
127
source-level changes due to allocator-related changes to structures
128
names and template parameters, filenames, and file locations. Some,
129
like __simple_alloc, __allocator, __alloc,  and 
130
_Alloc_traits have been removed.
131
132
 
133
Default behavior of std::allocator has changed.
134
 
135
136
   Previous versions prior to 3.4 cache allocations in a memory
137
   pool, instead of passing through to call the global allocation
138
   operators (i.e., __gnu_cxx::pool_allocator).  More
139
   recent versions default to the
140
   simpler __gnu_cxx::new_allocator.
141
142
 
143
 Previously, all allocators were written to the SGI
144
   style, and all STL containers expected this interface. This
145
   interface had a traits class called _Alloc_traits that
146
   attempted to provide more information for compile-time allocation
147
   selection and optimization. This traits class had another allocator
148
   wrapper, __simple_alloc<T,A>, which was a
149
   wrapper around another allocator, A, which itself is an allocator
150
   for instances of T. But wait, there's more:
151
   __allocator<T,A> is another adapter.  Many of
152
   the provided allocator classes were SGI style: such classes can be
153
   changed to a conforming interface with this wrapper:
154
   __allocator<T, __alloc> is thus the same as
155
   allocator<T>.
156
   
157
 
158
    The class allocator used the typedef
159
   __alloc to select an underlying allocator that
160
   satisfied memory allocation requests. The selection of this
161
   underlying allocator was not user-configurable.
162
   
163
 
164
165
Extension Allocators
166
167
168
169
170
171
 
172
  
173
    
174
      Allocator (3.4)
175
      Header (3.4)
176
      Allocator (3.[0-3])
177
      Header (3.[0-3])
178
    
179
  
180
 
181
  
182
  
183
    __gnu_cxx::new_allocator<T>
184
    ext/new_allocator.h
185
    std::__new_alloc
186
    memory
187
  
188
  
189
    __gnu_cxx::malloc_allocator<T>
190
    ext/malloc_allocator.h
191
    std::__malloc_alloc_template<int>
192
    memory
193
  
194
  
195
    __gnu_cxx::debug_allocator<T>
196
    ext/debug_allocator.h
197
    std::debug_alloc<T>
198
    memory
199
  
200
  
201
    __gnu_cxx::__pool_alloc<T>
202
    ext/pool_allocator.h
203
    std::__default_alloc_template<bool,int>
204
    memory
205
  
206
  
207
    __gnu_cxx::__mt_alloc<T>
208
    ext/mt_allocator.h
209
     
210
     
211
  
212
  
213
    __gnu_cxx::bitmap_allocator<T>
214
    ext/bitmap_allocator.h
215
     
216
     
217
  
218
  
219
220
221
 
222
    Releases after gcc-3.4 have continued to add to the collection
223
   of available allocators. All of these new allocators are
224
   standard-style. The following table includes details, along with
225
   the first released version of GCC that included the extension allocator.
226
   
227
 
228
229
Extension Allocators Continued
230
231
232
233
234
 
235
236
  
237
    Allocator
238
    Include
239
    Version
240
  
241
242
 
243
244
  
245
    __gnu_cxx::array_allocator<T>
246
    ext/array_allocator.h
247
    4.0.0
248
  
249
  
250
    __gnu_cxx::throw_allocator<T>
251
    ext/throw_allocator.h
252
    4.2.0
253
  
254
255
256
257
 
258
 
259
260
Debug mode first appears.
261
262
 
263
264
Precompiled header support PCH support.
265
266
 
267
268
Macro guard for changed, from _GLIBCPP_ to _GLIBCXX_.
269
270
 
271
272
Extension ext/stdio_sync_filebuf.h added.
273
274
 
275
276
Extension ext/demangle.h added.
277
278
 
279
 
280
281
 
282
283
<constant>4.0</constant>
284
  
285
  
286
287
TR1 features first appear.
288
289
 
290
291
Extension allocator ext/array_allocator.h added.
292
293
 
294
295
Extension codecvt specializations moved to ext/codecvt_specializations.h.
296
297
 
298
299
Removal of ext/demangle.h.
300
301
 
302
 
303
304
 
305
306
<constant>4.1</constant>
307
  
308
  
309
 
310
 
311
312
Removal of cassert from all standard headers: now has to be explicitly included for std::assert calls.
313
314
 
315
 Extensions for policy-based data structures first added. New includes,
316
types, namespace pb_assoc.
317
318
 
319
 
320
 
321
 Extensions for typelists added in ext/typelist.h.
322
323
 
324
 Extension for policy-based basic_string first added: __gnu_cxx::__versa_string in ext/vstring.h.
325
326
 
327
328
 
329
330
<constant>4.2</constant>
331
  
332
  
333
 
334
 
335
 Default visibility attributes applied to namespace std. Support for -fvisibility.
336
337
 
338
TR1 random, complex, and C compatibility headers added.
339
 
340
 Extensions for concurrent programming consolidated
341
into ext/concurrence.h and ext/atomicity.h,
342
including change of namespace to __gnu_cxx in some
343
cases. Added types
344
include _Lock_policy, __concurrence_lock_error, __concurrence_unlock_error, __mutex, __scoped_lock.
345
 
346
 Extensions for type traits consolidated
347
into ext/type_traits.h. Additional traits are added
348
(__conditional_type, __enable_if, others.)
349
350
 
351
 Extensions for policy-based data structures revised. New includes,
352
types, namespace moved to __pb_ds.
353
354
 
355
 Extensions for debug mode modified: now nested in namespace
356
std::__debug and extensions in namespace
357
__gnu_cxx::__debug.
358
 
359
 Extensions added: ext/typelist.h
360
and ext/throw_allocator.h.
361
362
 
363
364
 
365
366
<constant>4.3</constant>
367
  
368
  
369
 
370
 
371
372
C++0X features first appear.
373
374
 
375
TR1 regex and cmath's mathematical special function added.
376
377
 
378
379
Backward include edit.
380
381
382
  
383
    Removed
384
  
385
algobase.h algo.h alloc.h bvector.h complex.h
386
defalloc.h deque.h fstream.h function.h hash_map.h hash_set.h
387
hashtable.h heap.h iomanip.h iostream.h istream.h iterator.h
388
list.h map.h multimap.h multiset.h new.h ostream.h pair.h queue.h rope.h set.h slist.h stack.h streambuf.h stream.h tempbuf.h
389
tree.h vector.h
390
  
391
  
392
  
393
    Added
394
  
395
  hash_map and hash_set
396
  
397
  
398
  
399
    Added in C++0x
400
  
401
    auto_ptr.h and binders.h
402
  
403
  
404
 
405
406
 
407
408
Header dependency streamlining.
409
410
 
411
412
  algorithm no longer includes climits, cstring, or iosfwd 
413
  bitset no longer includes istream or ostream, adds iosfwd 
414
  functional no longer includes cstddef
415
  iomanip no longer includes istream, istream, or functional, adds ioswd 
416
  numeric no longer includes iterator
417
  string no longer includes algorithm or memory
418
 
419
  valarray no longer includes numeric or cstdlib
420
  tr1/hashtable no longer includes memory or functional
421
  tr1/memory no longer includes algorithm
422
  tr1/random no longer includes algorithm or fstream
423
424
 
425
426
Debug mode for unordered_map and unordered_set.
427
428
 
429
430
Parallel mode first appears.
431
432
 
433
Variadic template implementations of items in tuple and
434
    functional.
435
436
 
437
Default what implementations give more elaborate
438
    exception strings for bad_cast,
439
    bad_typeid, bad_exception, and
440
    bad_alloc.
441
442
 
443
444
PCH binary files no longer installed. Instead, the source files are installed.
445
446
 
447
448
Namespace pb_ds moved to __gnu_pb_ds.
449
450
 
451
452
 
453
 
454
455
<constant>4.4</constant>
456
  
457
  
458
 
459
460
C++0X features.
461
462
 
463
464
465
  
466
    Added.
467
  
468
  
469
    atomic,
470
    chrono,
471
    condition_variable,
472
    forward_list,
473
    initializer_list,
474
    mutex,
475
    ratio,
476
    thread
477
  
478
479
 
480
481
  
482
    Updated and improved.
483
  
484
  
485
    algorithm,
486
    system_error,
487
    type_traits
488
  
489
490
 
491
492
  
493
    Use of the GNU extension namespace association converted to inline namespaces.
494
  
495
496
 
497
498
  
499
    Preliminary support for initializer_list
500
    and defaulted and deleted constructors in container classes.
501
  
502
503
 
504
505
  
506
    unique_ptr.
507
  
508
509
 
510
511
  
512
    Support for new character types char16_t
513
    and char32_t added
514
    to char_traits, basic_string, numeric_limits,
515
    and assorted compile-time type traits.
516
  
517
518
 
519
520
  
521
    Support for string conversions to_string
522
    and to_wstring.
523
  
524
525
 
526
527
  
528
    Member functions taking string arguments were added to iostreams
529
    including basic_filebuf, basic_ofstream,
530
    and basic_ifstream.
531
  
532
533
 
534
535
  
536
    Exception propagation support,
537
    including exception_ptr, current_exception, copy_exception,
538
    and rethrow_exception.
539
  
540
541
542
 
543
 
544
  
545
Uglification of try to __try
546
and catch to __catch.
547
  
548
 
549
  
550
Audit of internal mutex usage, conversion to functions returning static
551
local mutex.
552
  
553
 
554
 Extensions
555
added: ext/pointer.h
556
and ext/extptr_allocator.h. Support
557
for non-standard pointer types has been added
558
to vector
559
and forward_list.
560
561
562
 
563
564
<constant>4.5</constant>
565
  
566
  
567
 
568
569
C++0X features.
570
571
 
572
573
574
  
575
    Added.
576
  
577
  
578
    functional,
579
    future,
580
    random
581
  
582
583
 
584
585
  
586
    Updated and improved.
587
  
588
  
589
    atomic,
590
    system_error,
591
    type_traits
592
  
593
594
 
595
596
  
597
    Add support for explicit operators and standard layout types.
598
  
599
600
601
 
602
603
Profile mode first appears.
604
605
 
606
607
Support for decimal floating-point arithmetic, including decimal32, decimal64, and decimal128.
608
609
 
610
611
Python pretty-printers are added for use with appropriately-advanced versions of gdb.
612
613
 
614
615
Audit for application of function attributes notrow, const, pure, and noreturn.
616
617
 
618
619
The default behavior for comparing typeinfo names changed, so
620
in typeinfo, __GXX_MERGED_TYPEINFO_NAMES
621
now defaults to zero.
622
623
 
624
 Extensions modified: ext/throw_allocator.h.
625
626
627
 
628

powered by: WebSVN 2.1.0

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