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.
- GCC 3.3.1 automatically places zero-initialized variables in
the
.bss section on some operating systems.
Versions of GNU Emacs up to (and including) 21.3 will not work
correctly when using this optimization; you can use
-fno-zero-initialized-in-bss to disable it.
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
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.
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
- VAX
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
Internal compiler errors (multi-platform)
- 3581 large string causes segmentation fault in cc1
- 4382
__builtin_{set,long}jmp with -O3 can crash the compiler
- 5533 (c++) ICE when processing
std::accumulate(begin, end, init, invalid_op)
- 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
- 7083 (c++) ICE using
-gstabs with dodgy class derivation
- 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
- 8358 (ada) Ada compiler accesses freed memory, crashes
- 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 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
VAX
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
Internal compiler errors (multi-platform)
- 3581 large string causes segmentation fault in cc1
- 4382
__builtin_{set,long}jmp with -O3 can crash the compiler
- 5533 (c++) ICE when processing
std::accumulate(begin, end, init, invalid_op)
- 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
- 7083 (c++) ICE using
-gstabs with dodgy class derivation
- 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
- 8358 (ada) Ada compiler accesses freed memory, crashes
- 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 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
VAX
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
Internal compiler errors (multi-platform)
- 3581 large string causes segmentation fault in cc1
- 4382
__builtin_{set,long}jmp with -O3 can crash the compiler
- 5533 (c++) ICE when processing
std::accumulate(begin, end, init, invalid_op)
- 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
- 7083 (c++) ICE using
-gstabs with dodgy class derivation
- 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
- 8358 (ada) Ada compiler accesses freed memory, crashes
- 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 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
VAX
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
Internal compiler errors (multi-platform)
- 3581 large string causes segmentation fault in cc1
- 4382
__builtin_{set,long}jmp with -O3 can crash the compiler
- 5533 (c++) ICE when processing
std::accumulate(begin, end, init, invalid_op)
- 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
- 7083 (c++) ICE using
-gstabs with dodgy class derivation
- 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
- 8358 (ada) Ada compiler accesses freed memory, crashes
- 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 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
VAX
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
Internal compiler errors (multi-platform)
- 3581 large string causes segmentation fault in cc1
- 4382
__builtin_{set,long}jmp with -O3 can crash the compiler
- 5533 (c++) ICE when processing
std::accumulate(begin, end, init, invalid_op)
- 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
- 7083 (c++) ICE using
-gstabs with dodgy class derivation
- 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
- 8358 (ada) Ada compiler accesses freed memory, crashes
- 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 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
VAX
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
Internal compiler errors (multi-platform)
- 3581 large string causes segmentation fault in cc1
- 4382
__builtin_{set,long}jmp with -O3 can crash the compiler
- 5533 (c++) ICE when processing
std::accumulate(begin, end, init, invalid_op)
- 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
- 7083 (c++) ICE using
-gstabs with dodgy class derivation
- 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
- 8358 (ada) Ada compiler accesses freed memory, crashes
- 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 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
VAX
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
Internal compiler errors (multi-platform)
- 3581 large string causes segmentation fault in cc1
- 4382
__builtin_{set,long}jmp with -O3 can crash the compiler
- 5533 (c++) ICE when processing
std::accumulate(begin, end, init, invalid_op)
- 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
- 7083 (c++) ICE using
-gstabs with dodgy class derivation
- 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
- 8358 (ada) Ada compiler accesses freed memory, crashes
- 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 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
VAX
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
Internal compiler errors (multi-platform)
- 3581 large string causes segmentation fault in cc1
- 4382
__builtin_{set,long}jmp with -O3 can crash the compiler
- 5533 (c++) ICE when processing
std::accumulate(begin, end, init, invalid_op)
- 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
- 7083 (c++) ICE using
-gstabs with dodgy class derivation
- 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
- 8358 (ada) Ada compiler accesses freed memory, crashes
- 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 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
VAX
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
Internal compiler errors (multi-platform)
- 3581 large string causes segmentation fault in cc1
- 4382
__builtin_{set,long}jmp with -O3 can crash the compiler
- 5533 (c++) ICE when processing
std::accumulate(begin, end, init, invalid_op)
- 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
- 7083 (c++) ICE using
-gstabs with dodgy class derivation
- 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
- 8358 (ada) Ada compiler accesses freed memory, crashes
- 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 compilat