File: NEWS.gcc

package info (click to toggle)
gcc-3.3 1%3A3.3.6ds1-32
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 25,816 kB
  • sloc: sh: 10,372; makefile: 1,050; perl: 155; awk: 23; cpp: 14
file content (1391 lines) | stat: -rw-r--r-- 51,211 bytes parent folder | download | duplicates (10)
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
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
GCC 3.3 Release Series -- Changes, New Features, and Fixes
==========================================================

Caveats
=======

  - The preprocessor no longer accepts multi-line string literals.
    They were deprecated in 3.0, 3.1, and 3.2.

  - The preprocessor no longer supports the -A- switch when appearing
    alone.  -A- followed by an assertion is still supported.

  - Support for all the systems obsoleted in GCC 3.1 has been removed
    from GCC 3.3.  See below for a list of systems which are obsoleted
    in this release.

  - Checking for null format arguments has been decoupled from the
    rest of the format checking mechanism.  Programs which use the
    format attribute may regain this functionality by using the new
    nonnull function attribute.  Note that all functions for which GCC
    has a built-in format attribute, an appropriate built-in nonnull
    attribute is also applied.

  - The DWARF (version 1) debugging format has been deprecated and
    will be removed in a future version of GCC.  Version 2 of the
    DWARF debugging format will continue to be supported for the
    foreseeable future.

  - The C and Objective-C compilers no longer accept the "Naming
    Types" extension (typedef foo = bar); it was already unavailable
    in C++.  Code which uses it will need to be changed to use the
    "typeof" extension instead: typedef typeof(bar) foo.  (We have
    removed this extension without a period of deprecation because it
    has caused the compiler to crash since version 3.0 and no one
    noticed until very recently.  Thus we conclude it is not in
    widespread use.)

  - The -traditional C compiler option has been removed.  It was
    deprecated in 3.1 and 3.2.  (Traditional preprocessing remains
    available.)  The <varargs.h> header, used for writing variadic
    functions in traditional C, still exists but will produce an error
    message if used.


General Optimizer Improvements
==============================

  - A new scheme for accurately describing processor pipelines, the
    DFA scheduler, has been added.

  - Pavel Nejedly, Charles University Prague, has contributed new
    file format used by the edge coverage profiler (-fprofile-arcs).

    The new format is robust and diagnoses common mistakes where
    profiles from different versions (or compilations) of the program
    are combined resulting in nonsensical profiles and slow code to
    produced with profile feedback.  Additionally this format allows
    extra data to be gathered. Currently, overall statistics are
    produced helping optimizers to identify hot spots of a program
    globally replacing the old intra-procedural scheme and resulting
    in better code. Note that the gcov tool from older GCC versions
    will not be able to parse the profiles generated by GCC 3.3 and
    vice versa.

  - Jan Hubicka, SuSE Labs, has contributed a new superblock
    formation pass enabled using -ftracer.  This pass simplifies the
    control flow of functions allowing other optimizations to do
    better job.

    He also contributed the function reordering pass
    (-freorder-functions) to optimize function placement using profile
    feedback.


New Languages and Language specific improvements
================================================

C/ObjC/C++
----------

  - The preprocessor now accepts directives within macro arguments.
    It processes them just as if they had not been within macro
    arguments.

  - The separate ISO and traditional preprocessors have been
    completely removed.  The front-end handles either type of
    preprocessed output if necessary.

  - In C99 mode preprocessor arithmetic is done in the precision of
    the target's intmax_t, as required by that standard.

  - The preprocessor can now copy comments inside macros to the
    output file when the macro is expanded.  This feature, enabled
    using the -CC option, is intended for use by applications which
    place metadata or directives inside comments, such as lint.

  - The method of constructing the list of directories to be
    searched for header files has been revised.  If a directory named
    by a -I option is a standard system include directory, the option
    is ignored to ensure that the default search order for system
    directories and the special treatment of system header files are
    not defeated.

  - A few more ISO C99 features now work correctly.

  - A new function attribute, nonnull, has been added which allows
    pointer arguments to functions to be specified as requiring a
    non-null value.  The compiler currently uses this information to
    issue a warning when it detects a null value passed in such an
    argument slot.

  - A new type attribute, may_alias, has been added.  Accesses to
    objects with types with this attribute are not subjected to
    type-based alias analysis, but are instead assumed to be able to
    alias any other type of objects, just like the char type.


C++
---

  - Type based alias analysis has been implemented for C++ aggregate types.


Objective-C
-----------

  - Generate an error if Objective-C objects are passed by value in
    function and method calls.

  - When -Wselector is used, check the whole list of selectors at
    the end of compilation, and emit a warning if a @selector() is not
    known.

  - Define __NEXT_RUNTIME__ when compiling for the NeXT runtime.

  - No longer need to include objc/objc-class.h to compile self
    calls in class methods (NeXT runtime only).

  - New -Wundeclared-selector option.

  - Removed selector bloating which was causing object files to be
    10% bigger on average (GNU runtime only).

  - Using at run time @protocol() objects has been fixed in certain
    situations (GNU runtime only).

  - Type checking has been fixed and improved in many situations
    involving protocols.


Java
----

  - The java.sql and javax.sql packages now implement the JDBC 3.0
    (JDK 1.4) API.

  - The JDK 1.4 assert facility has been implemented.

  - The bytecode interpreter is now direct threaded and thus faster.


Fortran
-------

  - Fortran improvements are listed in the Fortran documentation.


Ada
---

  - Ada tasking now works with glibc 2.3.x threading libraries.


