Support for all C++14 language
features has been added to the development sources for GCC, and
will be available when GCC 5 is released next year. Contributed by
Jason Merrill, Braden Obrzut, Adam Butcher, Edward Smith-Rowland,
and Jakub Jelinek.

An implementation of the OpenMP v4.0
parallel programming interface for so far just C, C++ has been added.
Code was contributed by Jakub Jelinek, Aldy Hernandez, Richard Henderson
of Red Hat, Inc. and Tobias Burnus.

A port for Synopsys Designware ARC has been contributed by Embecosm and Synopsys Inc.

TI MSP430 support[2013-09-12]

A port for the TI MSP430 has been contributed by Red Hat Inc.

The Vtable Verification Feature is now in GCC[2013-09-08]

The vtable verification
branch has been merged into trunk. This work was contributed by
Caroline Tice, Luis Lozano and Geoff Pike of Google, and
Benjamin Kosnik of Red Hat.

Twitter and Google+ accounts[2013-08-08]

GCC and the GNU Toolchain Project now have accounts on
Twitter and
Google+
to help developers stay informed of progress.

IBM POWER8 support[2013-07-15]

Support for the POWER8 processor has been contributed by IBM.
This includes new VSX, HTM and atomic instructions, new intrinsics,
and scheduling improvements. Little Endian support also has been
enhanced, including control over vector element endianness.

Support for C++11 ref-qualifiers was added to the GCC
4.8 branch, making G++ the first C++ compiler to implement all
the major language features of the C++11 standard. This
functionality will be available in GCC 4.8.1.

The cxx-conversion
branch has been merged into trunk. This switches GCC's implementation
language from C to C++.
Additionally, some data structures have been re-implemented in C++
(more details in the merge
announcement). This work was contributed by Lawrence Crowl and
Diego Novillo of Google.

A port for National Semiconductor's CR16 processor has been contributed by
Sumanth Gundapaneni and Jayant Sonar of KPIT Cummins.

TILE-Gx and TILEPro processor support[2012-02-14]

Ports for the TILE-Gx and TILEPro families of processors have been
contributed by Walter Lee from Tilera.

Atomic memory model support[2011-11-06]

C++11/C11 memory model
support has been added through a new set of built-in __atomic
functions. Code was contributed by Andrew MacLeod, Richard Henderson, and
Aldy Hernandez, all of Red Hat, Inc.

GNU Tools Cauldron 2012[2011-11-18]

IUUK (Computer Science Institute, Charles University), CE-ITI
(Institute for Theoretical Computer Science) and Google are organizing
a workshop for GNU
Tools developers. The workshop will be held in July 2012 at
Charles University, Prague.

Transactional memory support[2011-11-15]

An implementation of the
ongoing transactional
memory standard has been added. Code was contributed by Richard
Henderson, Aldy Hernandez, and Torvald Riegel, all of Red Hat, Inc.
The project was partially funded by
the Velox project. This
feature is experimental and is available for C and C++ on selected
platforms.

GCC 4.6 will support many new
Objective-C features, such as declared and synthesized properties, dot
syntax, fast enumeration, optional protocol methods, method/protocol/class
attributes, class extensions and a new GNU Objective-C runtime API. This
was contributed by Nicola Pero and Iain Sandoe, with support from Mike
Stump.

GCC 4.6 will include the
libquadmath library, which provides quad-precision mathematical
functions on targets supporting the __float128 datatype. The
library is used to provide the REAL(16) type in GNU Fortran
on such targets. It has been contributed by François-Xavier
Coudert.

Our old Bugzilla instance has been upgraded to the latest release
3.6.2, bringing a better user experience and a new and powerful API for
external tools. The upgrade has been done by Frédéric
Buclin of the Bugzilla project at Mozilla.

An
experimental
profile mode has been added. This is an implementation of many
C++ Standard library constructs with an additional analysis layer
that gives performance improvement advice based on recognition of
suboptimal usage patterns. Code was contributed by Silvius Rus,
Lixia Liu, and Changhee Jung with the assistance of Benjamin
Kosnik, Paolo Carlini, and Jonathan Wakely.

The LTO
branch has been merged into trunk. The next release of GCC will
feature a new whole-program optimizer, able to perform interprocedural
optimizations across different files, even if they are written in
different languages.

The GCC Steering Committee, along with the Free Software Foundation
and the Software Freedom Law Center, is pleased to announce the release
of a new GCC
Runtime Library Exception.
This license exception has been developed to allow various GCC
libraries to upgrade to GPLv3. It will also enable the development
of a plugin framework for GCC.
(Rationale
document and FAQ)

An implementation of the OpenMP v3.0
parallel programming interface for C, C++ and Fortran has been added.
Code was contributed by Jakub Jelinek, Richard Henderson and
Ulrich Drepper of Red Hat, Inc.

May 22, 2008

