source:
trunk/gcc/NEWS@
3823
| Last change on this file since 3823 was 1589, checked in by , 21 years ago | |
|---|---|
|
|
| File size: 219.8 KB | |
<
| Line | |
|---|---|
| 1 | This file contains information about GCC releases which has been generated |
| 2 | automatically from the online release notes. It covers releases of GCC |
| 3 | (and the former EGCS project) since EGCS 1.0, on the line of development |
| 4 | that led to GCC 3. For information on GCC 2.8.1 and older releases of GCC 2, |
| 5 | see ONEWS. |
| 6 | |
| 7 | ====================================================================== |
| 8 | http://gcc.gnu.org/gcc-3.3/index.html |
| 9 | |
| 10 | GCC 3.3 Release Series |
| 11 | |
| 12 | June 28, 2004 |
| 13 | |
| 14 | The [1]GNU project and the GCC developers are pleased to announce the |
| 15 | release of GCC 3.3.4. This release was actually completed on May 31, |
| 16 | but various reasons delayed the actual announcement. |
| 17 | |
| 18 | The GCC 3.3 release series includes numerous [2]new features, |
| 19 | improvements, bug fixes, and other changes, thanks to an [3]amazing |
| 20 | group of volunteers. |
| 21 | |
| 22 | Release History |
| 23 | |
| 24 | GCC 3.3.3 |
| 25 | February 14, 2004 ([4]changes) |
| 26 | |
| 27 | GCC 3.3.2 |
| 28 | October 16, 2003 ([5]changes) |
| 29 | |
| 30 | GCC 3.3.1 |
| 31 | August 8, 2003 ([6]changes) |
| 32 | |
| 33 | GCC 3.3 |
| 34 | May 14, 2003 ([7]changes) |
| 35 | |
| 36 | References and Acknowledgements |
| 37 | |
| 38 | GCC used to stand for the GNU C Compiler, but since the compiler |
| 39 | supports several other languages aside from C, it now stands for the |
| 40 | GNU Compiler Collection. |
| 41 | |
| 42 | A list of [8]successful builds is updated as new information becomes |
| 43 | available. |
| 44 | |
| 45 | The GCC developers would like to thank the numerous people that have |
| 46 | contributed new features, improvements, bug fixes, and other changes |
| 47 | as well as test results to GCC. This [9]amazing group of volunteers is |
| 48 | what makes GCC successful. |
| 49 | |
| 50 | For additional information about GCC please refer to the [10]GCC |
| 51 | project web site or contact the [11]GCC development mailing list. |
| 52 | |
| 53 | To obtain GCC please use [12]our mirror sites, one of the [13]GNU |
| 54 | mirror sites, or [14]our CVS server. |
| 55 | _________________________________________________________________ |
| 56 | |
| 57 | Please send FSF & GNU inquiries & questions to [15]gnu@gnu.org. There |
| 58 | are also [16]other ways to contact the FSF. |
| 59 | |
| 60 | These pages are maintained by [17]the GCC team. |
| 61 | |
| 62 | |
| 63 | For questions related to the use of GCC, please consult these web |
| 64 | pages and the [18]GCC manuals. If that fails, the |
| 65 | [19]gcc-help@gcc.gnu.org mailing list might help. |
| 66 | Please send comments on these web pages and the development of GCC |
| 67 | to our developer mailing list at [20]gcc@gnu.org or |
| 68 | [21]gcc@gcc.gnu.org. All of our lists have [22]public archives. |
| 69 | |
| 70 | Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite |
| 71 | 330, Boston, MA 02111, USA. |
| 72 | |
| 73 | Verbatim copying and distribution of this entire article is permitted |
| 74 | in any medium, provided this notice is preserved. |
| 75 | |
| 76 | Last modified 2004-08-06 [23]Valid XHTML 1.0 |
| 77 | |
| 78 | References |
| 79 | |
| 80 | 1. http://www.gnu.org/ |
| 81 | 2. http://gcc.gnu.org/gcc-3.3/changes.html |
| 82 | 3. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html |
| 83 | 4. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.3 |
| 84 | 5. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.2 |
| 85 | 6. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.1 |
| 86 | 7. http://gcc.gnu.org/gcc-3.3/changes.html |
| 87 | 8. http://gcc.gnu.org/gcc-3.3/buildstat.html |
| 88 | 9. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html |
| 89 | 10. http://gcc.gnu.org/index.html |
| 90 | 11. mailto:gcc@gcc.gnu.org |
| 91 | 12. http://gcc.gnu.org/mirrors.html |
| 92 | 13. http://www.gnu.org/order/ftp.html |
| 93 | 14. http://gcc.gnu.org/cvs.html |
| 94 | 15. mailto:gnu@gnu.org |
| 95 | 16. http://www.gnu.org/home.html#ContactInfo |
| 96 | 17. http://gcc.gnu.org/about.html |
| 97 | 18. http://gcc.gnu.org/onlinedocs/ |
| 98 | 19. mailto:gcc-help@gcc.gnu.org |
| 99 | 20. mailto:gcc@gnu.org |
| 100 | 21. mailto:gcc@gcc.gnu.org |
| 101 | 22. http://gcc.gnu.org/lists.html |
| 102 | 23. http://validator.w3.org/check/referer |
| 103 | ====================================================================== |
| 104 | http://gcc.gnu.org/gcc-3.3/changes.html |
| 105 | |
| 106 | GCC 3.3 Release Series |
| 107 | Changes, New Features, and Fixes |
| 108 | |
| 109 | The latest release in the 3.3 release series is [1]GCC 3.3.3. |
| 110 | |
| 111 | Caveats |
| 112 | |
| 113 | * The preprocessor no longer accepts multi-line string literals. |
| 114 | They were deprecated in 3.0, 3.1, and 3.2. |
| 115 | * The preprocessor no longer supports the -A- switch when appearing |
| 116 | alone. -A- followed by an assertion is still supported. |
| 117 | * Support for all the systems [2]obsoleted in GCC 3.1 has been |
| 118 | removed from GCC 3.3. See below for a [3]list of systems which are |
| 119 | obsoleted in this release. |
| 120 | * Checking for null format arguments has been decoupled from the |
| 121 | rest of the format checking mechanism. Programs which use the |
| 122 | format attribute may regain this functionality by using the new |
| 123 | [4]nonnull function attribute. Note that all functions for which |
| 124 | GCC has a built-in format attribute, an appropriate built-in |
| 125 | nonnull attribute is also applied. |
| 126 | * The DWARF (version 1) debugging format has been deprecated and |
| 127 | will be removed in a future version of GCC. Version 2 of the DWARF |
| 128 | debugging format will continue to be supported for the foreseeable |
| 129 | future. |
| 130 | * The C and Objective-C compilers no longer accept the "Naming |
| 131 | Types" extension (typedef foo = bar); it was already unavailable |
| 132 | in C++. Code which uses it will need to be changed to use the |
| 133 | "typeof" extension instead: typedef typeof(bar) foo. (We have |
| 134 | removed this extension without a period of deprecation because it |
| 135 | has caused the compiler to crash since version 3.0 and no one |
| 136 | noticed until very recently. Thus we conclude it is not in |
| 137 | widespread use.) |
| 138 | * The -traditional C compiler option has been removed. It was |
| 139 | deprecated in 3.1 and 3.2. (Traditional preprocessing remains |
| 140 | available.) The <varargs.h> header, used for writing variadic |
| 141 | functions in traditional C, still exists but will produce an error |
| 142 | message if used. |
| 143 | * GCC 3.3.1 automatically places zero-initialized variables in the |
| 144 | .bss section on some operating systems. Versions of GNU Emacs up |
| 145 | to (and including) 21.3 will not work correctly when using this |
| 146 | optimization; you can use -fno-zero-initialized-in-bss to disable |
| 147 | it. |
| 148 | |
| 149 | General Optimizer Improvements |
| 150 | |
| 151 | * A new scheme for accurately describing processor pipelines, the |
| 152 | [5]DFA scheduler, has been added. |
| 153 | * Pavel Nejedly, Charles University Prague, has contributed new file |
| 154 | format used by the edge coverage profiler (-fprofile-arcs). |
| 155 | The new format is robust and diagnoses common mistakes where |
| 156 | profiles from different versions (or compilations) of the program |
| 157 | are combined resulting in nonsensical profiles and slow code to |
| 158 | produced with profile feedback. Additionally this format allows |
| 159 | extra data to be gathered. Currently, overall statistics are |
| 160 | produced helping optimizers to identify hot spots of a program |
| 161 | globally replacing the old intra-procedural scheme and resulting |
| 162 | in better code. Note that the gcov tool from older GCC versions |
| 163 | will not be able to parse the profiles generated by GCC 3.3 and |
| 164 | vice versa. |
| 165 | * Jan Hubicka, SuSE Labs, has contributed a new superblock formation |
| 166 | pass enabled using -ftracer. This pass simplifies the control flow |
| 167 | of functions allowing other optimizations to do better job. |
| 168 | He also contributed the function reordering pass |
| 169 | (-freorder-functions) to optimize function placement using profile |
| 170 | feedback. |
| 171 | |
| 172 | New Languages and Language specific improvements |
| 173 | |
| 174 | C/ObjC/C++ |
| 175 | |
| 176 | * The preprocessor now accepts directives within macro arguments. It |
| 177 | processes them just as if they had not been within macro |
| 178 | arguments. |
| 179 | * The separate ISO and traditional preprocessors have been |
| 180 | completely removed. The front end handles either type of |
| 181 | preprocessed output if necessary. |
| 182 | * In C99 mode preprocessor arithmetic is done in the precision of |
| 183 | the target's intmax_t, as required by that standard. |
| 184 | * The preprocessor can now copy comments inside macros to the output |
| 185 | file when the macro is expanded. This feature, enabled using the |
| 186 | -CC option, is intended for use by applications which place |
| 187 | metadata or directives inside comments, such as lint. |
| 188 | * The method of constructing the list of directories to be searched |
| 189 | for header files has been revised. If a directory named by a -I |
| 190 | option is a standard system include directory, the option is |
| 191 | ignored to ensure that the default search order for system |
| 192 | directories and the special treatment of system header files are |
| 193 | not defeated. |
| 194 | * A few more [6]ISO C99 features now work correctly. |
| 195 | * A new function attribute, nonnull, has been added which allows |
| 196 | pointer arguments to functions to be specified as requiring a |
| 197 | non-null value. The compiler currently uses this information to |
| 198 | issue a warning when it detects a null value passed in such an |
| 199 | argument slot. |
| 200 | * A new type attribute, may_alias, has been added. Accesses to |
| 201 | objects with types with this attribute are not subjected to |
| 202 | type-based alias analysis, but are instead assumed to be able to |
| 203 | alias any other type of objects, just like the char type. |
| 204 | |
| 205 | C++ |
| 206 | |
| 207 | * Type based alias analysis has been implemented for C++ aggregate |
| 208 | types. |
| 209 | |
| 210 | Objective-C |
| 211 | |
| 212 | * Generate an error if Objective-C objects are passed by value in |
| 213 | function and method calls. |
| 214 | * When -Wselector is used, check the whole list of selectors at the |
| 215 | end of compilation, and emit a warning if a @selector() is not |
| 216 | known. |
| 217 | * Define __NEXT_RUNTIME__ when compiling for the NeXT runtime. |
| 218 | * No longer need to include objc/objc-class.h to compile self calls |
| 219 | in class methods (NeXT runtime only). |
| 220 | * New -Wundeclared-selector option. |
| 221 | * Removed selector bloating which was causing object files to be 10% |
| 222 | bigger on average (GNU runtime only). |
| 223 | * Using at run time @protocol() objects has been fixed in certain |
| 224 | situations (GNU runtime only). |
| 225 | * Type checking has been fixed and improved in many situations |
| 226 | involving protocols. |
| 227 | |
| 228 | Java |
| 229 | |
| 230 | * The java.sql and javax.sql packages now implement the JDBC 3.0 |
| 231 | (JDK 1.4) API. |
| 232 | * The JDK 1.4 assert facility has been implemented. |
| 233 | * The bytecode interpreter is now direct threaded and thus faster. |
| 234 | |
| 235 | Fortran |
| 236 | |
| 237 | * Fortran improvements are listed in [7]the Fortran documentation. |
| 238 | |
| 239 | Ada |
| 240 | |
| 241 | * Ada tasking now works with glibc 2.3.x threading libraries. |
| 242 | |
| 243 | New Targets and Target Specific Improvements |
| 244 | |
| 245 | * The following changes have been made to the HP-PA port: |
| 246 | + The port now defaults to scheduling for the PA8000 series of |
| 247 | processors. |
| 248 | + Scheduling support for the PA7300 processor has been added. |
| 249 | + The 32-bit port now supports weak symbols under HP-UX 11. |
| 250 | + The handling of initializers and finalizers has been improved |
| 251 | under HP-UX 11. The 64-bit port no longer uses collect2. |
| 252 | + Dwarf2 EH support has been added to the 32-bit linux port. |
| 253 | + ABI fixes to correct the passing of small structures by |
| 254 | value. |
| 255 | * The SPARC, HP-PA, SH4, and x86/pentium ports have been converted |
| 256 | to use the DFA processor pipeline description. |
| 257 | * The following NetBSD configurations for the SuperH processor |
| 258 | family have been added: |
| 259 | + SH3, big-endian, sh-*-netbsdelf* |
| 260 | + SH3, little-endian, shle-*-netbsdelf* |
| 261 | + SH5, SHmedia, big-endian, 32-bit default, sh5-*-netbsd* |
| 262 | + SH5, SHmedia, little-endian, 32-bit default, sh5le-*-netbsd* |
| 263 | + SH5, SHmedia, big-endian, 64-bit default, sh64-*-netbsd* |
| 264 | + SH5, SHmedia, little-endian, 64-bit default, sh64le-*-netbsd* |
| 265 | * The following changes have been made to the IA-32/x86-64 port: |
| 266 | + SSE2 and 3dNOW! intrinsics are now supported. |
| 267 | + Support for thread local storage has been added to the IA-32 |
| 268 | and x86-64 ports. |
| 269 | + The x86-64 port has been significantly improved. |
| 270 | * The following changes have been made to the MIPS port: |
| 271 | + All configurations now accept the -mabi switch. Note that you |
| 272 | will need appropriate multilibs for this option to work |
| 273 | properly. |
| 274 | + ELF configurations will always pass an ABI flag to the |
| 275 | assembler, except when the MIPS EABI is selected. |
| 276 | + -mabi=64 no longer selects MIPS IV code. |
| 277 | + The -mcpu option, which was deprecated in 3.1 and 3.2, has |
| 278 | been removed from this release. |
| 279 | + -march now changes the core ISA level. In previous releases, |
| 280 | it would change the use of processor-specific extensions, but |
| 281 | would leave the core ISA unchanged. For example, mips64-elf |
| 282 | -march=r8000 will now generate MIPS IV code. |
| 283 | + Under most configurations, -mipsN now acts as a synonym for |
| 284 | -march. |
| 285 | + There are some new preprocessor macros to describe the -march |
| 286 | and -mtune settings. See the documentation of those options |
| 287 | for details. |
| 288 | + Support for the NEC VR-Series processors has been added. This |
| 289 | includes the 54xx, 5500, and 41xx series. |
| 290 | + Support for the Sandcraft sr71k processor has been added. |
| 291 | * The following changes have been made to the S/390 port: |
| 292 | + Support to build the Java runtime libraries has been added. |
| 293 | Java is now enabled by default on s390-*-linux* and |
| 294 | s390x-*-linux* targets. |
| 295 | + Multilib support for the s390x-*-linux* target has been |
| 296 | added; this allows to build 31-bit binaries using the -m31 |
| 297 | option. |
| 298 | + Support for thread local storage has been added. |
| 299 | + Inline assembler code may now use the 'Q' constraint to |
| 300 | specify memory operands without index register. |
| 301 | + Various platform-specific performance improvements have been |
| 302 | implemented; in particular, the compiler now uses the BRANCH |
| 303 | ON COUNT family of instructions and makes more frequent use |
| 304 | of the TEST UNDER MASK family of instructions. |
| 305 | * The following changes have been made to the PowerPC port: |
| 306 | + Support for IBM Power4 processor added. |
| 307 | + Support for Motorola e500 SPE added. |
| 308 | + Support for AIX 5.2 added. |
| 309 | + Function and Data sections now supported on AIX. |
| 310 | + Sibcall optimizations added. |
| 311 | * The support for H8 Tiny is added to the H8/300 port with -mn. |
| 312 | |
| 313 | Obsolete Systems |
| 314 | |
| 315 | Support for a number of older systems has been declared obsolete in |
| 316 | GCC 3.3. Unless there is activity to revive them, the next release of |
| 317 | GCC will have their sources permanently removed. |
| 318 | |
| 319 | All configurations of the following processor architectures have been |
| 320 | declared obsolete: |
| 321 | * Matsushita MN10200, mn10200-*-* |
| 322 | * Motorola 88000, m88k-*-* |
| 323 | * IBM ROMP, romp-*-* |
| 324 | |
| 325 | Also, some individual systems have been obsoleted: |
| 326 | * Alpha |
| 327 | + Interix, alpha*-*-interix* |
| 328 | + Linux libc1, alpha*-*-linux*libc1* |
| 329 | + Linux ECOFF, alpha*-*-linux*ecoff* |
| 330 | * ARM |
| 331 | + Generic a.out, arm*-*-aout* |
| 332 | + Conix, arm*-*-conix* |
| 333 | + "Old ABI," arm*-*-oabi |
| 334 | + StrongARM/COFF, strongarm-*-coff* |
| 335 | * HPPA (PA-RISC) |
| 336 | + Generic OSF, hppa1.0-*-osf* |
| 337 | + Generic BSD, hppa1.0-*-bsd* |
| 338 | + HP/UX versions 7, 8, and 9, hppa1.[01]-*-hpux[789]* |
| 339 | + HiUX, hppa*-*-hiux* |
| 340 | + Mach Lites, hppa*-*-lites* |
| 341 | * Intel 386 family |
| 342 | + Windows NT 3.x, i?86-*-win32 |
| 343 | * MC68000 family |
| 344 | + HP systems, m68000-hp-bsd* and m68k-hp-bsd* |
| 345 | + Sun systems, m68000-sun-sunos*, m68k-sun-sunos*, and |
| 346 | m68k-sun-mach* |
| 347 | + AT&T systems, m68000-att-sysv* |
| 348 | + Atari systems, m68k-atari-sysv* |
| 349 | + Motorola systems, m68k-motorola-sysv* |
| 350 | + NCR systems, m68k-ncr-sysv* |
| 351 | + Plexus systems, m68k-plexus-sysv* |
| 352 | + Commodore systems, m68k-cbm-sysv* |
| 353 | + Citicorp TTI, m68k-tti-* |
| 354 | + Unos, m68k-crds-unos* |
| 355 | + Concurrent RTU, m68k-ccur-rtu* |
| 356 | + Linux a.out, m68k-*-linux*aout* |
| 357 | + Linux libc1, m68k-*-linux*libc1* |
| 358 | + pSOS, m68k-*-psos* |
| 359 | * MIPS |
| 360 | + Generic ECOFF, mips*-*-ecoff* |
| 361 | + SINIX, mips-sni-sysv4 |
| 362 | + Orion RTEMS, mips64orion-*-rtems* |
| 363 | * National Semiconductor 32000 |
| 364 | + OpenBSD, ns32k-*-openbsd* |
| 365 | * POWER (aka RS/6000) and PowerPC |
| 366 | + AIX versions 1, 2, and 3, rs6000-ibm-aix[123]* |
| 367 | + Bull BOSX, rs6000-bull-bosx |
| 368 | + Generic Mach, rs6000-*-mach* |
| 369 | + Generic SysV, powerpc*-*-sysv* |
| 370 | + Linux libc1, powerpc*-*-linux*libc1* |
| 371 | * Sun SPARC |
| 372 | + Generic a.out, sparc-*-aout*, sparclet-*-aout*, |
| 373 | sparclite-*-aout*, and sparc86x-*-aout* |
| 374 | + NetBSD a.out, sparc-*-netbsd*aout* |
| 375 | + Generic BSD, sparc-*-bsd* |
| 376 | + ChorusOS, sparc-*-chorusos* |
| 377 | + Linux a.out, sparc-*-linux*aout* |
| 378 | + Linux libc1, sparc-*-linux*libc1* |
| 379 | + LynxOS, sparc-*-lynxos* |
| 380 | + Solaris on HAL hardware, sparc-hal-solaris2* |
| 381 | + SunOS versions 3 and 4, sparc-*-sunos[34]* |
| 382 | * NEC V850 |
| 383 | + RTEMS, v850-*-rtems* |
| 384 | * VAX |
| 385 | + VMS, vax-*-vms* |
| 386 | |
| 387 | Documentation improvements |
| 388 | |
| 389 | Other significant improvements |
| 390 | |
| 391 | * Almost all front-end dependencies in the compiler have been |
| 392 | separated out into a set of language hooks. This should make |
| 393 | adding a new front end clearer and easier. |
| 394 | * One effect of removing the separate preprocessor is a small |
| 395 | increase in the robustness of the compiler in general, and the |
| 396 | maintainability of target descriptions. Previously target-specific |
| 397 | built-in macros and others, such as __FAST_MATH__, had to be |
| 398 | handled with so-called specs that were hard to maintain. Often |
| 399 | they would fail to behave properly when conflicting options were |
| 400 | supplied on the command line, and define macros in the user's |
| 401 | namespace even when strict ISO compliance was requested. |
| 402 | Integrating the preprocessor has cleanly solved these issues. |
| 403 | * The Makefile suite now supports redirection of make install by |
| 404 | means of the variable DESTDIR. |
| 405 | _________________________________________________________________ |
| 406 | |
| 407 | GCC 3.3 |
| 408 | |
| 409 | Detailed release notes for the GCC 3.3 release follow. |
| 410 | |
| 411 | Bug Fixes |
| 412 | |
| 413 | bootstrap failures |
| 414 | |
| 415 | * [8]10140 cross compiler build failures: missing __mempcpy (DUP: |
| 416 | [9]10198,[10]10338) |
| 417 | |
| 418 | Internal compiler errors (multi-platform) |
| 419 | |
| 420 | * [11]3581 large string causes segmentation fault in cc1 |
| 421 | * [12]4382 __builtin_{set,long}jmp with -O3 can crash the compiler |
| 422 | * [13]5533 (c++) ICE when processing std::accumulate(begin, end, |
| 423 | init, invalid_op) |
| 424 | * [14]6387 -fpic -gdwarf-2 -g1 combination gives ICE in dwarf2out |
| 425 | * [15]6412 (c++) ICE in retrieve_specialization |
| 426 | * [16]6620 (c++) partial template specialization causes an ICE |
| 427 | (segmentation fault) |
| 428 | * [17]6663 (c++) ICE with attribute aligned |
| 429 | * [18]7068 ICE with incomplete types |
| 430 | * [19]7083 (c++) ICE using -gstabs with dodgy class derivation |
| 431 | * [20]7647 (c++) ICE when data member has the name of the enclosing |
| 432 | class |
| 433 | * [21]7675 ICE in fixup_var_refs_1 |
| 434 | * [22]7718 'complex' template instantiation causes ICE |
| 435 | * [23]8116 (c++) ICE in member template function |
| 436 | * [24]8358 (ada) Ada compiler accesses freed memory, crashes |
| 437 | * [25]8511 (c++) ICE: (hopefully) reproducible cc1plus segmentation |
| 438 | fault |
| 439 | * [26]8564 (c++) ICE in find_function_data, in function.c |
| 440 | * [27]8660 (c++) template overloading ICE in tsubst_expr, in cp/pt.c |
| 441 | * [28]8766 (c++) ICE after failed initialization of static template |
| 442 | variable |
| 443 | * [29]8803 ICE in instantiate_virtual_regs_1, in function.c |
| 444 | * [30]8846 (c++) ICE after diagnostic if fr_FR@euro locale is set |
| 445 | * [31]8906 (c++) ICE (Segmentation fault) when parsing nested-class |
| 446 | definition |
| 447 | * [32]9216 (c++) ICE on missing template parameter |
| 448 | * [33]9261 (c++) ICE in arg_assoc, in cp/decl2.c |
| 449 | * [34]9263 (fortran) ICE caused by invalid PARAMETER in implied DO |
| 450 | loop |
| 451 | * [35]9429 (c++) ICE in template instantiation with a pointered new |
| 452 | operator |
| 453 | * [36]9516 Internal error when using a big array |
| 454 | * [37]9600 (c++) ICE with typedefs in template class |
| 455 | * [38]9629 (c++) virtual inheritance segfault |
| 456 | * [39]9672 (c++) ICE: Error reporting routines re-entered |
| 457 | * [40]9749 (c++) ICE in write_expression on invalid function |
| 458 | prototype |
| 459 | * [41]9794 (fortran) ICE: floating point exception during constant |
| 460 | folding |
| 461 | * [42]9829 (c++) Missing colon in nested namespace usage causes ICE |
| 462 | * [43]9916 (c++) ICE with noreturn function in ?: statement |
| 463 | * [44]9936 ICE with local function and variable-length 2d array |
| 464 | * [45]10262 (c++) cc1plus crashes with large generated code |
| 465 | * [46]10278 (c++) ICE in parser for invalid code |
| 466 | * [47]10446 (c++) ICE on definition of nonexistent member function |
| 467 | of nested class in a class template |
| 468 | * [48]10451 (c++) ICE in grokdeclarator on spurious mutable |
| 469 | declaration |
| 470 | * [49]10506 (c++) ICE in build_new at cp/init.c with |
| 471 | -fkeep-inline-functions and multiple inheritance |
| 472 | * [50]10549 (c++) ICE in store_bit_field on bitfields that exceed |
| 473 | the precision of the declared type |
| 474 | |
| 475 | Optimization bugs |
| 476 | |
| 477 | * [51]2001 Inordinately long compile times in reload CSE regs |
| 478 | * [52]2391 Exponential compilation time explosion in combine |
| 479 | * [53]2960 Duplicate loop conditions even with -Os |
| 480 | * [54]4046 redundant conditional branch |
| 481 | * [55]6405 Loop-unrolling related performance regressions |
| 482 | * [56]6798 very long compile time with large case-statement |
| 483 | * [57]6871 const objects shouldn't be moved to .bss |
| 484 | * [58]6909 problem w/ -Os on modified loop-2c.c test case |
| 485 | * [59]7189 gcc -O2 -Wall does not print ``control reaches end of |
| 486 | non-void function'' warning |
| 487 | * [60]7642 optimization problem with signbit() |
| 488 | * [61]8634 incorrect code for inlining of memcpy under -O2 |
| 489 | * [62]8750 Cygwin prolog generation erroneously emitting __alloca as |
| 490 | regular function call |
| 491 | |
| 492 | C front end |
| 493 | |
| 494 | * [63]2161 long if-else cascade overflows parser stack |
| 495 | * [64]4319 short accepted on typedef'd char |
| 496 | * [65]8602 incorrect line numbers in warning messages when using |
| 497 | inline functions |
| 498 | * [66]9177 -fdump-translation-unit: C front end deletes |
| 499 | function_decl AST nodes and breaks debugging dumps |
| 500 | * [67]9853 miscompilation of non-constant structure initializer |
| 501 | |
| 502 | c++ compiler and library |
| 503 | |
| 504 | * [68]45 legal template specialization code is rejected (DUP: |
| 505 | [69]3784) |
| 506 | * [70]764 lookup failure: friend operator and dereferencing a |
| 507 | pointer and templates (DUP: [71]5116) |
| 508 | * [72]2862 gcc accepts invalid explicit instantiation syntax (DUP: |
| 509 | 2863) |
| 510 | * [73]3663 G++ doesn't check access control during template |
| 511 | instantiation |
| 512 | * [74]3797 gcc fails to emit explicit specialization of a template |
| 513 | member |
| 514 | * [75]3948 Two destructors are called when no copy destructor is |
| 515 | defined (ABI change) |
| 516 | * [76]4137 Conversion operator within template is not accepted |
| 517 | * [77]4361 bogus ambiguity taking the address of a member template |
| 518 | * [78]4802 g++ accepts illegal template code (access to private |
| 519 | member; DUP: [79]5837) |
| 520 | * [80]4803 inline function is used but never defined, and g++ does |
| 521 | not object |
| 522 | * [81]5094 Partial specialization cannot be friend? |
| 523 | * [82]5730 complex<double>::norm() -- huge slowdown from |
| 524 | egcs-2.91.66 |
| 525 | * [83]6713 Regression wrt 3.0.4: g++ -O2 leads to seg fault at run |
| 526 | time |
| 527 | * [84]7015 certain __asm__ constructs rejected |
| 528 | * [85]7086 compile time regression (quadratic behavior in |
| 529 | fixup_var_refs) |
| 530 | * [86]7099 G++ doesn't set the noreturn attribute on std::exit and |
| 531 | std::abort |
| 532 | * [87]7247 copy constructor missing when inlining enabled (invalid |
| 533 | optimization?) |
| 534 | * [88]7441 string array initialization compilation time regression |
| 535 | from seconds to minutes |
| 536 | * [89]7768 __PRETTY_FUNCTION__ for template destructor is wrong |
| 537 | * [90]7804 bad printing of floating point constant in warning |
| 538 | message |
| 539 | * [91]8099 Friend classes and template specializations |
| 540 | * [92]8117 member function pointers and multiple inheritance |
| 541 | * [93]8205 using declaration and multiple inheritance |
| 542 | * [94]8645 unnecessary non-zero checks in stl_tree.h |
| 543 | * [95]8724 explicit destructor call for incomplete class allowed |
| 544 | * [96]8805 compile time regression with many member variables |
| 545 | * [97]8691 -O3 and -fno-implicit-templates are incompatible |
| 546 | * [98]8700 unhelpful error message for binding temp to reference |
| 547 | * [99]8724 explicit destructor call for incomplete class allowed |
| 548 | * [100]8949 numeric_limits<>::denorm_min() and is_iec559 problems |
| 549 | * [101]9016 Failure to consistently constant fold "constant" C++ |
| 550 | objects |
| 551 | * [102]9053 g++ confused about ambiguity of overloaded function |
| 552 | templates |
| 553 | * [103]9152 undefined virtual thunks |
| 554 | * [104]9182 basic_filebuf<> does not report errors in codecvt<>::out |
| 555 | * [105]9297 data corruption due to codegen bug (when copying.) |
| 556 | * [106]9318 i/ostream::operator>>/<<(streambuf*) broken |
| 557 | * [107]9320 Incorrect usage of traits_type::int_type in |
| 558 | stdio_filebuf |
| 559 | * [108]9400 bogus -Wshadow warning: shadowed declaration of this in |
| 560 | local classes |
| 561 | * [109]9424 i/ostream::operator>>/<<(streambuf*) drops characters |
| 562 | * [110]9425 filebuf::pbackfail broken (DUP: [111]9439) |
| 563 | * [112]9474 GCC freezes in compiling a weird code mixing <iostream> |
| 564 | and <iostream.h> |
| 565 | * [113]9548 Incorrect results from setf(ios::fixed) and |
| 566 | precision(-1) [114][DR 231] |
| 567 | * [115]9555 ostream inserters fail to set badbit on exception |
| 568 | * [116]9561 ostream inserters rethrow exception of wrong type |
| 569 | * [117]9563 ostream::sentry returns true after a failed preparation |
| 570 | * [118]9582 one-definition rule violation in std::allocator |
| 571 | * [119]9622 __PRETTY_FUNCTION__ incorrect in template destructors |
| 572 | * [120]9683 bug in initialization chains for static const variables |
| 573 | from template classes |
| 574 | * [121]9791 -Woverloaded-virtual reports hiding of destructor |
| 575 | * [122]9817 collate::compare doesn't handle nul characters |
| 576 | * [123]9825 filebuf::sputbackc breaks sbumpc |
| 577 | * [124]9826 operator>>(basic_istream, basic_string) fails to compile |
| 578 | with custom traits |
| 579 | * [125]9924 Multiple using statements for builtin functions not |
| 580 | allowed |
| 581 | * [126]9946 destructor is not called for temporary object |
| 582 | * [127]9964 filebuf::close() sometimes fails to close file |
| 583 | * [128]9988 filebuf::overflow writes EOF to file |
| 584 | * [129]10033 optimization breaks polymorphic references w/ typeid |
| 585 | operator |
| 586 | * [130]10097 filebuf::underflow drops characters |
| 587 | * [131]10132 filebuf destructor can throw exceptions |
| 588 | * [132]10180 gcc fails to warn about non-inlined function |
| 589 | * [133]10199 method parametrized by template does not work |
| 590 | everywhere |
| 591 | * [134]10300 use of array-new (nothrow) in segfaults on NULL return |
| 592 | * [135]10427 Stack corruption with variable-length automatic arrays |
| 593 | and virtual destructors |
| 594 | * [136]10503 Compilation never stops in fixed_type_or_null |
| 595 | |
| 596 | Objective-C |
| 597 | |
| 598 | * [137]5956 selectors aren't matched properly when added to the |
| 599 | selector table |
| 600 | |
| 601 | Fortran compiler and library |
| 602 | |
| 603 | * [138]1832 list directed i/o overflow hangs, -fbounds-check doesn't |
| 604 | detect |
| 605 | * [139]3924 g77 generates code that is rejected by GAS if COFF debug |
| 606 | info requested |
| 607 | * [140]5634 doc: explain that configure --prefix=~/... does not work |
| 608 | * [141]6367 multiple repeat counts confuse namelist read into array |
| 609 | * [142]6491 Logical operations error on logicals when using |
| 610 | -fugly-logint |
| 611 | * [143]6742 Generation of C++ Prototype for FORTRAN and extern "C" |
| 612 | * [144]7113 Failure of g77.f-torture/execute/f90-intrinsic-bit.f -Os |
| 613 | on irix6.5 |
| 614 | * [145]7236 OPEN(...,RECL=nnn,...) without ACCESS='DIRECT' should |
| 615 | assume a direct access file |
| 616 | * [146]7278 g77 "bug"; the executable misbehaves (with -O2 |
| 617 | -fno-automatic) |
| 618 | * [147]7384 DATE_AND_TIME milliseconds field inactive on Windows |
| 619 | * [148]7388 Incorrect output with 0-based array of characters |
| 620 | * [149]8587 Double complex zero ** double precision number -> NaN |
| 621 | instead of zero |
| 622 | * [150]9038 -ffixed-line-length-none -x f77-cpp-input gives: |
| 623 | Warning: unknown register name line-length-none |
| 624 | * [151]10197 Direct access files not unformatted by default |
| 625 | |
| 626 | Java compiler and library |
| 627 | |
| 628 | * [152]6005 gcj fails to build rhug on alpha |
| 629 | * [153]6389 System.getProperty("") should always throw an |
| 630 | IllegalArgumentException |
| 631 | * [154]6576 java.util.ResourceBundle.getResource ignores locale |
| 632 | * [155]6652 new java.io.File("").getCanonicalFile() throws exception |
| 633 | * [156]7060 getMethod() doesn't search super interface |
| 634 | * [157]7073 bytecode interpreter gives wrong answer for interface |
| 635 | getSuperclass() |
| 636 | * [158]7180 possible bug in |
| 637 | javax.naming.spi.NamingManager.getPlusPath() |
| 638 | * [159]7416 java.security startup refs "GNU libgcj.security" |
| 639 | * [160]7570 Runtime.exec with null envp: child doesn't inherit |
| 640 | parent env (DUP: [161]7578) |
| 641 | * [162]7611 Internal error while compiling libjava with -O |
| 642 | * [163]7709 NullPointerException in _Jv_ResolvePoolEntry |
| 643 | * [164]7766 ZipInputStream.available returns 0 immediately after |
| 644 | construction |
| 645 | * [165]7785 Calendar.getTimeInMillis/setTimeInMillis should be |
| 646 | public |
| 647 | * [166]7786 TimeZone.getDSTSavings() from JDK1.4 not implemented |
| 648 | * [167]8142 '$' in class names vs. dlopen 'dynamic string tokens' |
| 649 | * [168]8234 ZipInputStream chokes when InputStream.read() returns |
| 650 | small chunks |
| 651 | * [169]8415 reflection bug: exception info for Method |
| 652 | * [170]8481 java.Random.nextInt(int) may return negative |
| 653 | * [171]8593 Error reading GZIPped files with BufferedReader |
| 654 | * [172]8759 java.beans.Introspector has no flushCaches() or |
| 655 | flushFromCaches() methods |
| 656 | * [173]8997 spin() calls Thread.sleep |
| 657 | * [174]9253 on win32, java.io.File.listFiles("C:\\") returns pwd |
| 658 | instead of the root content of C: |
| 659 | * [175]9254 java::lang::Object::wait(), threads-win32.cc returns |
| 660 | wrong return codes |
| 661 | * [176]9271 Severe bias in java.security.SecureRandom |
| 662 | |
| 663 | Ada compiler and library |
| 664 | |
| 665 | * [177]6767 make gnatlib-shared fails on -laddr2line |
| 666 | * [178]9911 gnatmake fails to link when GCC configured with |
| 667 | --with-sjlj-exceptions=yes |
| 668 | * [179]10020 Can't bootstrap gcc on AIX with Ada enabled |
| 669 | * [180]10546 Ada tasking not working on Red Hat 9 |
| 670 | |
| 671 | preprocessor |
| 672 | |
| 673 | * [181]7029 preprocessor should ignore #warning with -M |
| 674 | |
| 675 | ARM-specific |
| 676 | |
| 677 | * [182]2903 [arm] Optimization bug with long long arithmetic |
| 678 | * [183]7873 arm-linux-gcc fails when assigning address to a bit |
| 679 | field |
