GCC news and announcements

More current news items can be found on the GCC home page.

November 13, 2000
GCC now supports two more ISO C99 features:
November 2, 2000
The C, C++ and Objective C front-ends to GCC now use an integrated preprocessor by default. If all goes well, this will also be the default mode for GCC 3.0.
November 1, 2000
Support for C99's _Pragma operator has been added to the preprocessor. This feature effectively makes it possible to have #pragma directives be part of macro expansions, and to have their arguments expanded too if necessary.
October 6, 2000
We would like to point out that GCC 2.96 is not a formal GCC release nor will there ever be such a release. Rather, GCC 2.96 has been the code- name for our development branch that will eventually become GCC 3.0. More...
Sep 11, 2000
Zack Weinberg of Cygnus, a Red Hat company, has contributed modifications to the C, C++, and Objective C compilers which permit them to use the C preprocessor library (cpplib) directly instead of via a separate executable.

This is not yet the default mode, but we hope it will be the default in GCC 3.0. When it is used the compiler will be faster because it will not have to do lexical analysis twice, nor save the preprocessed output to a temporary file. In the future, this will permit better error messages, and more detailed debugging information particularly when complex macros are used.

Sep 11, 2000
Neil Booth has contributed a new lexer and macro-expander for the C preprocessor. The lexer makes a single pass over the source files, whereas previously it made two. The macro expander operates on lexical tokens instead of text strings.

ISO C, C++, and Objective C use the new preprocessor. Traditional (K+R) C, Fortran, and Chill use an older implementation (taken from GCC 1) which obeys the rules for pre-standard C preprocessing. Either version may be used to preprocess assembly language.

May 2, 2000

Stan Cox and Jason Eckhardt of Cygnus, a Red Hat company, have contributed a basic block reordering pass. The optimization can reposition basic blocks from across the entire function in an attempt to reduce branch penalties and enhance instruction cache efficiency.

Our thanks go to Michael Hayes, Jan Hubicka, and Graham Stott who noticed or fixed defects or made other useful suggestions.

May 1, 2000

Richard Earnshaw of ARM Ltd, and Nick Clifton of Cygnus, a Red Hat company, have contributed a new backend for the Arm and Thumb processors.

The new backend combines code generation for the Arm, the Thumb and the StrongArm into one compiler, with the target processor and instruction sets being selectable via command line switches.

April 30, 2000
Michael Meissner and Nick Clifton of Cygnus, a Red Hat company, have contributed a port for the Mitsubishi D30V processor.

Michael Meissner and Richard Henderson of Cygnus, a Red Hat company, have contributed a new if-conversion pass. The code runs faster and identifies more optimization opportunities than the old code. In addition, it also has support for conditional (predicated) execution, such as is found in the Intel IA-64 architecture, the ARM processors, and numerous embedded LIW and DSP parts.

March 22, 2000
The Steering Committee has appointed Mark Mitchell, of CodeSourcery, LLC, to manage the GCC 3.0 release and as a new Steering Committe member. CodeSourcery will be providing time from Mark, Alex Samuel, and other personnel, to manage the release. Thanks!

The Steering Committee and the GCC community owe Jeff Law an immense debt for his work as release manager for the EGCS 1.0.x, 1.1.x, and GCC 2.95.x series of releases. He has done an outstanding job.

March 18, 2000
Andy Vaught has started work on GNU Fortran 95, the Fortran Frontend destined to implement the latest standard. See this page for its current status (previously over here).
March 17, 2000
Jim Wilson and Richard Henderson of Cygnus, a Red Hat company, and David Mosberger of HP labs have contributed a port for the Intel Itanium (aka IA-64) processor.

Jeff Law and Richard Henderson of Cygnus, a Red Hat company, have contributed RTL based tail call elimination optimizations. Support currently exists for the Alpha, HPPA, ia32 and MIPS processors. Long term the RTL based tail call optimizations will be replaced with a tree based tail call optimizer.
March 14, 2000
CodeSourcery, LLC is now providing nightly snapshots of GCC, distributed as RPMs for GNU/Linux on Intel platforms, plus build logs and testsuite results. In order to allow users to more easily confirm whether the current snapshot of GCC fixes a particular bug, an online compilation web form is provided.
March 13, 2000
Denis Chertykov contributed an AVR port. AVR is a family of micro controllers made by Atmel with embedded FLASH program memory and embedded RAM. It is the first GCC port to an 8-bit microprocessor with a 16-bit address bus.
March 9, 2000
CodeSourcery, LLC and Cygnus, a Red Hat company, have contributed an implementation of static single assignment (SSA) representation. SSA will facilitate the implementation of powerful code optimizations in GCC.
March 2, 2000
Jason Molenda, who had a major role in setting up and managing the gcc.gnu.org (originally egcs.cygnus.com) machine and site, is leaving Cygnus. We would like to thank him for his efforts and support behind the scenes and wish Jason all the best in his new job.
February 23, 2000
Cygnus, a Red Hat company, contributed an M*Core port.
January 4, 2000
Steve Chamberlain has contributed a picoJava port.
December 10, 1999
CodeSourcery, LLC has contributed a new inliner for C++. As a result, the compiler may use dramatically less time and memory to compile programs that make heavy use of templates.
December 1, 1999
Cygnus has donated support for the Matsushita AM33 processor (a member of the MN10300 processor family). The MN103 family is targeted towards embedded consumer products such as DVD players, HDTV, etc.
October 27, 1999
GCC 2.95.2 is released.
October 16, 1999