New Targets and Target Specific Improvements
============================================

  - The following changes have been made to the HP-PA port:
    + The port now defaults to scheduling for the PA8000 series
      of processors.
    + Scheduling support for the PA7300 processor has been added.
    + The 32-bit port now supports weak symbols under HP-UX 11.
    + The handling of initializers and finalizers has been improved
      under HP-UX 11.  The 64-bit port no longer uses collect2.
    + Dwarf2 EH support has been added to the 32-bit linux port.
    + ABI fixes to correct the passing of small structures by value.

  - The SPARC, HP-PA, SH4, and x86/pentium ports have been converted
    to use the DFA processor pipeline description.

  - The following NetBSD configurations for the SuperH processor
    family have been added:
    + SH3, big-endian, sh-*-netbsdelf*
    + SH3, little-endian, shle-*-netbsdelf*
    + SH5, SHmedia, big-endian, 32-bit default, sh5-*-netbsd*
    + SH5, SHmedia, little-endian, 32-bit default, sh5le-*-netbsd*
    + SH5, SHmedia, big-endian, 64-bit default, sh64-*-netbsd*
    + SH5, SHmedia, little-endian, 64-bit default, sh64le-*-netbsd*

  - The following changes have been made to the IA-32/x86-64 port:
    + SSE2 and 3dNOW! intrinsics are now supported.
    + Support for thread local storage has been added to the IA-32
      and x86-64 ports.
    + The x86-64 port has been significantly improved.

  - The following changes have been made to the MIPS port:
    + All configurations now accept the -mabi switch.  Note that you
      will need appropriate multilibs for this option to work properly.
    + ELF configurations will always pass an ABI flag to the
      assembler, except when the MIPS EABI is selected.
    + -mabi=64 no longer selects MIPS IV code.
    + The -mcpu option, which was deprecated in 3.1 and 3.2, has been
      removed from this release.
    + -march now changes the core ISA level.  In previous releases, it
      would change the use of processor-specific extensions, but would
      leave the core ISA unchanged.  For example, mips64-elf
      -march=r8000 will now generate MIPS IV code.
    + Under most configurations, -mipsN now acts as a synonym for -march.
    + There are some new preprocessor macros to describe the -march and
      -mtune settings.  See the documentation of those options for details.
    + Support for the NEC VR-Series processors has been added. This
      includes the 54xx, 5500, and 41xx series.
    + Support for the Sandcraft sr71k processor has been added.

  - The following changes have been made to the S/390 port:
    + Support to build the Java runtime libraries has been added.
      Java is now enabled by default on s390-*-linux* and s390x-*-linux*
      targets.
    + Multilib support for the s390x-*-linux* target has been added;
      this allows to build 31-bit binaries using the -m31 option.
    + Support for thread local storage has been added.
    + Inline assembler code may now use the 'Q' constraint to specify
      memory operands without index register.
    + Various platform-specific performance improvements have been
      implemented; in particular, the compiler now uses the BRANCH ON
      COUNT family of instructions and makes more frequent use of the
      TEST UNDER MASK family of instructions.

  - The following changes have been made to the PowerPC port:
    + Support for IBM Power4 processor added.
    + Support for Motorola e500 SPE added.
    + Support for AIX 5.2 added.
    + Function and Data sections now supported on AIX.
    + Sibcall optimizations added.

  - The support for H8 Tiny is added to the H8/300 port with -mn.


Obsolete Systems
================

Support for a number of older systems has been declared obsolete in
GCC 3.3.  Unless there is activity to revive them, the next release of
GCC will have their sources permanently removed.

All configurations of the following processor architectures have been
declared obsolete:

  - Matsushita MN10200, mn10200-*-*
  - Motorola 88000, m88k-*-*
  - IBM ROMP, romp-*-*

Also, some individual systems have been obsoleted:

  - Alpha
    + Interix, alpha*-*-interix*
    + Linux libc1, alpha*-*-linux*libc1*
    + Linux ECOFF, alpha*-*-linux*ecoff*

  - ARM
    + Generic a.out, arm*-*-aout*
    + Conix, arm*-*-conix*
    + "Old ABI," arm*-*-oabi
    + StrongARM/COFF, strongarm-*-coff*

  - HPPA (PA-RISC)
    + Generic OSF, hppa1.0-*-osf*
    + Generic BSD, hppa1.0-*-bsd*
    + HP/UX versions 7, 8, and 9, hppa1.[01]-*-hpux[789]*
    + HiUX, hppa*-*-hiux*
    + Mach Lites, hppa*-*-lites*

  - Intel 386 family
    + Windows NT 3.x, i?86-*-win32

  - MC68000 family
    + HP systems, m68000-hp-bsd* and m68k-hp-bsd*
    + Sun systems, m68000-sun-sunos*, m68k-sun-sunos*, and m68k-sun-mach*
    + AT&T systems, m68000-att-sysv*
    + Atari systems, m68k-atari-sysv*
    + Motorola systems, m68k-motorola-sysv*
    + NCR systems, m68k-ncr-sysv*
    + Plexus systems, m68k-plexus-sysv*
    + Commodore systems, m68k-cbm-sysv*
    + Citicorp TTI, m68k-tti-*
    + Unos, m68k-crds-unos*
    + Concurrent RTU, m68k-ccur-rtu*
    + Linux a.out, m68k-*-linux*aout*
    + Linux libc1, m68k-*-linux*libc1*
    + pSOS, m68k-*-psos*

  - MIPS
    + Generic ECOFF, mips*-*-ecoff*
    + SINIX, mips-sni-sysv4
    + Orion RTEMS, mips64orion-*-rtems*

  - National Semiconductor 32000
    + OpenBSD, ns32k-*-openbsd*

  - POWER (aka RS/6000) and PowerPC
    + AIX versions 1, 2, and 3, rs6000-ibm-aix[123]*
    + Bull BOSX, rs6000-bull-bosx
    + Generic Mach, rs6000-*-mach*
    + Generic SysV, powerpc*-*-sysv*
    + Linux libc1, powerpc*-*-linux*libc1*

  - Sun SPARC
    + Generic a.out, sparc-*-aout*, sparclet-*-aout*, sparclite-*-aout*,
      and sparc86x-*-aout*
    + NetBSD a.out, sparc-*-netbsd*aout*
    + Generic BSD, sparc-*-bsd*
    + ChorusOS, sparc-*-chorusos*
    + Linux a.out, sparc-*-linux*aout*
    + Linux libc1, sparc-*-linux*libc1*
    + LynxOS, sparc-*-lynxos*
    + Solaris on HAL hardware, sparc-hal-solaris2*
    + SunOS versions 3 and 4, sparc-*-sunos[34]*

  - NEC V850
    + RTEMS, v850-*-rtems*

  - VAX
    + VMS, vax-*-vms*


Documentation improvements
==========================