AMD Developer Central has donated two bi-quad core machines with
the latest AMD Opteron 8354 "Barcelona B3" processors and 16GB of RAM
to the GCC Compile Farm
project for use by free software developers. Hosting is donated
by INRIA Saclay.

An experimental
parallel mode has been added. This is a parallel
implementation of many C++ Standard library algorithms, like
std::accumulate, std::for_each,
std::transform, or std::sort, to give but
four examples. Code was contributed by Johannes Singler and Leonor
Frias, with the support of the University of Karlsruhe. Assisting
were Felix Putze, Marius Elvert, Felix Bondarenko, Robert
Geisberger, Robin Dapp, and Benjamin Kosnik of Red Hat.

C interoperability support (ISO Bind C) has been added to the
Fortran compiler. The code was contributed by Christopher D.
Rickett of Los Alamos National Lab.

June 2, 2007

Experimental support for the upcoming ISO C++0x standard
been added. Enabled
with -std=gnu++0x or -std=c++0x, this offers
a first look at upcoming C++0x
features and will be available in GCC 4.3. Code was
contributed by Douglas Gregor of Indiana University, Russell
Yanofsky, Benjamin Kosnik of Red Hat and Paolo Carlini of Novell,
and reviewed by Jason Merrill of Red Hat and Mark Mitchell and
Nathan Sidwell of CodeSourcery.

All m68k targets now support ColdFire processors and offer the
choice between ColdFire and non-ColdFire libraries at configure time.
There have been several other
significant changes to the m68k and ColdFire support.
This work was contributed by Nathan Sidwell of CodeSourcery
and others.

Interprocedural optimization passes have been reorganized to operate on
SSA This enables more precise function analysis and optimization
while inlining, significantly improving the performance of programs
with high abstraction penalty.
Code from ipa-branch contributed by
Jan Hubicka, SUSE labs and Razya Ladelsky, IBM Haifa, was reviewed by Diego
Novillo, Richard Guenther, Roger Sayle and Ian Lance Taylor.

January 8, 2007

Andrew Haley and Tom Tromey of Red Hat merged the
gcj-eclipse branch to svn trunk. GCC now uses the
Eclipse compiler as a front end, enabling all 1.5 language
features. This merge also brings in a new, generics-enabled
version of Classpath, including some new tools. All this
will appear in GCC 4.3.

Analog Devices has contributed a port for the
Blackfin processor. See the Blackfin projects
page for more information and ports of binutils and gdb.

February 06, 2005

gcc.gnu.org suffered hardware failure and had to be restored from backups.
We do not believe any data was lost in the CVS repository. We did lose any
pending messages in the mail queue as that does not get backed up. At this
time, everything should be functional except for htdig. The mailing list
archives on the web site are also out of date and will be updated soon.
New mail will update the archives correctly, however. If you find any
other problems, please email
overseers@gcc.gnu.org

The tree-ssa branch
has been frozen to be incorporated into GCC 4.0.0. Tree SSA
incorporates two new high-level intermediate languages (GENERIC and
GIMPLE), an optimization framework for GIMPLE based on the Static
Single Assignment (SSA) representation, several SSA-based optimizers
and various other improvements to the internal structure of the
compiler that allow new optimization opportunities that were difficult
to implement before.

Josef Zlomek of SUSE Labs and Daniel Berlin of IBM Research have contributed
Variable Tracking. It generates more accurate debug info about locations of
variables and allows debugging code compiled
with -fomit-frame-pointer.

October 18, 2003

Bernardo Innocenti of Develer S.r.l. has contributed the
m68k-uclinux target and improved support for ColdFire cores, based
on former work by Paul Dale (SnapGear, Inc.) and Peter Barada (Motorola, Inc.).

Nicolas Pitre has contributed his hand-coded floating-point support code
for ARM. It is both significantly smaller and faster than the
existing C-based implementation. The arm-elf configuration uses the new
code now, and other ports will follow.

Andrew Haley of Red Hat completed the work begun by Bo Thorsen of SuSE
to port GCJ to the AMD x86-64
architecture. This is the first implementation of the Java
programming language to be made available on that platform. It will
be part of the GCC 3.3 release.

January 28, 2003

The ongoing effort to remove warnings from the GCC code base itself,
spear-headed by Kaveh Ghazi, has paid off: For our development versions
and snapshots, we now enable -Werror during a full bootstrap.

January 22, 2003

The GCC Steering Committee has named Gabriel Dos Reis as release manager for
the upcoming GCC 3.2.2 release, allowing Mark Mitchell to focus his
efforts on the GCC 3.3 and 3.4 release series. 3.2.2 is intended to be a bug
fix release only.

January 10, 2003

Geoffrey Keating of Apple Computer, Inc., with support from Red Hat,
Inc., has contributed a
precompiled header implementation that can dramatically speed up
compilation of some projects.

December 27, 2002

Mark Mitchell of CodeSourcery has contributed a
new, hand-crafted
recursive-descent C++ parser sponsored by the Los Alamos National
Laboratory. The new parser is more standard conforming and fixes many bugs
(about 100 in our bug tracker alone) from the old YACC-derived parser.