Craig Burley, our lead Fortran developer and the original author of g77, announced that he will stop working on g77 beyond the 2.95 series. On behalf of the entire GCC team, the steering committee would like to thank Craig for his work.

Craig has written a detailed analysis of the current state and possible future of g77, available at his g77 web site.

If you are interested in helping with g77, please contact us!

October 12, 1999
We are pleased to announce that Richard Earnshaw and Jason Merrill have been given global write permissions throughout the GCC sources.
Cygnus has installed various upgrades to improve services for GCC and other open source projects hosted by Cygnus.
October 11, 1999
The gcc steering committee welcomes a new member: Gerald Pfeifer. His insights into political issues and his web improvement work were and will be of great use.
September 21, 1999
Nick Clifton of Cygnus Solutions has donated support for the Fujitsu FR30 processor. The FR30 is a low-cost 32bit cpu intended for larger embedded applications. It has a simple load/store architecture, 16 general registers and a variable length instruction set. Additional details about the FR30 can be found at Fujitsu's web site.
September 20, 1999
Cygnus Solutions has donated two new global optimizers to GCC. Global Null Pointer Test Elimination and Global Code Hoisting/Unification.
September 3, 1999
Long time GCC contributors Mark Mitchell and Richard Kenner have been given global write permissions. They are authorized to install and approve patches to any part of the compiler. Richard Kenner will initially be working on merging in the remaining changes from the old GCC 2 sources.
September 2, 1999
Richard Henderson has finished merging the ia32 backend rewrite into the mainline GCC sources. The rewrite is designed to improve optimization opportunities for the Pentium II target, but also provides a cleaner way to optimize for the Pentium III, AMD-K7 and other high end ia32 targets as they appear.
August 31, 1999
Cygnus Solutions has released libgcj version 2.95.1 Java runtime libraries for use with GCC 2.95.1.
August 19, 1999
GCC 2.95.1 is released.
August 4, 1999
A new snapshot of the new Standard C++ Library V3 has been released. You can find more information from the libstdc++ project's home page.

Cygnus Solutions has released libgcj version 2.95 Java runtime libraries for use with GCC 2.95.

