Updated gcc packages that fix multiple bugs are now available for Red Hat Enterprise Linux 5.
The gcc packages provide compilers for C, C++, Java, Fortran, Objective C, and Ada 95 GNU, as well as related support libraries.
Previously, the g++ compiler consumed excessive memory when compiling a program that used a vast amount of various data definitions and function overloading. This has been fixed and the g++ compiler uses much less memory under these circumstances.
Global variable lookup did not match the C code lookup. As a result, a variable appeared to have incorrect values assigned during debugging. This happened if a global variable with the same name was exported by multiple libraries and the libraries were stored at the same location. With this update, the variable lookup has been modified to match the C code lookup.
The gcov tool incorrectly counted opening brackets in an error handling block specification ("throw") if the specification was not located on the same line as its parent function. With this update, the code handling for such situations has been added and the throw blocks are handled as expected.
A program compilation could terminate with an internal compiler error because the compiler failed to update hash tables while creating precompiled headers of the libstdc++ library. With this update, the compiler uses the DECL_UID variable when creating the precompiled headers and the problem no longer occurs.
A GNU Data Language (GDL) program compilation could terminate with an internal compiler error. This happened due to incorrect gimplification of the try-catch block. With this update, the underlying code has been modified and the try-catch blocks are now compiled correctly.
Under certain circumstances, program compilation with the gfortran compiler could have resulted in the following error:
internal compiler error: in modified_type_die, at dwarf2out.c:8495
With this update, the underlying code has been modified and the problem no longer occurs.
All gcc users are advised to upgrade to these updated packages, which fix these bugs.