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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [libstdc++-v3/] [doc/] [xml/] [manual/] [status_cxx1998.xml] - Blame information for rev 862

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 424 jeremybenn
2
3
 
4
5
  
6
    
7
      ISO C++
8
    
9
    
10
      1998
11
    
12
  
13
14
 
15
C++ 1998/2003
16
 
17
18
  Implementation Status
19
 
20
21
This status table is based on the table of contents of ISO/IEC 14882:2003.
22
23
 
24
25
This page describes the C++ support in mainline GCC SVN, not in any
26
particular release.
27
28
 
29
30
38
39
C++ 1998/2003 Implementation Status
40
41
42
43
44
45
  
46
    
47
      Section
48
      Description
49
      Status
50
      Comments
51
    
52
  
53
 
54
  
55
    
56
      
57
        18
58
      
59
      
60
        Language support
61
      
62
    
63
 
64
    
65
      18.1
66
      Types
67
      Y
68
      
69
    
70
    
71
      18.2
72
      Implementation properties
73
      Y
74
      
75
    
76
    
77
      18.2.1
78
      Numeric Limits
79
      
80
      
81
    
82
    
83
      18.2.1.1
84
      Class template numeric_limits
85
      Y
86
      
87
    
88
    
89
      18.2.1.2
90
      numeric_limits members
91
      Y
92
    
93
    
94
      18.2.1.3
95
      float_round_style
96
      Y
97
    
98
    
99
      18.2.1.4
100
      float_denorm_style
101
      Y
102
    
103
    
104
      18.2.1.5
105
      numeric_limits specializations
106
      Y
107
      
108
    
109
    
110
      18.2.2
111
      C Library
112
      Y
113
      
114
    
115
    
116
      18.3
117
      Start and termination
118
      Y
119
      
120
    
121
    
122
      18.4
123
      Dynamic memory management
124
      Y
125
      
126
    
127
    
128
      18.5
129
      Type identification
130
      
131
      
132
    
133
    
134
      18.5.1
135
      Class type_info
136
      Y
137
      
138
    
139
    
140
      18.5.2
141
      Class bad_cast
142
      Y
143
      
144
    
145
    
146
      18.5.3
147
      Class bad_typeid
148
      Y
149
      
150
    
151
    
152
      18.6
153
      Exception handling
154
      
155
      
156
    
157
    
158
      18.6.1
159
      Class exception
160
      Y
161
      
162
    
163
    
164
      18.6.2
165
      Violation exception-specifications
166
      Y
167
      
168
    
169
    
170
      18.6.3
171
      Abnormal termination
172
      Y
173
      
174
    
175
    
176
      18.6.4
177
      uncaught_exception
178
      Y
179
      
180
    
181
    
182
      18.7
183
      Other runtime support
184
      Y
185
      
186
    
187
    
188
      
189
        19
190
      
191
      
192
        Diagnostics
193
      
194
    
195
    
196
      19.1
197
      Exception classes
198
      Y
199
      
200
    
201
    
202
      19.2
203
      Assertions
204
      Y
205
      
206
    
207
    
208
      19.3
209
      Error numbers
210
      Y
211
      
212
    
213
    
214
      
215
        20
216
      
217
      
218
        General utilities
219
      
220
    
221
    
222
      20.1
223
      Requirements
224
      Y
225
      
226
    
227
   
228
      20.2
229
      Utility components
230
      
231
      
232
    
233
    
234
      20.2.1
235
      Operators
236
      Y
237
      
238
    
239
    
240
      20.2.2
241
      pair
242
      Y
243
      
244
    
245
   
246
      20.3
247
      Function objects
248
      
249
      
250
    
251
    
252
      20.3.1
253
      Base
254
      Y
255
      
256
    
257
    
258
      20.3.2
259
      Arithmetic operation
260
      Y
261
      
262
    
263
    
264
      20.3.3
265
      Comparisons
266
      Y
267
      
268
    
269
    
270
      20.3.4
271
      Logical operations
272
      Y
273
      
274
    
275
    
276
      20.3.5
277
      Negators
278
      Y