Other significant improvements
==============================

  - Almost all front-end dependencies in the compiler have been
    separated out into a set of language hooks.  This should make adding
    a new front end clearer and easier.

  - One effect of removing the separate preprocessor is a small
    increase in the robustness of the compiler in general, and the
    maintainability of target descriptions.  Previously target-specific
    built-in macros and others, such as __FAST_MATH__, had to be handled
    with so-called specs that were hard to maintain.  Often they would
    fail to behave properly when conflicting options were supplied on
    the command line, and define macros in the user's namespace even
    when strict ISO compliance was requested.  Integrating the
    preprocessor has cleanly solved these issues.

  - The Makefile suite now supports redirection of make install by
    means of the variable DESTDIR.

--------------------------------------------------------------------------------

GCC 3.3
=======

Detailed release notes for the GCC 3.3 release follow.


Bug Fixes
=========

bootstrap failures
------------------

10140 cross compiler build failures: missing __mempcpy (DUP: 10198,10338)


Internal compiler errors (multi-platform)
-----------------------------------------

3581  large string causes segmentation fault in cc1
4382  __builtin_{set,long}jmp with -O3 can crash the compiler
6387  -fpic -gdwarf-2 -g1 combination gives ICE in dwarf2out
6412  (c++) ICE in retrieve_specialization
6620  (c++) partial template specialization causes an ICE (segmentation fault)
6663  (c++) ICE with attribute aligned
7068  ICE with incomplete types
7647  (c++) ICE when data member has the name of the enclosing class
7675  ICE in fixup_var_refs_1
7718  'complex' template instantiation causes ICE
8116  (c++) ICE in member template function
8511  (c++) ICE: (hopefully) reproducible cc1plus segmentation fault
8564  (c++) ICE in find_function_data, in function.c
8660  (c++) template overloading ICE in tsubst_expr, in cp/pt.c
8766  (c++) ICE after failed initialization of static template variable
8803  ICE in instantiate_virtual_regs_1, in function.c
8846  (c++) ICE after diagnostic if fr_FR@euro locale is set
8906  (c++) ICE (Segmentation fault) when parsing nested-class definition
9216  (c++) ICE on missing template parameter
9261  (c++) ICE in arg_assoc, in cp/decl2.c
9263  (fortran) ICE caused by invalid PARAMETER in implied DO loop
9429  (c++) ICE in template instantiation with a pointered new operator
9516  Internal error when using a big array
9600  (c++) ICE with typedefs in template class
9629  (c++) virtual inheritance segfault
9672  (c++) ICE: Error reporting routines re-entered
9749  (c++) ICE in write_expression on invalid function prototype
9794  (fortran) ICE: floating point exception during constant folding
9829  (c++) Missing colon in nested namespace usage causes ICE
9916  (c++) ICE with noreturn function in ?: statement
9936  ICE with local function and variable-length 2d array
10262 (c++) cc1plus crashes with large generated code
10278 (c++) ICE in parser for invalid code
10446 (c++) ICE on definition of nonexistent member function of nested
      class in a class template
10451 (c++) ICE in grokdeclarator on spurious mutable declaration
10506 (c++) ICE in build_new at cp/init.c with -fkeep-inline-functions
      and multiple inheritance
10549 (c++) ICE in store_bit_field on bitfields that exceed the precision
      of the declared type


Optimization bugs
-----------------

2001  Inordinately long compile times in reload CSE regs
2391  Exponential compilation time explosion in combine
2960  Duplicate loop conditions even with -Os
4046  redundant conditional branch
6405  Loop-unrolling related performance regressions
6798  very long compile time with large case-statement
6871  const objects shouldn't be moved to .bss
6909  problem w/ -Os on modified loop-2c.c test case
7189  gcc -O2 -Wall does not print ``control reaches end of non-void
      function'' warning
7642  optimization problem with signbit()
8634  incorrect code for inlining of memcpy under -O2
8750  Cygwin prolog generation erroneously emitting __alloca as regular
      function call


c front end
-----------

2161  long if-else cascade overflows parser stack
4319  short accepted on typedef'd char
8602  incorrect line numbers in warning messages when using inline functions
9177  -fdump-translation-unit: C front end deletes function_decl AST nodes
      and breaks debugging dumps
9853  miscompilation of non-constant structure initializer


c++ compiler and library
------------------------

45    legal template specialization code is rejected (DUP: 3784)
764   lookup failure: friend operator and dereferencing a pointer
      and templates (DUP: 5116)
2862  gcc accepts invalid explicit instantiation syntax (DUP: 2863)
3663  G++ doesn't check access control during template instantiation
3797  gcc fails to emit explicit specialization of a template member
3948  Two destructors are called when no copy destructor is defined (ABI change)
4361  bogus ambiguity taking the address of a member template
4802  g++ accepts illegal template code (access to private member; DUP: 5387)
4803  inline function is used but never defined, and g++ does not object
5730  complex<double>::norm() -- huge slowdown from egcs-2.91.66
6713  Regression wrt 3.0.4: g++ -O2 leads to seg fault at run time
7015  certain __asm__ constructs rejected
7086  compile time regression (quadratic behavior in fixup_var_refs)
7099  G++ doesn't set the noreturn attribute on std::exit and std::abort
7247  copy constructor missing when inlining enabled (invalid optimization?)
7441  string array initialization compilation time regression from seconds
      to minutes
7768  __PRETTY_FUNCTION__ for template destructor is wrong
7804  bad printing of floating point constant in warning message
8099  Friend classes and template specializations
8117  member function pointers and multiple inheritance
8205  using declaration and multiple inheritance
8645  unnecessary non-zero checks in stl_tree.h
8724  explicit destructor call for incomplete class allowed
8805  compile time regression with many member variables
8691  -O3 and -fno-implicit-templates are incompatible
8700  unhelpful error message for binding temp to reference
8724  explicit destructor call for incomplete class allowed
8949  numeric_limits<>::denorm_min() and is_iec559 problems
9016  Failure to consistently constant fold "constant" C++ objects
9053  g++ confused about ambiguity of overloaded function templates
9152  undefined virtual thunks
9182  basic_filebuf<> does not report errors in codecvt<>::out
9297  data corruption due to codegen bug (when copying.)
9318  i/ostream::operator>>/<<(streambuf*) broken
9320  Incorrect usage of traits_type::int_type in stdio_filebuf
9400  bogus -Wshadow warning: shadowed declaration of this in local classes
9424  i/ostream::operator>>/<<(streambuf*) drops characters
9425  filebuf::pbackfail broken (DUP: 9439)
9474  GCC freezes in compiling a weird code mixing <iostream> and <iostream.h>
9548  Incorrect results from setf(ios::fixed) and precision(-1) [DR231]
9555  ostream inserters fail to set badbit on exception
9561  ostream inserters rethrow exception of wrong type
9563  ostream::sentry returns true after a failed preparation
9582  one-definition rule violation in std::allocator
9622  __PRETTY_FUNCTION__ incorrect in template destructors
9683  bug in initialization chains for static const variables from
      template classes