August 2, 1999
Mumit Khan has pre-built gcc-2.95 binary packages for Windows platforms.
July 31, 1999
GCC 2.95 is released.
July 11, 1999
Cygnus Solutions has donated support for a generic i386-elf target. (Note that this will not be included in gcc 2.95.)
June 29, 1999
Cygnus Solutions has donated hpux11 support. (Note that this will not be included in gcc 2.95.)
June 15, 1999
Cygnus Solutions has donated a major rewrite of the Intel IA-32 back end, focusing on better optimization for the Pentium II. (Note that this will not be included in gcc 2.95.)
May 27, 1999
Toon Moene has emailed (and posted) his notes on the GNU Fortran (g77) Birds-of-a-Feather (BOF) session at LinuxExpo to the appropriate lists, and Craig Burley has made Toon's notes available (in edited form) at http://world.std.com/~burley/bof.html.
Probably the most important decision reached at the meeting is that Craig Burley will undertake the long-awaited 0.6 rewrite of the g77 front end as his top priority for the gcc 3.0 release, rather than focusing on implementing some of the most wanted features that didn't require the rewrite, such as Cray pointers.
The BOF provided us with some additional information to guide future development of GNU Fortran. Thanks to all who attended, whether in person or in spirit!
May 18, 1999
The sixth snapshot of the ongoing re-written C++ Standard Library has been released. It includes SGI STL 3.2, an automatically generated <limits>, a partially re-written valarray, a working stringbuf and stringstream (for basic types). For more information, please check libstdc++-2.90.5.
April 23, 1999
g77 now supports optional run-time checking of array subscript expressions via the -fbounds-check compiler option. (The same option applies to whatever bounds-checking applies for other languages, such as Java. The -ffortran-bounds-check option specifies bounds-checking for Fortran code.)
April 20, 1999
Yes, it is not a hoax: The egcs steering committee is appointed official GNU maintainer for GCC; the egcs team will be responsible for rolling out future GCC releases.
This will require some changes in policy and procedures for the project. We will provide more information on those changes as they are available.
www.gnu.org has the FSF announcement under the "GNU flashes" heading.
April 15, 1999
Mark Mitchell is now a co-maintainer of the C++ front end along with Jason Merrill.
April 13, 1999
We have set up a new mailing list gcc-cvs-wwwdocs that tracks checkins to the egcs webpages CVS repository.
April 7, 1999
Cygnus announces the first public release of libgcj, the runtime component of the GNU compiler for Java.
Read the release announcement.
Goto the libgcj homepage.
April 6, 1999
A new snapshot of the C++ standard library re-write has been released. This release includes SGI STL 3.12, a working valarray, and several (but not all) parts of templatized iostreams--for more information see: libstdc++-2.90.4.
March 23, 1999
Through the efforts of John Wehle and Bernd Schmidt, GCC will now attempt to keep the stack 64bit aligned on the x86 and allocate doubles on 64bit boundaries. This can significantly improve floating point performance on the x86. Work will continue on aligning the stack and floating point values in the stack.
March 15, 1999
egcs-1.1.2 is released.
March 10, 1999
Cygnus donates improved global constant propagation and lazy code motion optimizer framework.
March 7, 1999
The egcs project now has additional online documentation.
February 26, 1999
Richard Henderson of Cygnus Solutions has donated a major rewrite of the control flow analysis pass of the compiler.
February 25, 1999
Marc Espie has donated support for OpenBSD on the Alpha, SPARC, x86, and m68k platforms. Additional targets are expected in the future.
January 21, 1999
Cygnus donates support for the PowerPC 750 processor. The PPC750 is a 32bit superscalar implementation of the PowerPC family manufactured by both Motorola and IBM. The PPC750 is targetted at high end Macs as well as high end embedded applications.
January 18, 1999
Christian Bruel and Jeff Law donate improved local dead store elimination.
January 14, 1999
Cygnus donates support for Hypersparc (SS20) and Sparclite86x (embedded) processors.
December 7, 1998
Cygnus donates support for demangling of HP aCC symbols.
December 4, 1998
egcs-1.1.1 is released.
November 26, 1998
A database with test results is now available online, thanks to Marc Lehmann.
November 23, 1998
egcs now can dump flow graph information usable for graphical representation. Contributed by Ulrich Drepper.
November 21, 1998
Cygnus donates support for the SH4 processor.
November 10, 1998
An official steering committee has been formed. Here is the original announcement.
November 5, 1998
The third snapshot of the rewritten libstdc++ is available. You can read some more on http://sources.redhat.com/libstdc++/.
October 27, 1998
Bernd Schmidt donates localized spilling support.
September 22, 1998
IBM Corporation delivers an update to the IBM Haifa instruction scheduler and new software pipelining and branch optimization support.
September 18, 1998
Michael Hayes donates c4x port.
September 6, 1998
Cygnus donates Java front end.
September 3, 1998
egcs-1.1 is released.
August 29, 1998
Cygnus donates Chill front end and runtime.
August 25, 1998
David Miller donates rewritten sparc backend.
August 19, 1998
Mark Mitchell donates load hoisting and store sinking support.
July 15, 1998
The first snapshot of the rewritten libstdc++ is available. You can read some more here.
June 29, 1998
Mark Mitchell donates alias analysis framework.
May 26, 1998
We have added two new mailing lists for the egcs project. gcc-cvs and egcs-patches.

When a patch is checked into the CVS repository, a check-in notification message is automatically sent to the gcc-cvs mailing list. This will allow developers to monitor changes as they are made.

Patch submissions should be sent to egcs-patches instead of the main egcs list. This is primarily to help ensure that patch submissions do not get lost in the large volume of the main mailing list.

May 18, 1998
Cygnus donates gcse optimization pass.
May 15, 1998
egcs-1.0.3 released!.
March 18, 1998
egcs-1.0.2 released!.
February 26, 1998
The egcs web pages are now supported by egcs project hardware and are searchable with webglimpse. The CVS sources are browsable with the free cvsweb package.
February 7, 1998
Stanford has volunteered to host a high speed mirror for egcs. This should significantly improve download speeds for releases and snapshots. Thanks Stanford and Tobin Brockett for the use of their network, disks and computing facilities!
January 12, 1998
Remote access to CVS sources is available!.
January 6, 1998
egcs-1.0.1 released!.
December 3, 1997
egcs-1.0 released!.
August 15, 1997
The egcs project is announced publicly and the first snapshot is put on-line.