279
      
280
    
281
    
282
      20.3.6
283
      Binders
284
      Y
285
      
286
    
287
    
288
      20.3.7
289
      Adaptors for pointers to functions
290
      Y
291
      
292
    
293
    
294
      20.3.8
295
      Adaptors for pointers to members
296
      Y
297
      
298
    
299
    
300
      20.4
301
      Memory
302
      
303
      
304
    
305
    
306
      20.4.1
307
      The default allocator
308
      Y
309
      
310
    
311
    
312
      20.4.2
313
      Raw storage iterator
314
      Y
315
      
316
    
317
    
318
      20.4.3
319
      Temporary buffers
320
      Y
321
      
322
    
323
    
324
      20.4.4
325
      Specialized algorithms
326
      Y
327
      
328
    
329
    
330
      20.4.4.1
331
      uninitialized_copy
332
      Y
333
      
334
    
335
    
336
      20.4.4.2
337
      uninitialized_fill
338
      Y
339
      
340
    
341
    
342
      20.4.4.3
343
      uninitialized_fill_n
344
      Y
345
      
346
    
347
    
348
      20.4.5
349
      Class template auto_ptr
350
      Y
351
      
352
    
353
    
354
      20.4.6
355
      C library
356
      Y
357
      
358
    
359
    
360
      
361
        21
362
      
363
      
364
        Strings
365
      
366
    
367
    
368
      21.1
369
      Character traits
370
      
371
      
372
    
373
    
374
      21.1.1
375
      Character traits requirements
376
      Y
377
      
378
    
379
    
380
      21.1.2
381
      traits typedef
382
      Y
383
      
384
    
385
    
386
      21.1.3
387
      char_traits specializations
388
      
389
      
390
    
391
    
392
      21.1.3.1
393
      struct char_traits<char>
394
      Y
395
      
396
    
397
    
398
      21.1.3.2
399
      struct char_traits<wchar_t>
400
      Y
401
      
402
    
403
    
404
      21.2
405
      String classes
406
      Y
407
      
408
    
409
    
410
      21.3
411
      Class template basic_string
412
      Y
413
      
414
    
415
    
416
      21.4
417
      Null-terminated sequence utilities
418
      Y
419
      C library dependency
420
    
421
    
422
      
423
        22
424
      
425
      
426
        Localization
427
      
428
    
429
    
430
      22.1
431
      Locales
432
      
433
      
434
    
435
    
436
      22.1.1
437
      Class locale
438
      Y
439
      
440
    
441
    
442
      22.1.2
443
      locale globals
444
      Y
445
      
446
    
447
    
448
      22.1.3
449
      Convenience interfaces
450
      
451
      
452
    
453
    
454
      22.1.3.1
455
      Character classification
456
      Y
457
      
458
    
459
    
460
      22.1.3.2
461
      Character conversions
462
      Y
463
      
464
    
465
    
466
      22.2
467
      Standard locale categories
468
      
469
      
470
    
471
    
472
      22.2.1
473
      ctype
474
      Y
475
      
476
    
477
    
478
      22.2.2
479
      Numeric
480
      
481
      
482
    
483
    
484
      22.2.2.1
485
      num_get
486
      Y
487
      
488
    
489
    
490
      22.2.2.2
491
      num_put
492
      Y
493
      
494
    
495
    
496
      22.2.3
497
      num_punct
498
      Y
499
      
500
    
501
    
502
      22.2.4
503
      collate
504
      Y
505
      
506
    
507
    
508
      22.2.5
509
      Time
510
      
511
      
512
    
513
    
514
      22.2.5.1
515
      time_get
516
      Y
517
      
518
    
519
    
520
      22.2.5.2
521
      time_get_byname
522
      Y
523
      
524
    
525
    
526
      22.2.5.3
527
      time_put
528
      Y
529
      
530
    
531
    
532
      22.2.5.3
533
      time_put_byname
534
      Y
535
      
536
    
537
    
538
      22.2.6
539
      Monetary
540
      
541
      
542
    
543
    
544
      22.2.6.1
545
      money_get