9791  -Woverloaded-virtual reports hiding of destructor
9817  collate::compare doesn't handle nul characters
9825  filebuf::sputbackc breaks sbumpc
9826  operator>>(basic_istream, basic_string) fails to compile with custom
      traits
9924  Multiple using statements for builtin functions not allowed
9946  destructor is not called for temporary object
9964  filebuf::close() sometimes fails to close file
9988  filebuf::overflow writes EOF to file
10033 optimization breaks polymorphic references w/ typeid operator
10097 filebuf::underflow drops characters
10132 filebuf destructor can throw exceptions
10180 gcc fails to warn about non-inlined function
10199 method parametrized by template does not work everywhere
10300 use of array-new (nothrow) in segfaults on NULL return
10427 Stack corruption with variable-length automatic arrays and
      virtual destructors
10503 Compilation never stops in fixed_type_or_null


Objective-C
-----------

5956  selectors aren't matched properly when added to the selector table


Fortran compiler and library
----------------------------

1832  list directed i/o overflow hangs, -fbounds-check doesn't detect
3924  g77 generates code that is rejected by GAS if COFF debug info requested
5634  doc: explain that configure --prefix=~/... does not work
6367  multiple repeat counts confuse namelist read into array
6491  Logical operations error on logicals when using -fugly-logint
6742  Generation of C++ Prototype for FORTRAN and extern "C"
7113  Failure of g77.f-torture/execute/f90-intrinsic-bit.f -Os on irix6.5
7236  OPEN(...,RECL=nnn,...) without ACCESS='DIRECT' should assume a direct
      access file
7278  g77 "bug"; the executable misbehaves (with -O2 -fno-automatic)
7384  DATE_AND_TIME milliseconds field inactive on Windows
7388  Incorrect output with 0-based array of characters
8587  Double complex zero ** double precision number -> NaN instead of zero
9038  -ffixed-line-length-none -x f77-cpp-input gives:
      Warning: unknown register name line-length-none
10197 Direct access files not unformatted by default


Java compiler and library
-------------------------

6005  gcj fails to build rhug on alpha
6389  System.getProperty("") should always throw an IllegalArgumentException
6576  java.util.ResourceBundle.getResource ignores locale
6652  new java.io.File("").getCanonicalFile() throws exception
7060  getMethod() doesn't search super interface
7073  bytecode interpreter gives wrong answer for interface getSuperclass()
7180  possible bug in javax.naming.spi.NamingManager.getPlusPath()
7416  java.security startup refs "GNU libgcj.security"
7570  Runtime.exec with null envp: child doesn't inherit parent env (DUP: 7578)
7611  Internal error while compiling libjava with -O
7709  NullPointerException in _Jv_ResolvePoolEntry
7766  ZipInputStream.available returns 0 immediately after construction
7785  Calendar.getTimeInMillis/setTimeInMillis should be public
7786  TimeZone.getDSTSavings() from JDK1.4 not implemented
8142  '$' in class names vs. dlopen 'dynamic string tokens'
8234  ZipInputStream chokes when InputStream.read() returns small chunks
8415  reflection bug: exception info for Method
8481  java.Random.nextInt(int) may return negative
8593  Error reading GZIPped files with BufferedReader
8759  java.beans.Introspector has no flushCaches() or flushFromCaches() methods
8997  spin() calls Thread.sleep
9253  on win32, java.io.File.listFiles("C:\\") returns pwd instead of the
      root content of C:
9254  java::lang::Object::wait(), threads-win32.cc returns wrong return codes
9271  Severe bias in java.security.SecureRandom


Ada compiler and library
------------------------

6767  make gnatlib-shared fails on -laddr2line
9911  gnatmake fails to link when GCC configured with --with-sjlj-exceptions=yes
10020 Can't bootstrap gcc on AIX with Ada enabled
10546 Ada tasking not working on Red Hat 9

preprocessor
------------

7029  preprocessor should ignore #warning with -M


ARM-specific
------------

2903  [arm] Optimization bug with long long arithmetic
7873  arm-linux-gcc fails when assigning address to a bit field


FreeBSD-specific
----------------

7680  float functions undefined in math.h/cmath with #define _XOPEN_SOURCE


HP-UX or HP-PA-specific
-----------------------

8705  [HP-PA] ICE in emit_move_insn_1, in expr.c
9986  [HP-UX] Incorrect transformation of fputs_unlocked to fputc_unlocked
10056 [HP-PA] ICE at -O2 when building c++ code from doxygen


m68hc11-specific
----------------

6744  Bad assembler code generated: reference to pseudo register z
7361  Internal compiler error in reload_cse_simplify_operands, in reload1.c


MIPS-specific
-------------

9496  [mips-linux] bug in optimizer?


PowerPC-specific
----------------

7067  -Os with -mcpu=powerpc optimizes for speed (?) instead of space
8480  reload ICEs for LAPACK code on powerpc64-linux
8784  [AIX] Internal compiler error in simplify_gen_subreg
10315 [powerpc] ICE: in extract_insn, in recog.c


Sparc-specific
--------------

10267 (documentation) Wrong build instructions for *-*-solaris2*


x86-specific (Intel/AMD)
------------------------

7916  ICE in instantiate_virtual_register_1
7926  (c++) i486 instructions in header files make c++ programs crash on i386
8555  ICE in gen_split_1231
8994  ICE with -O -march=pentium4
9426  ICE with -fssa -funroll-loops -fprofile-arcs
9806  ICE in inline assembly with -fPIC flag
10077 gcc -msse2 generates movd to move dwords between xmm regs
10233 64-bit comparison only comparing bottom 32-bits
10286 type-punning doesn't work with __m64 and -O
10308 [x86] ICE with -O -fgcse or -O2