Michael Matz of SuSE, Daniel Berlin, and Denis Chertykov have contributed
a new register allocator. IBM and Rice University have allowed use of
their register allocator software patents for graph coloring and register
coalescing.

May 28, 2002

Support for all the systems obsoleted in GCC 3.1
has been removed from the development sources. (These targets can
still be restored if a maintainer appears.)

Aldy Hernandez, of Red Hat, Inc,
has contributed extensions to the PowerPC port supporting the AltiVec
programming model (SIMD). The support, though presently useful, is
experimental and is expected to stabilize for 3.2. The support is
written to conform to Motorola's AltiVec specs.

May 2, 2002

HP and CodeSourcery announced that HP
will sponsor Mark Mitchell's work as GCC Release Manager through April 2003.

April 30, 2002

Vladimir Makarov, of Red Hat, Inc, has
contributed a new scheme for describing processor pipelines, commonly
referred to as the DFA scheduler.

April 15, 2002

The Chill front end (that already was omitted from GCC 3.0) has been removed
from the GCC source tree.

Tensilica has contributed a port to the configurable and extensible
Xtensa microprocessor architecture.

January 14, 2002

Richard Stallman has changed the licensing of the Classpath AWT
implementation to match the licensing of the rest of Classpath. This
means that the only remaining barrier to AWT for libgcj is manpower.
Work has already begun to merge the Classpath and libgcj AWT
implementations.

Geoffrey Keating of Red Hat has donated support for Sanyo's Stormy16
CPU core.

August 20, 2001

GCC 3.0.1 has been released.

August 16, 2001

The gcc.gnu.org machine will be moving to a new physical location with
significantly improved bandwidth and backup on Saturday, August 18th.
The move is expected to take less than two hours; DNS will be adjusted
accordingly, the new IP address will be 209.249.29.67.

Tom Tromey has moved the Java mailing lists and web pages to gcc.gnu.org.
Now the GCJ project is fully integrated into GCC.

January 21, 2001

Neil Booth has contributed improvements to the dependency
generation machinery of the C preprocessor, adding some new
functionality and correcting some undesirable behaviour of the old
implementation.

January 15, 2001

The GCC development tree is in a slush state, with the goal of
stabilization for branching for GCC 3.0.

December 19, 2000

The runtime library for the
Java front end, libgcj, has been moved into the GCC
tree. This means that a separate download will no longer be required for
Java support.

December 4, 2000

Nick Clifton of Red Hat has donated support for the Intel XScale
architecture.

November 26, 2000

The C, C++ and Objective C front ends now use the integrated
preprocessor exclusively; their independent ability to tokenize an
input stream has been removed.

November 18, 2000

G++ is now using a new C++ ABI that represents classes more compactly,
uses shorter mangled names, and is optimized for higher run-time
performance. The implementation of the new ABI was contributed by
Mark Mitchell, Nathan Sidwell, and Alexander Samuel of CodeSourcery,
LLC.

November 18, 2000

GCC now supports ISO C99 declarations in for loops
(for (int i = 0; i < 10; i++) /* ... */). These are
only supported in C99 mode (command-line options
-std=gnu99 or -std=c99), which will be the
default in some future release, but not in GCC 3.0.

November 14, 2000

Michael Matz has donated an implementation of the Lengauer and Tarjan
algorithm for computing dominators in the CFG. This algorithm can
be significantly faster and more space efficient than our older
algorithm. For one particularly nasty CFG from complex C++ code
(more than 77000 basic blocks) compile time dropped from more than
40 minutes to around 25 minutes. Memory consumption was also
dramatically decreased.

November 13, 2000

We have now switched the C++ front end to use
libstdc++-v3, a new implementation of the ISO
Standard C++ Library which brings significant changes and improvements
over our ``old'' library. There still be may some rough edges, but we
are addressing problems as soon as we learn about them -- please help
testing and improving ``your'' ports!

November 13, 2000

GCC now supports two more ISO C99 features:

The builtin boolean _Bool type and the
<stdbool.h> header. (GCC 2.95 had a non-conforming
<stdbool.h> header; code that used that header will
not be binary compatible with code using the new conforming
version.)

Mixed declarations and code in compound statements.

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 back end for the Arm and Thumb
processors.

The new back end 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 Committee 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
front end destined to implement the latest standard. See
this page for its current
status.

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.

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.

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.

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.

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).

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.

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.

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.

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 targeted
at high end Macs as well as high end embedded applications.

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!

For questions related to the use of GCC,
please consult these web pages and the
GCC manuals. If that fails,
the gcc-help@gcc.gnu.org
mailing list might help.
Comments on these web pages and the development of GCC are welcome on our
developer list at gcc@gcc.gnu.org.
All of our lists
have public archives.

Copyright (C)
Free Software Foundation, Inc.
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.