546
      Y
547
      
548
    
549
    
550
      22.2.6.2
551
      money_put
552
      Y
553
      
554
    
555
    
556
      22.2.6.3
557
      money_punct
558
      Y
559
      
560
    
561
    
562
      22.2.6.4
563
      money_punct_byname
564
      Y
565
      
566
    
567
    
568
      22.2.7
569
      messages
570
      Y
571
      
572
    
573
    
574
      22.2.8
575
      Program-defined facets
576
      Y
577
      
578
    
579
    
580
      22.3
581
      C Library Locales
582
      Y
583
      
584
    
585
    
586
      
587
        23
588
      
589
      
590
        Containers
591
      
592
    
593
    
594
      23.1
595
      Container requirements
596
      Y
597
      
598
    
599
    
600
      23.2
601
      Sequence containers
602
      
603
      
604
    
605
    
606
      23.2.1
607
      Class template deque
608
      Y
609
      
610
    
611
    
612
      23.2.2
613
      Class template list
614
      Y
615
      
616
    
617
    
618
      23.2.3
619
      Adaptors
620
      
621
      
622
    
623
    
624
      23.2.3.1
625
      Class template queue
626
      Y
627
      
628
    
629
    
630
      23.2.3.2
631
      Class template priority_queue
632
      Y
633
      
634
    
635
    
636
      23.2.3.3
637
      Class template stack
638
      Y
639
      
640
    
641
    
642
      23.2.4
643
      Class template vector
644
      Y
645
      
646
    
647
    
648
      23.2.5
649
      Class vector<bool>
650
      Y
651
      
652
    
653
    
654
      23.3
655
      Associative containers
656
      
657
      
658
    
659
    
660
      23.3.1
661
      Class template map
662
      Y
663
      
664
    
665
    
666
      23.3.2
667
      Class template multimap
668
      Y
669
      
670
    
671
    
672
      23.3.3
673
      Class template set
674
      Y
675
      
676
    
677
    
678
      23.3.4
679
      Class template multiset
680
      Y
681
      
682
    
683
    
684
      
685
        24
686
      
687
      
688
        Iterators
689
      
690
    
691
    
692
      24.1
693
      Requirements
694
      Y
695
      
696
    
697
    
698
      24.2
699
      Header <iterator> synopsis
700
      Y
701
      
702
    
703
    
704
      24.3
705
      Iterator primitives
706
      Y
707
      
708
    
709
    
710
      24.4
711
      Predefined iterators and Iterator adaptors
712
      
713
      
714
    
715
    
716
      24.4.1
717
      Reverse iterators
718
      Y
719
      
720
    
721
    
722
      24.4.2
723
      Insert iterators
724
      Y
725
      
726
    
727
    
728
      24.5
729
      Stream iterators
730
      
731
      
732
    
733
    
734
      24.5.1
735
      Class template istream_iterator
736
      Y
737
      
738
    
739
    
740
      24.5.2
741
      Class template ostream_iterator
742
      Y
743
      
744
    
745
    
746
      24.5.3
747
      Class template istreambuf_iterator
748
      Y
749
      
750
    
751
    
752
      24.5.4
753
      Class template ostreambuf_iterator
754
      Y
755
      
756
    
757
    
758
      
759
        25
760
      
761
      
762
        Algorithms
763
      
764
    
765
    
766
      25.1
767
      Non-modifying sequence operations
768
      Y
769
      
770
    
771
    
772
      25.2
773
      Mutating sequence operations
774
      Y
775
      
776
    
777
    
778
      25.3
779
      Sorting and related operations
780
      Y
781
      
782
    
783
    
784
      25.4
785
      C library algorithms
786
      Y
787
      
788
    
789
    
790
      
791
      26
792
      
793
      
794
        Numerics
795
      
796
    
797
    
798
      26.1
799
      Numeric type requirements
800
      Y
801
      
802
    
803
    
804
      26.2
805
      Complex numbers
806
      Y
807
      
808
    
809
    
810
      26.3
811
      Numeric arrays
812
      
813
      
814
    
815
    
816
      26.3.1