GCC 3.3.1
=========

Bug Fixes
=========

This section lists the problem reports (PRs) from GCC's bug tracking
system that are known to be fixed in the 3.3.1 release. This list
might not be complete (that is, it is possible that some PRs that have
been fixed are not listed here).

Bootstrap failures
------------------

11272 [Solaris] make bootstrap fails while building libstdc++


Internal compiler errors (multi-platform)
-----------------------------------------

5754  ICE on invalid nested template class
6597  ICE in set_mem_alias_set compiling Qt with -O2 on ia64
      and  --enable-checking
6949  (c++) ICE in tsubst_decl, in cp/pt.c
7053  (c++) ICE when declaring a function already defined
      as a friend method of a template class
8164  (c++) ICE when using different const expressions as template parameter
8384  (c++) ICE in is_base_type, in dwarf2out.c
9559  (c++) ICE with invalid initialization of a static const
9649  (c++) ICE in finish_member_declaration, in cp/semantics.c
      when redeclaring a static member variable
9864  (fortran) ICE in add_abstract_origin_attribute,
      in dwarfout.c with -g -O -finline-functions
10432 (c++) ICE in poplevel, in cp/decl.c
10475 ICE in subreg_highpart_offset for code with long long
10635 (c++) ICE when dereferencing an incomplete type
      casted from a void pointer
10661 (c++) ICE in instantiate_decl, in cp/pt.c while instantiating
      static member variables
10700 ICE in copy_to_mode_reg on 64-bit targets
10712 (c++) ICE in constructor_name_full, in cp/decl2.c
10796 (c++) ICE when defining an enum with two values: -1 and MAX_INT_64BIT
10890 ICE in merge_assigned_reloads building Linux 2.4.2x sched.c
10939 (c++) ICE with template code
10956 (c++) ICE when specializing a template member function of a
      template class, in tsubst, in cp/pt.c
11041 (c++) ICE: const myclass &x = *x; (when operator*() defined)
11059 (c++) ICE with empty union
11083 (c++) ICE in commit_one_edge_insertion, in cfgrtl.c with -O2
      -fnon-call-exceptions
11105 (c++) ICE in mangle_conv_op_name_for_type
11149 (c++) ICE on error when instantiation with call function of a base type
11228 (c++) ICE on new-expression using array operator new and
      default-initialization
11282 (c++) Infinite memory usage after syntax error
11301 (fortran) ICE with -fno-globals
11308 (c++) ICE when using an enum type name as if it were a class or namespace
11473 (c++) ICE with -gstabs when empty struct inherits from an empty struct
11503 (c++) ICE when instantiating template with ADDR_EXPR
11513 (c++) ICE in push_template_decl_real, in cp/pt.c:
      template member functions


Optimization bugs
-----------------

11198 -O2 -frename-registers generates wrong code (aliasing problem)
11304 Wrong code production with -fomit-frame-pointer
11381 volatile memory access optimized away
11536 [strength-reduce] -O2 optimization produces wrong code
11557 constant folding bug generates wrong code


C front end
-----------

5897  No warning for statement after return
11279 DWARF-2 output mishandles large enums


Preprocessor bugs
-----------------

11022 no warning for non-compatible macro redefinition


C++ compiler and library
------------------------

2330  static_cast<>() to a private base is allowed
5388  Incorrect message "operands to ?: have different types"
5390  Libiberty fails to demangle multi-digit template parameters
7877  Incorrect parameter passing to specializations
      of member function templates
9393  Anonymous namespaces and compiling the same file twice
10032 -pedantic converts some errors to warnings
10468 const typeof(x) is non-const, but only in templates
10527 confused error message with "new int()" parameter initializer
10679 parameter MIN_INLINE_INSNS is not honored
10682 gcc chokes on a typedef for an enum inside a class template
10689 pow(std::complex(0),1/3) returns (nan, nan) instead of 0.
10845 template member function (with nested template as parameter) cannot be
      called anymore if another unrelated template member function is defined
10849 Cannot define an out-of-class specialization of a private nested
      template class
10888 Suppress -Winline warnings for system headers
10929 -Winline warns about functions for which no definition is visible
10931 valid conversion static_cast<const unsigned int&>(lvalue-of-type-int)
      is rejected
10940 Bad code with explicit specialization
10968 If member function implicitly instantiated, explicit instantiation
      of class fails to instantiate it
10990 Cannot convert with dynamic_cast<> to a private base class from within
      a member function
11039 Bad interaction between implicit typename deprecation and friendship
11062 (libstdc++) avoid __attribute__ ((unused)); say  "__unused__" instead
11095 C++ iostream manipulator causes segfault when called
      with negative argument
11098 g++ doesn't emit complete debugging information for local variables
      in destructors
11137 Linux shared library constructors not called unless there's
      one global object
11154 spurious ambiguity report for template class specialization
11329 Compiler cannot find user defined implicit typecast
11332 Spurious error with casts in ?: expression
11431 static_cast behavior with subclasses when default constructor available
11528 money_get facet does not accept "$.00" as valid
11546 Type lookup problems in out-of-line definition of a class doubly nested
      from a template class
11567 C++ code containing templated member function with same name as pure
      virtual member function results in linking failure
11645 Failure to deal with using and private inheritance


Java compiler and library
-------------------------

5179  Qualified static field access doesn't initialize its class
8204  gcj -O2 to native reorders certain instructions improperly
10838 java.io.ObjectInputStream syntax error
10886 The RMI registry that comes with GCJ does not work correctly
11349 JNDI URL context factories not located correctly


x86-specific (Intel/AMD)
------------------------

4823  ICE on inline assembly code
8878  miscompilation with -O and SSE
9815  (c++ library) atomicity.h - fails to compile with -O3 -masm=intel
10402 (inline assembly) [x86] ICE in merge_assigned_reloads, in reload1.c
10504 ICE with SSE2 code and -O3 -mcpu=pentium4 -msse2
10673 ICE for x86-64 on freebsd libc vfprintf.c source
11044 [x86] out of range loop instructions for FP code on K6
11089 ICE: instantiate_virtual_regs_lossage while using SSE built-ins
11420 [x86_64] gcc generates invalid asm code when "-O -fPIC" is used


Sparc- or Solaris- specific
---------------------------

9362  solaris 'as' dies when fed .s and "-gstabs"
10142 [SPARC64] gcc produces wrong code when passing structures by value
10663 New configure check aborts with Sun tools.
10835 combinatorial explosion in scheduler on HyperSPARC
10876 ICE in calculate_giv_inc when building KDE
10955 wrong code at -O3 for structure argument in context of structure return
11018 -mcpu=ultrasparc busts tar-1.13.25
11556 [sparc64] ICE in gen_reg_rtx() while compiling 2.6.x Linux kernel


ia64 specific
-------------

10907 gcc violates the ia64 ABI (GP must be preserved)
11320 scheduler bug (in machine depended reorganization pass)
11599 bug with conditional and __builtin_prefetch


PowerPC specific
----------------

9745  [powerpc] gcc mis-compiles libmcrypt (alias problem during loop)
10871 error in rs6000_stack_info save_size computation
11440 gcc mis-compiles c++ code (libkhtml) with -O2, -fno-gcse cures it


m68k-specific
-------------

7594  [m68k] ICE on legal code associated with simplify-rtx
10557 [m68k] ICE in subreg_offset_representable_p
11054 [m68k] ICE in reg_overlap_mentioned_p


ARM-specific
------------

10842 [arm] Clobbered link register is copied to pc under certain circumstances
11052 [arm] noce_process_if_block() can lose REG_INC notes
11183 [arm] ICE in change_address_1 (3.3) / subreg_hard_regno (3.4)


MIPS-specific
-------------

11084 ICE in propagate_one_insn, in flow.c


SH-specific
-----------

10331 can't compile c++ part of gcc cross compiler for sh-elf
10413 [SH] ICE in reload_cse_simplify_operands, in reload1.c
11096 i686-linux to sh-linux cross compiler fails to compile C++ files


GNU/Linux (or Hurd?) specific
-----------------------------

2873  Bogus fixinclude of stdio.h from glibc 2.2.3


UnixWare specific
-----------------

3163  configure bug: gcc/aclocal.m4 mmap test fails on UnixWare 7.1.1


Cygwin (or mingw) specific
--------------------------

5287  ICE with dllimport attribute
10148 [MingW/CygWin] Compiler dumps core


DJGPP specific
--------------

8787  GCC fails to emit .intel_syntax when invoked with -masm=intel on DJGPP


Documentation
-------------