817
      Header <valarray> synopsis
818
      Y
819
      
820
    
821
    
822
      26.3.2
823
      Class template valarray
824
      Y
825
      
826
    
827
    
828
      26.3.3
829
      valarray non-member operations
830
      Y
831
      
832
    
833
    
834
      26.3.4
835
      Class slice
836
      Y
837
      
838
    
839
    
840
      26.3.5
841
      Class template slice_array
842
      Y
843
      
844
    
845
    
846
      26.3.6
847
      Class gslice
848
      Y
849
      
850
    
851
    
852
      26.3.7
853
      Class template gslice_array
854
      Y
855
      
856
    
857
    
858
      26.3.8
859
      Class template mask_array
860
      Y
861
      
862
    
863
    
864
      26.3.9
865
      Class template indirect_array
866
      Y
867
      
868
    
869
    
870
      26.4
871
      Generalized numeric operations
872
      
873
      
874
    
875
    
876
      26.4.1
877
      accumulate
878
      Y
879
      
880
    
881
    
882
      26.4.2
883
      inner_product
884
      Y
885
      
886
    
887
    
888
      26.4.3
889
      partial_sum
890
      Y
891
      
892
    
893
    
894
      26.4.4
895
      adjacent_difference
896
      Y
897
      
898
    
899
    
900
      26.4.5
901
      iota
902
      Y
903
      
904
    
905
    
906
      26.5
907
      C Library
908
      Y
909
      
910
    
911
    
912
      
913
        27
914
      
915
      
916
        Input/output
917
      
918
    
919
    
920
      27.1
921
      Requirements
922
      Y
923
      
924
    
925
    
926
      27.2
927
      Forward declarations
928
      Y
929
      
930
    
931
    
932
      27.3
933
      Standard iostream objects
934
      Y
935
      
936
    
937
    
938
      27.3.1
939
      Narrow stream objects
940
      Y
941
      
942
    
943
    
944
      27.3.2
945
      Wide stream objects
946
      Y
947
      
948
    
949
    
950
      27.4
951
      Iostreams base classes
952
      Y
953
      
954
    
955
    
956
      27.5
957
      Stream buffers
958
      Y
959
      
960
    
961
    
962
      27.6
963
      Formatting and manipulators
964
      Y
965
      
966
    
967
    
968
      27.7
969
      String-based streams
970
      Y
971
      
972
    
973
    
974
      27.8
975
      File-based streams
976
      Y
977
      
978
    
979
    
980
      
981
        Appendix D
982
      
983
      
984
        Compatibility features
985
      
986
    
987
    
988
      D.1
989
      Increment operator with bool operand
990
      
991
      
992
    
993
    
994
      D.2
995
      static keyword
996
      
997
      
998
    
999
    
1000
      D.3
1001
      Access declarations
1002
      
1003
      
1004
    
1005
    
1006
      D.4
1007
      Implicit conversion from const strings
1008
      
1009
      
1010
    
1011
    
1012
      D.5
1013
      C standard library headers
1014
      
1015
      
1016
    
1017
    
1018
      D.6
1019
      Old iostreams members
1020
      
1021
      
1022
    
1023
    
1024
      D.7
1025
      char* streams
1026
      
1027
      
1028
    
1029
 
1030
  
1031
1032
1033
1034
 
1035
1036
  Implementation Specific Behavior
1037
 
1038
   
1039
     The ISO standard defines the following phrase:
1040
   
1041
   
1042
     
1043
     
1044
       
1045
         [1.3.5] implementation-defined behavior
1046
       
1047
       
1048
         
1049
         Behavior, for a well-formed program construct and correct data, that
1050
         depends on the implementation and that each implementation
1051
         shall document.
1052
         
1053
       
1054
     
1055
     
1056
   
1057
   
1058
     We do so here, for the C++ library only.  Behavior of the
1059
     compiler, linker, runtime loader, and other elements of "the
1060
     implementation" are documented elsewhere.  Everything listed
1061
     in Annex B, Implementation Qualities, are also part of the
1062
     compiler, not the library.
1063
   