1607  (c++) Format attributes on methods undocumented
4252  Invalid option `-fdump-translation-unit'
4490  Clarify restrictions on -m96bit-long-double, -m128bit-long-double
10355 document an issue with regparm attribute on some systems (e.g. Solaris)
10726 (fortran) Documentation for function "IDate Intrinsic (Unix)" is wrong
10805 document bug in old version of Sun assembler
10815 warn against GNU binutils on AIX
10877 document need for newer binutils on i?86-*-linux-gnu
11280 Manual incorrect with respect to -freorder-blocks
11466 Document -mlittle-endian and its restrictions for the sparc64 port


Testsuite bugs (compiler itself is not affected)
------------------------------------------------

10737 newer bison causes g++.dg/parse/crash2.C to incorrectly report failure
10810 gcc-3.3 fails make check: buffer overrun in test_demangle.c


GCC 3.3.2
=========

Bug Fixes
=========

This section lists the problem reports (PRs) from GCC's bug tracking
system that are known to be fixed in the 3.3.2 release. This list
might not be complete (that is, it is possible that some PRs that have
been fixed are not listed here).

Bootstrap failures and problems
-------------------------------

8336  [SCO5] bootstrap config still tries to use COFF options
9330  [alpha-osf] Bootstrap failure on Compaq Tru64 with --enable-threads=posix
9631  [hppa64-linux] gcc-3.3 fails to bootstrap
9877  fixincludes makes a bad sys/byteorder.h on svr5 (UnixWare 7.1.1)
11687 xstormy16-elf build fails in libf2c
12263 [SGI IRIX] bootstrap fails during compile of libf2c/libI77/backspace.c
12490 buffer overflow in scan-decls.c (during Solaris 9 fix-header processing)


Internal compiler errors (multi-platform)
-----------------------------------------

7277  Casting integers to vector types causes ICE
7939  (c++) ICE on invalid function template specialization
11063 (c++) ICE on parsing initialization list of const array member
11207 ICE with negative index in array element designator
11522 (fortran) g77 dwarf-2 ICE in add_abstract_origin_attribute
11595 (c++) ICE on duplicate label definition
11646 (c++) ICE in commit_one_edge_insertion with
      -fnon-call-exceptions -fgcse -O
11665 ICE in struct initializer when taking address
11852 (c++) ICE with bad struct initializer.
11878 (c++) ICE in cp_expr_size
11883 ICE with any -O on mercury-generated C code
11991 (c++) ICE in cxx_incomplete_type_diagnostic, in cp/typeck2.c
      when applying typeid operator to template template parameter
12146 ICE in lookup_template_function, in cp/pt.c
12215 ICE in make_label_edge with -fnon-call-exceptions -fno-gcse -O2
12369 (c++) ICE with templates and friends
12446 ICE in emit_move_insn on complicated array reference
12510 ICE in final_scan_insn
12544 ICE with large parameters used in nested functions


C and optimization bugs
-----------------------

9862  spurious warnings with -W -finline-functions
10962 lookup_field is a linear search on a linked list
      (can be slow if large struct)
11370 -Wunreachable-code gives false complaints
11637 invalid assembly with -fnon-call-exceptions
11885 Problem with bitfields in packed structs
12082 Inappropriate unreachable code warnings
12180 Inline optimization fails for variadic function
12340 loop unroller + gcse produces wrong code


C++ compiler and library
------------------------

3907  nested template parameter collides with member name
5293  confusing message when binding a temporary to a reference
5296  [DR115] Pointers to functions and to template functions behave
      differently in deduction
7939  ICE on function template specialization
8656  Unable to assign function with __attribute__ and pointer return type
      to an appropriate variable
10147 Confusing error message for invalid template function argument
11400 std::search_n() makes assumptions about Size parameter
11409 issues with using declarations, overloading, and built-in functions
11740 ctype<wchar_t>::do_is(mask, wchar_t) doesn't handle multiple bits in mask
11786 operator() call on variable in other namespace not recognized
11867 static_cast ignores ambiguity
11928 bug with conversion operators that are typedefs
12114 Uninitialized memory accessed in dtor
12163 static_cast + explicit constructor regression
12181 Wrong code with comma operator and c++
12236 regparm and fastcall messes up parameters
12266 incorrect instantiation of unneeded template during overload resolution
12296 istream::peek() doesn't set eofbit
12298 [sjlj exceptions] Stack unwind destroys not-yet-constructed object
12369 ICE ith templates and friends
12337 apparently infinite loop in g++
12344 stdcall attribute ignored if function returns a pointer
12451 missing(late) class forward declaration in cxxabi.h
12486 g++ accepts invalid use of a qualified name


x86 specific (Intel/AMD)
------------------------

8869  [x86 MMX] ICE with const variable optimization and MMX builtins
9786  ICE in fixup_abnormal_edges with -fnon-call-exceptions -O2
11689 g++3.3 emits un-assembleable code for k6 architecture
12116 [k6] Invalid assembly output values with X-MAME code
12070 ICE converting between double and long double with -msoft-float


ia64-specific
-------------

11184 [ia64 hpux] ICE on __builtin_apply building libobjc
11535 __builtin_return_address may not work on ia64
11693 [ia64] ICE in gen_nop_type
12224 [ia64] Thread-local storage doesn't work


PowerPC-specific
----------------

11087 [powerpc64-linux] GCC miscompiles raid1.c from linux kernel
11319 loop miscompiled on ppc32
11949 ICE Compiler segfault with ffmpeg -maltivec code


SPARC-specific
--------------

11662 wrong code for expr. with cast to long long and exclusive or
11965 invalid assembler code for a shift < 32 operation
12301 (c++) stack corruption when a returned expression throws an exception


Alpha-specific
--------------

11717 [alpha-linux] unrecognizable insn compiling for.c of kernel 2.4.22-pre8


HPUX-specific
-------------

11313 problem with #pragma weak and static inline functions
11712 __STDC_EXT__ not defined for C++ by default anymore?


Solaris specific
----------------

12166 Profiled programs crash if PROFDIR is set


Solaris-x86 specific
--------------------

12101 i386 Solaris no longer works with GNU as?


Miscellaneous embedded target-specific bugs
-------------------------------------------

10988 [m32r-elf] wrong blockmove code with -O3
11805 [h8300-unknown-coff] [H8300] ICE for simple code with -O2
11902 [sh4] spec file improperly inserts rpath even when none needed
11903 [sh4] -pthread fails to link due to error in spec file on sh4


GCC 3.3.3
=========

Minor features
==============

In addition to the bug fixes documented below, this release
contains few minor features such as:

 - Support for --with-sysroot
 - Support for automatic detection of executable stacks
 - Support for SSE3 Instructions
 - Support for thread local storage debugging under GDB on S390


Bug Fixes
=========

This section lists the problem reports (PRs) from GCC's bug tracking
system that are known to be fixed in the 3.3.3 release. This list
might not be complete (that is, it is possible that some PRs that have
been fixed are not listed here).

Bootstrap failures and issues
-----------------------------

11890 Building cross gcc-3.3.1 for sparc-sun-solaris2.6 fails
12399 boehm-gc fails (when building a cross compiler): libtool unable
      to infer tagged configuration
13068 mklibgcc.in doesn't handle multi-level multilib subdirectories properly


Internal compiler errors (multi-platform)
-----------------------------------------

10060 ICE (stack overflow) on huge file (300k lines) due to recursive
      behaviour of copy_rtx_if_shared, in emit_rtl.c
10555 (c++) ICE on undefined template argument
10706 (c++) ICE in mangle_class_name_for_template
11496 (fortran) error in flow_loops_find when -funroll-loops active
11741 ICE in pre_insert_copy_insn, in gcse.c
12440 GCC crashes during compilation of quicktime4linux 2.0.0
12632 (fortran) -fbounds-check ICE
12712 (c++) ICE on short legit C++ code fragment with gcc 3.3.2
12726 (c++) ICE (segfault) on trivial code
12890 (c++) ICE on compilation of class with throwing method
12900 (c++) ICE in rtl_verify_flow_info_1
13060 (fortran)	ICE in fixup_var_refs_1, in function.c on correct code
      with -O2 -fno-force-mem
13289 (c++) ICE in regenerate_decl_from_template on recursive template
13318 ICE: floating point exception in the loop optimizer
13392 (c++) ICE in convert_from_eh_region_ranges_1, in except.c
13574 (c++) invalid array default initializer in class lets gcc consume
      all memory and die
13475 ICE on SIMD variables with partial value initialization
13797 (c++) ICE on invalid template parameter
13824 (java) gcj SEGV with simple .java program


C and optimization bugs
-----------------------

8776  loop invariants are not removed (most likely)
10339 [sparc,ppc,ppc64] Invalid optimization: replacing strncmp by memcmp
11350 undefined labels with -Os -fPIC
12826 Optimizer removes reference through volatile pointer
12500 stabs debug info: void no longer a predefined / builtin type
12941 builtin-bitops-1.c miscompilation (latent bug)
12953 tree inliner bug (in inline_forbidden_p) and fix
13041 linux-2.6/sound/core/oss/rate.c miscompiled
13507 spurious printf format warning
13382 Type information for const pointer disappears during optimization.
13394 noreturn attribute ignored on recursive invokation
13400 Compiled code crashes storing to read-only location
13521 Endless loop in calculate_global_regs_live


C++ compiler and library
------------------------

Some of the bug fixes in this list were made to implement decisions
that the ISO C++ standards committee has made concerning several defect
reports (DRs).  Links in the list below point to detailed discussion of
the relevant defect report.

2094  unimplemented: use of `ptrmem_cst' in template type unification
2294  using declaration confusion
5050  template instantiation depth exceeds limit: recursion problem?
9371  Bad exception handling in i/ostream::operator>>/<
9546  bad exception handling in ostream members
10081 basic_ios::_M_cache_locale leaves NULL members in the face
      of unknown locales