1064
   
1065
     For each entry, we give the section number of the standard, when
1066
     applicable.  This list is probably incomplet and inkorrekt.
1067
   
1068
   
1069
     [1.9]/11 #3 If isatty(3) is true, then
1070
      interactive stream support is implied.
1071
   
1072
   
1073
     [17.4.4.5] Non-reentrant functions are probably best
1074
      discussed in the various sections on multithreading (see above).
1075
   
1076
   
1080
   [18.1]/4 The type of NULL is described
1081
      here.
1082
   
1083
   [18.3]/8 Even though it's listed in the library
1084
      sections, libstdc++ has zero control over what the cleanup code hands
1085
      back to the runtime loader.  Talk to the compiler people.  :-)
1086
   
1087
   [18.4.2.1]/5 (bad_alloc),
1088
      [18.5.2]/5 (bad_cast),
1089
      [18.5.3]/5 (bad_typeid),
1090
      [18.6.1]/8 (exception),
1091
      [18.6.2.1]/5 (bad_exception):  The what()
1092
      member function of class std::exception, and these other
1093
      classes publicly derived from it, simply returns the name of the
1094
      class.  But they are the mangled names; you will need to call
1095
      c++filt and pass the names as command-line parameters to
1096
      demangle them, or call a
1097
      runtime demangler function.
1098
      (The classes in <stdexcept> have constructors which
1099
      require an argument to use later for what() calls, so the
1100
      problem of what()'s value does not arise in most
1101
      user-defined exceptions.)
1102
   
1103
   [18.5.1]/7 The return value of
1104
      std::type_info::name() is the mangled type name (see the
1105
      previous entry for more).
1106
   
1107
   [20.1.5]/5 "Implementors are encouraged to
1108
      supply libraries that can accept allocators that encapsulate more
1109
      general memory models and that support non-equal instances.  In such
1110
      implementations, any requirements imposed on allocators by containers
1111
      beyond those requirements that appear in Table 32, and the semantics
1112
      of containers and algorithms when allocator instances compare
1113
      non-equal, are implementation-defined."  As yet we don't
1114
      have any allocators which compare non-equal, so we can't describe how
1115
      they behave.
1116
   
1117
   [21.1.3.1]/3,4,
1118
      [21.1.3.2]/2,
1119
      [23.*]'s foo::iterator,
1120
      [27.*]'s foo::*_type,
1121
      others...
1122
      Nope, these types are called implementation-defined because you
1123
      shouldn't be taking advantage of their underlying types.  Listing them
1124
      here would defeat the purpose.  :-)
1125
   
1126
   [21.1.3.1]/5 I don't really know about
1127
      the mbstate_t stuff... see
1128
      the chapter 22
1129
      notes for what does exist.
1130
   
1131
   [22.*] Anything and everything we have on locale
1132
      implementation will be described
1133
      over here.
1134
   
1135
   [26.2.8]/9 I have no idea what
1136
      complex<T>'s pow(0,0) returns.
1137
   
1138
   [27.4.2.4]/2 Calling
1139
      std::ios_base::sync_with_stdio after I/O has already been
1140
      performed on the standard stream objects will
1141
      flush the buffers, and 
1142
      destroy and recreate the underlying buffer instances.  Whether or not
1143
      the previously-written I/O is destroyed in this process depends mostly
1144
      on the --enable-libio choice:  for stdio, if the written data is
1145
      already in the stdio buffer, the data may be completely safe!
1146
   
1147
   [27.6.1.1.2],
1148
      [27.6.2.3] The I/O sentry ctor and dtor can perform
1149
      additional work than the minimum required.  We are not currently taking
1150
      advantage of this yet.
1151
   
1152
   [27.7.1.3]/16,
1153
      [27.8.1.4]/10
1154
      The effects of pubsetbuf/setbuf are described
1155
      in this chapter.
1156
   
1157
   [27.8.1.4]/16 Calling fstream::sync when
1158
      a get area exists will... whatever fflush() does, I think.
1159
   
1160
 
1161
1162
 
1163

powered by: WebSVN 2.1.0

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