10093 [DR 61] Setting failbit in exceptions doesn't work
10095 istream::operator>>(int&) sets ios::badbit when ios::failbit is set.
11554 Warning about reordering of initializers doesn't mention location
      of constructor
12297 istream::sentry::sentry() handles eof() incorrectly.
12352 Exception safety problems in src/localename.cc
12438 Memory leak in locale::combine()
12540 Memory leak in locale::locale(const char*)
12594 DRs 60 [TC] and 63 [TC] not implemented
12657 Resolution of DR 292 (WP) still unimplemented
12696 memory eating infinite loop in diagnostics (error recovery problem)
12815 Code compiled with optimization behaves unexpectedly
12862 Conflicts between typedefs/enums and namespace member declarations
12926 Wrong value after assignment in initialize list using bit-fields
12967 Resolution of DR 300 [WP] still unimplemented
12971 Resolution of DR 328 [WP] still unimplemented
13007 basic_streambuf::pubimbue, imbue wrong
13009 Implicitly-defined assignment operator writes to wrong memory
13057 regparm attribute not applied to destructor
13070 -Wformat option ignored in g++
13081 forward template declarations in <complex> let inlining fail
13239 Assertion does not seem to work correctly anymore
13262 "xxx is private within this context" when initializing a
      self-contained template class
13290 simple typo in concept checking for std::generate_n
13323 Template code does not compile in presence of typedef
13369 __verify_grouping (and __add_grouping?) not correct
13371 infinite loop with packed struct and inlining
13445 Template argument replacement "dereferences" a typedef
13461 Fails to access protected-ctor from public constant
13462 Non-standard-conforming type set::pointer
13478 gcc uses wrong constructor to initialize a const reference
13544 "conflicting types" for enums in different scopes
13650 string::compare should not (always) use traits_type::length()
13683 bogus warning about passing non-PODs through ellipsis
13688 Derived class is denied access to protected base class member class
13774 Member variable cleared in virtual multiple inheritance class
13884 Protect sstream.tcc from extern template use


Java compiler and library
-------------------------

10746 [win32] garbage collection crash in GCJ


Objective-C compiler and library
--------------------------------

11433 Crash due to dereferencing null pointer when querying protocol


Fortran compiler and library
----------------------------

12633 logical expression gives incorrect result with -fugly-logint option
13037 [gcse-lm] g77 generates incorrect code
13213 Hex constant problem when compiling with -fugly-logint and -ftypeless-boz


x86-specific (Intel/AMD)
------------------------

4490  ICE with -m128bit-long-double
12292 [x86_64] ICE: RTL check: expected code `const_int', have `reg'
      in make_field_assignment, in combine.c
12441 ICE: can't find a register to spill
12943 array static-init failure under -fpic, -fPIC
13608 Incorrect code with -O3 -ffast-math


PowerPC-specific
----------------

11598 testcase gcc.dg/20020118-1.c fails runtime check of
      __attribute__((aligned(16)))
11793 ICE in extract_insn, in recog.c (const_vector's)
12467 vmsumubm emitted when vmsummbm appropriate (typo in altivec.md)
12537 g++ generates writeable text sections


SPARC-specific
--------------

12496 wrong result for __atomic_add(&value, -1) when using -O0 -m64
12865 mprotect call to make trampoline executable may fail
13354 ICE in sparc_emit_set_const32


ARM-specific
------------

10467 [arm] ICE in pre_insert_copy_insn,


ia64-specific
-------------

11226 ICE passing struct arg with two floats
11227 ICE for _Complex float, _Complex long double args
12644 GCC 3.3.2 fails to compile glibc on ia64
13149 build gcc-3.3.2 1305 error:unrecognizable insn

Various fixes for libunwind


Alpha-specific
--------------

12654 Incorrect comparison code generated for Alpha
12965 SEGV+ICE in cc1plus on alpha-linux with -O2
13031 ICE (unrecognizable insn) when building gnome-libs-1.4.2


HPPA-specific
-------------

11634 [hppa] ICE in verify_local_live_at_start, in flow.c
12158 [hppa] compilation does not terminate at -O1


S390-specific
-------------

11992 Wrong built-in code for memcmp with length 1<


SH-specific
-----------

9365  segfault in gen_far_branch (config/sh/sh.c)
10392 optimizer generates faulty array indexing
11322 SH profiler outputs multiple definitions of symbol
13069 gcc/config/sh/rtems.h broken
13302 Putting a va_list in a struct causes seg fault
13585 Incorrect optimization of call to sfunc

Fix inappropriately exported libgcc functions from the shared library


Other embedded target specific
------------------------------

8916  [mcore] unsigned char assign gets hosed.
11576 [h8300] ICE in change_address_1, in emit-rtl.c
13122 [h8300] local variable gets corrupted by function call when
      -fomit-frame-pointer is given
13256 [cris] strict_low_part mistreated in delay slots
13373 [mcore] optimization with -frerun-cse-after-loop
      -fexpensive-optimizations produces wrong code on mcore


GNU HURD-specific
-----------------

12561 gcc/config/t-gnu needs updating to work with --with-sysroot


Tru64 Unix specific
-------------------

6243  testsuite fails almost all tests due to no libintl in LD_LIBRARY_PATH
      during test.
11397 weak aliases broken on Tru64 UNIX


AIX-specific
------------

12505 build failure due to defines of uchar in cpphash.h and sys/types.h
13150 WEAK symbols not exported by collect2


IRIX-specific
-------------

12666 fixincludes problem on IRIX 6.5.19m


Solaris-specific
----------------

12969 Including sys/byteorder.h breaks configure checks


Testsuite problems (compiler is not affected)
---------------------------------------------

10819 testsuite creates CR+LF on compiler version lines in test summary files
11612 abi_check not finding correct libgcc_s.so.1


Miscellaneous
-------------

13211 using -###, incorrect warnings about unused linker file are produced


--
Please send FSF & GNU inquiries & questions to gnu@gnu.org.  There
are also other ways to contact the FSF.

These pages are maintained by The GCC team.

Please send comments on these web pages and GCC to our public mailing
list at gcc@gnu.org or gcc@gcc.gnu.org, send other questions to
gnu@gnu.org.

Copyright (C) Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA  02111,  USA.

Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.


  Last modified 2003-05-14